用于查找 UDP 数据包发送到的地址的脚本?

用于查找 UDP 数据包发送到的地址的脚本?

场景如下。

我有一个 IP 地址 1.2.3.4 端口 2000,正在向一个未知 IP 发送 udp 数据包。我想找到这个未知 IP,这样我就可以用 iptables 阻止它。

有没有办法用脚本来实现?现在我使用以下脚本手动实现:

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

我不确定如何将其放入脚本并自动找到目标 IP。

答案1

只需使用 tshark 通过在命令行中添加 -Tfields -e ip.dst_host 即可仅输出相关字段:

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

如果您认为 1000 个数据包不足以将一个数据包发送到此端口,请增加该数字。

相关内容