これがシナリオです。
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を自動的に見つける方法がわかりません。
コマンドラインに-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パケットで十分ではないと思われる場合は、その数を増やしてください。