1

我正在用 pcap 编写 ac 嗅探器(在我自己录制的 .cap 流上)。我需要检测带有 802.1X 身份验证的 eap 数据包,但我不知道如何将它们与其他数据包区分开来。使用wireshark它似乎是LLC层中的一个字段(值888e),但我不知道如何找到llc是否存在。

这是一个eap数据包的例子

  000018006e48000000169e09a000cd8103000000000000000802d50074f06d40a6a3000cf635dfab000cf635dfab90a6aaaa03000000888e0103005f02008a001000000000000000cbd5c0958cc32b7b3ae762c43b41436059e54cb48f224d35718613838d9640644d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

多谢!

4

1 回答 1

2

准确地说,在以太网上,EAP-over-LAN (EAPOL) 数据包的以太网类型字段为 0x888e(根据 IEEE 标准 802.1X-2004 的第 7.2 节“用于 IEEE 802.3/以太网的 EAPOL MPDU 格式”),以及在使用 IEEE 802.2 LLC(例如 802.11)的网络上,EAPOL 数据包的 LLC 标头的 DSAP 为 0xAA,表示 SNAP,后跟一个 OUI 为 0x000000 的 SNAP 标头(表示“协议 ID 是以太网类型”)和 0x888e 的协议 ID(因为这是 EAPOL 的以太网类型值)。

因此,对于 802.11 上的数据包,检查数据帧(而不是管理或控制帧),然后查看 802.11 标头之后的 802.2 LLC 标头(所有 802.11 数据帧都有一个 802.2 LLC 标头),然后检查 DSAP 0xAA,如果您看到,请检查 802.2 标头后面的 SNAP 标头,以获取 0x000000 的 OUI 和 0x888e 的协议 ID。

于 2012-05-14T18:28:08.263 回答