wireshark
我可以通过and中的许多协议进行过滤tshark
,如下所示:
sudo tshark -i <My_Interface> -Y '(ip.addr == <My_IP> and isakmp)'
如何在这样的tcpdump
命令中添加协议过滤器?
sudo tcpdump -i any -nn host <My_IP>
wireshark
我可以通过and中的许多协议进行过滤tshark
,如下所示:
sudo tshark -i <My_Interface> -Y '(ip.addr == <My_IP> and isakmp)'
如何在这样的tcpdump
命令中添加协议过滤器?
sudo tcpdump -i any -nn host <My_IP>
最后你会使用过滤器。这些被称为伯克利包过滤器或简称 BPF。在您的示例中,您可以这样做:
tcpdump -nn -vvv -e -s 0 -X -c 100 -i eth0 host 1.2.3.4 and \(proto 17 and port 500\)
这将使用第 3 层协议 17 (UDP)和第 4 层端口 500 捕获进出1.2.3.4 的流量。您还可以使用友好名称,如果它们出现在如下所示:
/etc/protocols
/etc/services
host 1.2.3.4 and \(proto udp and port isakmp\)
您可以使用更多的 BPF 来限制诸如协议版本之类的内容,以仅捕获 IPv6 (
ip6
) 或捕获在 TCP 数据包中设置了 SYN 标志的流量 (tcp[tcpflags] == tcp-syn
)。如果你需要一个实时工具,我创建了https://tcpdump101.com,它可以让你构建你的 tcpdump 语法和 BPF,这样你就可以复制和粘贴它。希望它会帮助你。
经过一些变通方法后,我可以创建自己的过滤器: