在网络抓包中,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助手提供,问题来源于学员提问




