【网络】Wireshark练习3 analyse DNS||ICMP and response message
ip.addr == 172.16.0.100 && ip.addr == 172.16.0.5 && (dns || icmp)
包号 22–31 之所以被选中,是因为在整个抓包文件里,与执行 ping cat.inx251.edu.au
这一事件相关的所有报文,恰好连续出现在第 22 到第 31 条记录中。具体分布如下:
-
DNS 查询/响应(包 22–23)
- 包 22:客户端向 DNS 服务器发起域名解析请求(DNS Query)。
- 包 23:DNS 服务器返回解析结果(DNS Response)。
这两条报文完成了把域名cat.inx251.edu.au
转换为 IP 的过程。
-
ICMP Echo 请求(包 24、26、28、30)
- 客户端向解析到的 IP(172.16.0.5)发送 4 次 ICMP Echo Request(Type 8)。
-
ICMP Echo 回复(包 25、27、29、31)
- 目标主机对每次请求分别回应 ICMP Echo Reply(Type 0),共 4 条。
因为这连贯的 DNS + 4 次请求/4 次应答正好从第 22 条到第 31 条,因此我们把表 6 填成 “22–31”。如果在 Wireshark 中用过滤器:
ip.addr == 172.16.0.100 && ip.addr == 172.16.0.5 && (dns || icmp)
就可以一次性看到这 10 条报文,确认它们就是与这次 ping 操作直接相关的全部网络交互。
下面我示范在 Wireshark 中如何一步步定位 Event 3(ping cat.inx251.edu.au
)所需的所有报文,并把它们填到 Table 6–9 中。
1. Table 6:本次事件涉及的所有报文序号
Table 6 | Packet Numbers |
---|---|
22 – 31 |
定位方法:
-
在 Wireshark 打开
client_server.pcap
,在过滤栏输入ip.addr == 172.16.0.100 && ip.addr == 172.16.0.5 && (dns || icmp)
这样会同时显示 DNS 查询/响应 和 ICMP 请求/回复,且只看客户端 172.16.0.100 和服务器 172.16.0.5 之间的流量。
-
观察列表,你会看到连续的序号 22 到 31:
- 22–23:DNS 查询/响应
- 24–31:四个 ICMP Echo Request/Reply 对
2. Table 7:DNS 查询报文细节
Table 7 DNS Query | |
---|---|
Packet Number | 22 |
Source IP address | 172.16.0.100 |
Destination IP address | 172.16.0.5 |
Source port number | 62072 |
Destination port number | 53 |
Type of DNS query (DNS lookup type) | A |
定位方法:
-
在已有的过滤器下 (
dns || icmp
),挑出第一个 DNS 报文 —— 包号 22,它的 Info 列会显示 “Standard query A cat.inx251.edu.au”。 -
选中第 22 包,Packet Details 展开:
- UDP 层:Src Port = 62072(客户端随机端口),Dst Port = 53(DNS)。
- Internet 层:Src IP = 172.16.0.100,Dst IP = 172.16.0.5。
- DNS 层 Question:Query Type = A(请求IPv4地址)。
3. Table 8:DNS 响应报文细节
Table 8 DNS Response | |
---|---|
Packet Number | 23 |
Source IP address | 172.16.0.5 |
Destination IP address | 172.16.0.100 |
Source port number | 53 |
Destination port number | 62072 |
DNS response (the host IP address) | 172.16.0.5 |
定位方法:
-
紧接着的 DNS 报文,包号 23,Info 中会有 “Standard query response A cat.inx251.edu.au → 172.16.0.5”。
-
在 Packet Details:
- UDP:Src Port = 53 → Dst Port = 62072
- IP:Src = 172.16.0.5 → Dst = 172.16.0.100
- DNS Answer:Address = 172.16.0.5。
4. Table 9:ICMP 请求/应答报文细节
Table 9 | ICMP Request | ICMP Reply |
---|---|---|
Packet Numbers | 24, 26, 28, 30 | 25, 27, 29, 31 |
Source IP address | 172.16.0.100 | 172.16.0.5 |
Destination IP address | 172.16.0.5 | 172.16.0.100 |
ICMP – Type | 8 | 0 |
ICMP – Code | 0 | 0 |
定位方法:
-
继续使用相同过滤器
dns || icmp
,下拉到包号 24 开始,就能看到一系列 ICMP 报文。 -
查看每个报文的 Info 或 Packet Details:
- Echo Request(Type 8)出现在包号 24、26、28、30,源 IP 172.16.0.100 → 目的 172.16.0.5;Code=0。
- 对应的 Echo Reply(Type 0)是包号 25、27、29、31,源 IP 172.16.0.5 → 目的 172.16.0.100;Code=0。
为什么这样做
- Table 6 只要在客户端和服务器之间同时包含 DNS 或 ICMP,就能一次性得到 22–31 这些相关包。
- Table 7/8 通过 DNS 报文的 Query/Response 标志(Wireshark 中 Info 或 DNS 层字段)迅速区分查询和应答,并读出 IP/端口/类型。
- Table 9 利用 ICMP 的 Type 字段(8=Echo Req, 0=Echo Reply)和 IPv4 层 Source/Destination,就能将所有 ping 往返对一一对应。
掌握好以下三点,就能答出所有与 ping + DNS 相关的表格:
- 过滤器:
ip.addr == X && ip.addr == Y && (dns || icmp)
- 协议层级:UDP→DNS 层看 Query/Answer、Type 字段;IP→看 Src/Dst;ICMP→看 Type/Code;
- 序号对应:抓包中 DNS 紧跟在握手后、ICMP 紧跟 DNS 后,总是连成一段连续的编号。