如何设置 Wireshark 仅记录 DNS 请求?

如何设置 Wireshark 仅记录 DNS 请求?

这有效:

tethereal -i eth0 -w /root/mycapture.pcap

但它会捕获每个数据包。我只需要捕获 DNS 请求。这可能吗?服务器是 Linux。

另一件事是:是否可以通过网络将文件保存到另一台计算机?服务器只有一个小硬盘,不足以容纳捕获文件。

谢谢。

答案1

使用指定捕获过滤器-f "port 53"

附注:tshark现在是,不再是了tethereal


要在本地捕获但将数据存储在远程服务器上,请使用-/dev/stdout作为输出文件,并将命令传送至ssh

tshark -i eth0 -f "port 53" -l -w - | ssh otherhost "cat > foo.pcap"

tcpdump -i eth0 -f "port 53" -l -w - | ssh otherhost "cat > foo.pcap"

您也可以做相反的操作——在远程服务器上捕获数据但在本地存储数据:

ssh otherhost "tshark -i eth0 -f "port 53" -l -w -" > foo.pcap

ssh otherhost "tcpdump -i eth0 -f "port 53" -l -w -" > foo.pcap

笔记:总是像这样存储数据时指定捕获过滤器。如果不指定,每个数据包都会导致无限循环。

相关内容