ルーターとして使用するLinuxボックスがあります。
どの接続がどのくらいのデータを送受信したかを測定する方法は?
毎時間、次のようなものが欲しい。
src_addr src_port dst_addr dst_port proto packets bytes
10.1.2.3 34567 100.101.102.103 443 tcp 101 150 KiB
10.1.2.3 53 1.1.1.1 53 udp 21 11 KiB
10.1.2.4 45678 100.101.102.103 443 tcp 452 220 KiB
10.1.2.4 56789 200.201.202.203 25 tcp 105 50 KiB
10.1.2.4 53 1.1.1.1 53 udp 20 10 KiB
しかし、何千行もあります。
理想的にはデータベースに直接書き込まれますが、.csvから時間ごとにインポートするのは問題ありません。
時間ごとに集計されたデータを提供できる効率的な既存のLinuxツールはありますか?
それともCとlibpcapを使って自分で構築する必要がありますか?
答え1
iftopは接続報告のための優れたソリューションです。他にも多くの存在がある:iptraf-ng、nethog、bmon...
アレクサンダーによるとiftopを使ってテキストを出力する方法を説明しました。、あなたの解決策は次のとおりです
iftop -t -s 3600 > log-(date +\%Y\%m\%d\%H\%M\%S).txt
crontabで毎時間。