了解wireshark输出中的DNS

时间:2013-09-27 02:27:19

标签: dns wireshark

我使用wireshark从一些站点收集数据,然后使用tcpdump将其作为文本文件。对于我正在开发的项目,我想要计算访问特定网站涉及多少DNS解析,以及DNS响应的性质。问题是我不太了解wireshark的输出或如何解释它以找到我正在寻找的东西。例如,这是一行:

  

21:08:05.454852 IP 10.0.0.2.57512> ord08s09功能于f21.1e100.net.https:   标志[。],seq 1:1419,ack 55,win 65535,options [nop,nop,TS val   1348891674 ecr 2473250009],长度1418

这意味着不同的部分是什么意思,我想要的数据是什么样的?我担心我可能会在不知情的情况下错误地使用Wireshark。

1 个答案:

答案 0 :(得分:4)

  

我使用wireshark从一些网站收集数据,然后使用tcpdump将其作为文本文件。

大多数使用这两种工具的人都会将它们用于相反的目的。 :-)即,他们使用tcpdump将流量捕获到文件中,然后使用Wireshark读取文件。如果您只使用Wireshark来捕获流量,这可能是过度的 - 您可以使用dumpcap或甚至tcpdump执行相同的操作。

您显示的输出是文本输出,因此,如果您“使用tcpdump将其作为文本文件”,则输出来自 tcpdump ,而不是来自 Wireshark ; Wireshark的文本输出看起来会有所不同。如果您“使用wireshark从某些站点收集数据,然后使用tcpdump将其作为文本文件”,则Wireshark的输出为pcap filepcap-ng file,这是一个二进制文件,并且是完全未解释的原始数据。您的示例中的数据解释由tcpdump完成,而不是Wireshark。

输出结果是:

“21:08:05.454852”:数据包于21:08:05到达当地时间的一小部分。

“IP”:数据包是IPv4数据包。

“10.0.0.2.57512> ord08s09-in-f21.1e100.net.https”:数据包从IP地址10.0.0.2,端口57512到主机名为“ord08s09”的IP地址-in-f21.1e100.net“和”https“的端口,即端口443。

有关该行的其余部分的详细信息,请参阅tcpdump手册页和TCP的说明。

这里的关键点是 NOT DNS流量!它可能是“HTTP-over-SSL”或“https”流量。

在tcpdump中,DNS流量看起来像

11:06:25.247272 IP 10.0.1.3.50953 > 10.0.1.1.domain: 7088+ A? www.kernel.org. (32)
11:06:25.282723 IP 10.0.1.1.domain > 10.0.1.3.50953: 7088 3/0/0 CNAME pub.us.kernel.org., A 149.20.4.69, A 198.145.20.140 (85)

11:06:30.622744 IP 10.0.1.3.62767 > 10.0.1.1.domain: 2439+ A? e3191.c.akamaiedge.net.0.1.cn.akamaiedge.net. (62)
11:06:30.639279 IP 10.0.1.1.domain > 10.0.1.3.62767: 2439 1/0/0 A 184.85.109.15 (78)

“A?”表示正在为A记录执行查询; “CNAME”表示正在返回CNAME记录(即“www.kernel.org”是“pub.us.kernel.org”的别名,“A”表示正在返回A记录, IPv4地址。

在Wireshark或TShark中,它看起来像:

12.316361     10.0.1.3 -> 10.0.1.1     DNS Standard query 0xc2fa  A 1.courier-sandbox-push-apple.com.akadns.net
12.332894     10.0.1.1 -> 10.0.1.3     DNS Standard query response 0xc2fa  A 17.149.34.59 A 17.149.34.61 A 17.149.34.62 A 17.149.34.63 A 17.149.34.57

15.163941     10.0.1.3 -> 10.0.1.1     DNS Standard query 0x168c  A www.gnu.org
15.176266     10.0.1.1 -> 10.0.1.3     DNS Standard query response 0x168c  CNAME wildebeest.gnu.org A 208.118.235.148

如果您只是尝试捕获DNS数据包,则应使用捕获过滤器,例如“端口53”或“端口域”,以便丢弃非DNS流量。该过滤器将与Wireshark,TShark或tcpdump一起使用(因为它们使用相同的libpcap代码进行数据包捕获)。