现在我正在编写基于私有网络中的scapy的EAP-MD5身份验证测试脚本。
但是,我在“响应md5-challange”状态时失败了'密码失败'。
我的脚本代码如下。在此例程中,参数'pkt'来自请求的MD5-Challange EAP数据包
def response_md5_handler(pkt):
global _PASSWD
# .. skip ..
eth = pkt.getlayer(Ether)
eap = pkt.getlayer(EAP)
raw = pkt.getlayer(Raw)
mypass = _PASSWD
mychallegne = str(eap.id) + mypass + raw.load[1:]
resp = md5(mychallegne ).digest()
resp = chr(len(resp)) + resp
mypkt = _mk_eap_resp_md5(eth.dst, eap.id, resp )
sendp(mypkt)
早期阶段(EAPOL开始,请求身份处理,响应标识)没问题,我已经检查了'PASSWD'字符串。
你能提供一些指导或提示吗?我的问题是什么?
答案 0 :(得分:0)
我自己找到了解决方案。 在下面的代码中,
mychallegne = str(eap.id) + mypass + raw.load[1:]
我为'eap.id'犯了错误。处理。 我应该使用str()函数的包("!B",eap.id)。