特定のUDPポートで受信したパケットの統計を取得する方法

特定のUDPポートで受信したパケットの統計を取得する方法

私のLinuxコンピュータにはリッスンしているUDPポートがありますが、アプリケーションはそのポートからパケットを受信できないようです。このポートで受信されたパケット数を表示するために使用できるツールはありますか?

答え1

使用tcpdump。たとえば、自分のコンピュータでトラフィックを検索するインターフェイスはeth0です。この場合、ポート123を確認したいと思います。

jed@myhost:~$ sudo tcpdump -nei eth0 udp port 123

お使いのコンピュータのインターフェイスが何であるかわからない場合は、そのインターフェイスをifconfig -a使用またはインポートできますip link(権限によってはsudoが必要になる場合があります)。

答え2

iptablesを使用して記録できます。

iptables -A INPUT -p udp -j LOG --log-prefix "udp connection: "

答え3

特定のプロトコルのカウンタのみが必要な場合は、そのパケットを許可するiptablesルールを作成して、そのルールに一致するパケットとバイト数を追跡​​できます。

UDPポート44でパケットを一致させたい場合、iptablesコマンドは次のようになります。

iptables -A INPUT -i eth0 -p udp --dport 44 -j ACCEPT

このパケットの詳細を知りたい場合は、Jed Danielsが言ったように、tcpdumpこれが最善の選択になります。

tcpdump -nei eth0 udp port 44

関連情報