我想将MAC地址00163e2fbab7(存储为字符串)转换为其字符串表示形式00:16:3e:2f:ba:b7.最简单的方法是什么?
我试图为WPA握手数据包计算MIC,但不幸的是,它失败了。更确切地说,我采用了802.1x数据包(如规范所述)。
MIC = HMAC_MD5(MIC Key, 16, 802.1x data)
Run Code Online (Sandbox Code Playgroud)
这是相关的代码:
mic = hmac.new(ptk[0:16],data)
print "mic: " + mic.hexdigest() + "\n"
Run Code Online (Sandbox Code Playgroud)
从hmac库获取hmac.new的位置:
import hmac,hashlib,binascii
Run Code Online (Sandbox Code Playgroud)
显然,用于加密的密钥包括成对的Transcient密钥的前16个字节(即所谓的密钥确认密钥)。PTK由名为cowPatty的程序确认。因此,我可以排除这两个因素是错误的。这是我的802.1x数据,由十六进制值0103引入:
01030077fe010a001000000000000000
01ae11df37f5fb100665ce0c849f5950
c0e7901da3224ddfc9e9434babad5512
73000000000000000000000000000000
00000000000000000000000000000000
00e8b4b90bfc3fd97b657afeb66262ae
940018dd160050f20101000050f20201
000050f20401000050f202
Run Code Online (Sandbox Code Playgroud)
Wireshark计算的MIC为:
e8b4b90bfc3fd97b657afeb66262ae94
Run Code Online (Sandbox Code Playgroud)
我计算的MIC为:
5492624bb538b52d6aa6261c692bd595
Run Code Online (Sandbox Code Playgroud)
不幸的是,我做什么都不重要,我永远无法计算相同的MIC。也许有些专家提供了宝贵的意见,我们将不胜感激!
最好的祝福!