着信および発信のネットワーク接続の数を監視したいです。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エントリに関する情報は以下で参照できます。ここ。