src / dst(およびUDPおよびTCPポート)でIPトラフィックを記録する方法は?

src / dst(およびUDPおよびTCPポート)でIPトラフィックを記録する方法は?

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

関連情報