详解EAPOL的报文格式(内含截图)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
详解EAPOL的报文格式
EAPOL是802.1x协议定义的一种报文封装格式,主要用于在客户端和设备端之间传送EAP 协议报文,以允许EAP协议报文在LAN上传送。
PAE Ethernet Type:表示协议类型,802.1x分配的协议类型为0x888E。
Protocol Version:表示EAPOL帧的发送方所支持的协议版本号。
Type:
EAP-Packet(值为00),认证报文数据,用于承载认证信息;
EAPOL-Start(值为01),认证开始报文,用于主动发起认证过程;
EAPOL-Logoff(值为02),下线请求报文,用于用户主动发起下线请求;
EAPOL-Key(值为03),密钥信息报文;
EAPOL-Encapsulated-ASF-Alert(值为04),用于支持ASF(Alerting Standards Forum)的Alerting消息。
Length:表示数据长度,也就是“Packet Body”字段的长度。如果为0,则表示没有后面的数据域。
Packet Body:根据不同的Type有不同的格式。
其中,EAPOL-Start,EAPOL-Logoff和EAPOL-Key仅在客户端和设备端之间存在;在设备端和认证服务器之间,EAP-Packet报文会被重新封装承载于RADIUS协议上,我们称之为EAPoR,以便穿越复杂的网络到达认证服务器;EAPOL-Encapsulated-ASF-Alert封装与网管相关的信息,例如各种警告信息,由设备端终结。
注意,当是EAPOL-Start或EAPOL-Logoff类型报文时,并不需要PacketBody有具体的内容。
Packet Body附-----PacketBody字段的详细构成:
当EAPOL数据包的Type域为EAP-Packet时,Packet Body为EAP数据包内容.
Code:指明EAP包的类型,一共有4种:Request,Response,Success,Failure。
Identifier:辅助进行Response和Request消息的匹配。设备通常通过该字段来验证报文是否合法。如果该字段在状态机中所保存的值不一样则会认为非法,直接丢弃。
Length:EAP包的长度,包含Code、Identifier、Length和Data的全部内容。
Data:EAP数据信息,内容格式由Code决定。
Success和Failure类型的包没有Data域,相应的Length域的值为4。(现在也有利用该DATA 域来传送成功及失败信息的,如认证失败的原因可以通过DATA域回传给客户端,客户端软件将其解析出来显示给用户).
Type:指出EAP的认证类型。其中,值为1时,代表Identity,用来查询对方的身份;值为4时,代表MD5-Challenge,类似于PPP CHAP协议,包含质询消息;值为18时,代表eap-sim 认证;值为25时,代表PEAP认证
Type Data:Type Data域的内容随不同类型的Request和Response而不同。