在网络抓包中,eth.type
是以太网帧的一个字段,用于指示上层协议类型。它通常用于过滤捕获到的数据包,以识别特定类型的协议,如 IPv4、IPv6、ARP 等。
1. 使用 tcpdump 过滤 eth.type
如果你使用 tcpdump
,可以使用 ether[12:2]
表达式来引用以太网类型字段(即第13和14个字节)。这是一个常用的表达方式,其中 [12:2]
指的是从第12个字节开始的两个字节(以太网头部长度为14字节,其中前12字节是源和目的 MAC 地址)。
示例:
捕获所有 IPv4 数据包:
sudo tcpdump -i eth0 'ether[12:2] = 0x0800'
捕获 ARP 数据包:
sudo tcpdump -i eth0 'ether[12:2] = 0x0806'
捕获 IPv6 数据包:
sudo tcpdump -i eth0 'ether[12:2] = 0x86dd'
2. 使用 Wireshark 过滤 eth.type
在 Wireshark 中,可以直接使用 eth.type
来设置过滤条件。Wireshark 将自动解析以太网帧,并允许你通过该字段进行筛选。
示例:
捕获所有 IPv4 数据包:
eth.type == 0x0800
捕获 ARP 数据包:
eth.type == 0x0806
捕获 IPv6 数据包:
eth.type == 0x86dd
常见的 Ethertype 值
Ethertype | 描述 |
---|---|
0x0800 | IPv4 |
0x0806 | ARP |
0x86DD | IPv6 |
通过这些方法,你可以根据 eth.type
字段有效地过滤出你关心的报文类型。
内容由零声教学AI助手提供,问题来源于学员提问