Linux で受信または送信ネットワーク接続をカウントする方法

Linux で受信または送信ネットワーク接続をカウントする方法

着信および発信のネットワーク接続の数を監視したいです。netstatとを使用して合計数を取得できますwc -lが、着信がいくつで発信がいくつであるかを知りたいのです。

答え1

ip_conntrack を使用することでこれを実現できます。

modprobe ip_conntrack
cat /proc/net/ip_conntrack

送信元アドレスがインターフェースのアドレスと等しい確立された接続が送信接続です。

宛先アドレスがインターフェースのアドレスと等しい確立された接続が着信接続です。

# Number of outgoing connections
cat /proc/net/ip_conntrack | grep "ESTABLISHED" | grep "src=xxx.xxx.xxx.xxx" | wc -l

# Number of incoming connections
cat /proc/net/ip_conntrack | grep "ESTABLISHED" | grep "dst=xxx.xxx.xxx.xxx" | wc -l

(xxx.xxx.xxx.xxx は明らかにインターフェースの IP アドレスです)

システム上で実行されているアプリケーション間では、プロセス間通信のための接続が発生することに注意してください。

ip_conntrackエントリに関する情報は以下で参照できます。ここ

答え2

iftop を使用すると、すべての着信接続と発信接続を監視できます。

http://www.ex-parrot.com/pdw/iftop/

統計を取りたい場合

http://www.ntop.org/products/ntop/

関連情報