对于你们大多数人来说,这可能是一个愚蠢的问题,但我正面临这个问题;
我正在使用 scapy 在网络上捕获一个 mac 地址,我通过这种方式将此 mac 地址转换为“\x00\x21\x23\x24\x25”:
...
b = p.sprintf("%Dot11.addr2%")
print "Sending to this MAC Address",b
#Here, the mac address looks like 00:00:00:00:00:00
dstmac = str('\\x'+b.replace(':','\\x'))
#Now, the mac address looks like this:
"\x00\x00\x00\x00\x00\x00"
sendp(dst=dstmac,blablablabla)
...
当此脚本通过网络发送 mac 时,它会发送以十六进制编码的实际 \x(以及所有后续数字),而不是发送 00 00 00 00 00 00。
通常,您可以这样使用它,这很好:"sendp(dst="\x00\x00\x00\x00\x00\x00",blablablabla)
我认为我在进行此字符串操作或编码时做错了。
对此的任何输入都会有所帮助!
谢谢 !