ネットワークポートごとのトラフィック統計


15

いくつかのネットワークポート(TCPとUDP)で互いに通信する2つのアプリケーションを備えた2つのマシンがあります。送受信するトラフィックをカウントしたい。全体の数だけでなく、1日あたりのポートごとのマシンごとの統計情報が必要です。darkstatを試しましたが、1日あたりの統計情報は提供されず、全体的なカウンターのみが提供されます。

そのトラフィックをカウントできる他の方法はありますか(その2つのマシン間にプロキシまたはゲートウェイを配置できます)。

回答:


16

iptablesを使用すると、各ルールがトリガーされた回数に関する統計情報を取得できるため、対象のポート(ポート20とポート80など)にLOGルールを追加できます。

iptables -A INPUT -p tcp --dport 22
iptables -A INPUT -p tcp --dport 80

その後

iptables -n -L -v

このポートを介して送信されたパケット数とバイト数が表示されます。もちろん、興味のあるポートを出力から解析する必要があります。

正確な値が必要な場合は、-xを追加します。

iptables -n -L -v -x

4
LOGルールを設定する必要はありません(ログファイルがあふれます)。ルールがトリガーされる回数をカウントするだけです。
ジル 'SO-悪であるのをやめる

4
確かに。ルールにはアクションが必要ありません。学ぶための有用な教訓:ルール-Jは会計に適しています。
アレクシオス


2

iptables構成にアカウンティングルールを追加できます。これらはESTABLISHEDおよびRELATEDトラフィックを受け入れる前に発生する必要があります。そうしないと、通過するトラフィックをカウントできなくなります。Webトラフィックをカウントするには、次のようなルールを試してください。

iptables -A INPUT -p tcp --dport 80 

たくさんある場合は、会計チェーンを作成して、他のチェーンから隔離してカウンターを報告し、ゼロにすることができます。

Shorewallのは、ファイアウォール、あなたが簡単にあなたのルール・セットに会計ルールを追加することができます。


1

出力トラフィック統計を含めることを忘れないでください。

# Port 80 (HTTP).
iptables -A INPUT -p tcp --dport 80
iptables -A OUTPUT -p tcp --sport 80

# Port 443 (HTTPS).
iptables -A INPUT -p tcp --dport 443
iptables -A OUTPUT -p tcp --sport 443


iptables -n -L -v
iptables -n -L -v -x


iptables -n -L -v -x | grep -i "Chain\|:443\|:80"

Chain INPUT (policy DROP 357 packets, 22828 bytes)
 1286265 75076978 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:80
 1305378 75018232 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:443

Chain OUTPUT (policy ACCEPT 303516 packets, 94716311 bytes)
     442   255112        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:80
      46    10515        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:443

0

tcpdumpを利用して、

tcpdump -i any -nnn

上記のコマンドの出力には、タイムスタンプ、src / dest IPアドレス、ポート、およびパケット長が含まれます。これらの情報を使用すると、適切に記述されたスクリプトによって簡単に目標を達成できます。


0

宛先IPごとの使用量が必要かどうかは明確ではありませんが、vnstatはインターフェースごとのトラフィック使用量を記録するための便利なツールです。インストールしてから、vnstat -u -i eth0監視する各インターフェイスに対して実行します。次に、1日あたりの使用量を取得しますvnstat -i eth0 -d


1
vnstatポートごとにstatを取得できるとは思わない...または間違っていますか?
-pbm

1
@pbmああ、あなたはTCP / UDPポートを意味します。いいえ、vnstatはそれを行いません。
mgorven
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.