如何在wireshark中过滤只看由我的计算机发送/接收的DNS查询?

20

我刚接触Wireshark并试图编写简单的查询语句。为了查看只从我的计算机发送或接收到的DNS查询,我尝试了以下操作:

dns and ip.addr==159.25.78.7

159.25.78.7是我的IP地址。当我查看筛选结果时,看起来似乎我已经找到了,但我想确认一下。那个筛选器是否确实能做到我想找到的东西?我有些怀疑,因为在筛选结果中,我也只看到另外一个协议为ICMP且信息为“目标不可达(端口不可达)”的结果。

有人能帮我吗?

谢谢。


2
尝试:dns and ip.addr==127.0.0.1 - Nir Alfasi
@alfasin 为什么我要使用本地主机名而不是我的 IP 地址?我的过滤器出了问题吗? - yrazlik
@alfasin 当我尝试使用那个过滤器时,没有任何东西被列出。 - yrazlik
你的问题标题有误导性... 你已经知道如何过滤,你的问题在于无法到达的目的地。这可能会有所帮助:http://www.wildpackets.com/resources/compendium/tcp_ip/unreachable - Nir Alfasi
4个回答

17

我会查看数据包捕获,并查看是否有任何记录,以验证过滤器是否正常工作并消除任何疑虑。

话虽如此,请尝试使用以下过滤器,并查看您是否获得了您认为应该获得的条目:

dns and (ip.dst==159.25.78.7 or ip.src==159.57.78.7)

此过滤器将仅显示来自159.57.78.7或发往159.25.78.7的DNS流量。


1
谢谢,看起来你的过滤器和我的一样,因为ip.addr同时指代源地址和目的地址。 - yrazlik

11

你可以使用一个非常简单的CaptureFilter,而不是使用DisplayFilter,如下:

port 53

请在CaptureFilters维基页面中查看“仅捕获DNS(端口53)流量”的示例。


3

使用这个过滤器:

(dns.flags.response == 0) and (ip.src == 159.25.78.7)

这个查询只会显示来自你的IP地址发起的DNS查询。

0

您可以通过添加过滤器udp==53来捕获所有DNS查询


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接