web-dev-qa-db-ja.com

udpパケットが送信されているアドレスを見つけるためのスクリプト?

これがシナリオです。

1つの不明なIPにudpパケットを送信するIPアドレス1.2.3.4ポート2000があります。 iptablesでブロックできるように、不明なIPを見つけたいと思います。

スクリプトでそれを行う方法はありますか?今は手動でやっています

tshark -i eth1 -f "net 1.2.3.4 and src port 2000"

これをスクリプトにパイプして、宛先IPを自動的に見つける方法がわかりません。

4
Bob

コマンドラインに-Tfields-e ip.dst_Hostを追加して、tsharkを使用して問題のフィールドのみを出力するだけです。

tshark -i eth1 -Tfields -e ip.dst_Host -f "net 1.2.3.4 and src port 2000"

最初のオカレンスのみを取得するには、少数のパケットのみを収集し、ヘッドを通過します。

tshark -i eth1 -Tfields -e ip.dst_Host -f "net 1.2.3.4 and src port 2000" -c 1000 | head -1

このポートに1つのパケットを送るのに1000パケットで十分ではないと思われる場合は、その数を増やしてください。

4
Jon Lasser