src / dst(およびUDPおよびTCPポート)でIPトラフィックを記録する方法は?
各間隔(おそらく毎時間)について、次のような内容を見たいと思います。
proto, src, dst, packets, octets
ICMP, 192.168.1.3, 2.3.4.5, 34, 483
TCP, 192.168.1.3:34821, 2.3.4.5:80, 123, 23408
TCP, 192.168.1.3:33812, 5.6.7.8:22, 201, 2039
TCP, 192.168.1.3:53, 1.1.1.1:53, 23, 3400
UDP, 192.168.1.3:53, 1.1.1.1:53, 323, 23403
ゲートウェイ/ルーターボックスの場合、1時間あたり数千回のラインが必要になると予想されます。
私はiptablesがトラフィックを計算できることを知っていますが、計算を始める前にアドレスとポートを知る必要があることを知っています。
一般的に使用される計算ソリューションはありますか?みんなIPトラフィック?
(私はネットワーク管理スイートの機能ではなく、低レベルのツール/技術を探しています。)
答え1
conntrack でバイト数とパケット数を取得できます。
カウンターを有効にするには、お支払いを設定してください。
#sysctl net.netfilter.nf_conntrack_acct=1
これにより、次のconntrack出力が表示されます。
#conntrack -L
tcp 6 431971 ESTABLISHED src=192.168.0.156 dst=192.168.0.1 sport=53474 dport=443 packets=11 bytes=1945 src=192.168.0.1 dst=192.168.0.156 sport=443 dport=53474 packets=12 bytes=5238 [ASSURED] mark=0 use=1
このコマンドを使用すると、カウンタをゼロにクリアできます。
#conntrack -L -z
これらのカウンタは接続ベースであることに注意してください。接続が終了すると、Conntrack エントリが削除されます。
詳しくはマニュアルページをご覧ください。
#man conntrack