在我的 Linux 系统上我捕获了这个以太网帧:
它由 62 个字节组成:
FF FF FF FF FF FF 00 12 3F 8C BB C2 00 54 E0 E0 03 FF FF 00 50 00
知道以太网类型“00 54”是什么吗?
这是我使用 tcpdump 得到的结果:
10:06:07.093666 IPX 00000000.00:12:3f:8c:bb:c2.0455 > 00000000.ff:ff:ff:ff:ff:ff.0455:ipx-netbios 50 0x0000:ffff ffff ffff 0012 3f8c bbc2 0054 e0e0 ........?....T..
0x0010: 03ff ff00 5000 1400 0000 00ff ffff ffff ....P...........
0x0020: ff04 5500 0000 0000 123f 8cbb c204 5500 ..U......?....U.
0x0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0050: 0157 4f52 4b47 524f 5550 2020 2020 2020 .WORKGROUP......
0x0060: 1eff ..
答案1
那不是以太网类型。
以太网帧可以有几个不同的标题格式– “以太网 II” 又名“DIX” 是最常见的,但它不是 IEEE 802 标准最初指定的。
在标准中802.2 格式(又名“LLC”),MAC 地址后面跟着一个 2 字节帧长度字段,后跟 3 字节的 LLC 头,其中包含两个“SAP”值(通常相同),表示 IEEE 分配的协议编号。
(区分这两种格式很容易 - 以太网 II“以太网类型”始终高于 0x0600,而 802.2“帧长度”始终低于 0x0600。)
FF FF FF FF FF FF destination MAC
00 12 3F 8C BB C2 source MAC
00 54 frame length (84 bytes)
E0 E0 03 LLC header
├─E0 DSAP (E0=NetWare)
├─E0 SSAP (E0=NetWare)
└─03 control
FF FF 00 50 00... data
在这种情况下,您正在查看一个 SSAP=0xE0、DSAP=0xE0 的帧,这表明 Novell网络接口卡。数据包数据从 开始FF FF ...
,这也符合通常的 NetWare IPX 数据包格式。
更新
10:06:07.093666 IPX 00000000.00:12:3f:8c:bb:c2.0455 > 00000000.ff:ff:ff:ff:ff:ff.0455: ipx-netbios 50 0x0000: ffff ffff ffff 0012 3f8c bbc2 0054 e0e0 ........?....T.. 0x0010: 03ff ff00 5000 1400 0000 00ff ffff ffff ....P........... 0x0020: ff04 5500 0000 0000 123f 8cbb c204 5500 ..U......?....U. 0x0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0050: 0157 4f52 4b47 524f 5550 2020 2020 2020 .WORKGROUP...... 0x0060: 1eff
根据您的 tcpdump 输出,它确实是 IPX,并且数据包正在套接字 0x0455 上发送,该套接字属于 Microsoft网络基本输入输出系统而不是任何 NetWare 协议。(IPX 套接字号有点像 UDP 端口号。)
IPX 上的 NetBIOS 的工作方式与 TCP/IPv4 上的 NetBIOS 完全相同 - 它处理主机名查找,处理“网络邻居”/“我的网络计算机”发现,最重要的是它承载 SMBv1 - 旧的 Windows 文件和打印机共享协议。
我不知道这个特定的数据包,但WORKGROUP
后面跟着 0x1E 通常表示“浏览器服务选举”——同样,这只是整个 LAN 计算机发现过程的一部分。(如果它是通过 UDP/IP 发送的,它将是一个完全正常的数据包,每天都会在 Windows LAN 上看到。)
我建议使用tcpdump -uw mypackets.pcap
Wireshark 并打开捕获的 .pcap 文件,它可以完全解码所有这些协议。
我还建议在设备上禁用 IPX。(同时检查设备是否启用了 AppleTalk – 也将其禁用。)