从ARP请求中获取MAC地址
你好,我正在尝试写一个Python脚本,从arp -n命令中获取MAC地址,但我一直在努力只提取出MAC地址。
现在的代码是:
for ipaddr in uip:
pid = Popen(["arp", "-n", ipaddr], stdout=PIPE)
s = pid.communicate()[0]
mac = re.search(r"(([a-f\d]{1,2}\:){5}[a-f\d]{1,2})", s)
print mac
uip在脚本开始时已经声明了。
当前代码的输出是:
<_sre.SRE_Match object at 0x7f18f0ea9690>
<_sre.SRE_Match object at 0x7f18f0ea9718>
<_sre.SRE_Match object at 0x7f18f0ea9690>
<_sre.SRE_Match object at 0x7f18f0ea9718>
None
<_sre.SRE_Match object at 0x7f18f0ea9718>
<_sre.SRE_Match object at 0x7f18f0ea9690>
<_sre.SRE_Match object at 0x7f18f0ea9718>
<_sre.SRE_Match object at 0x7f18f0ea9690>
<_sre.SRE_Match object at 0x7f18f0ea9718>
1 个回答
1
你想要的是那些被括号捕获的结果。你可以通过 mac.group
或 mac.groups
方法来访问这些结果。
与其用 print mac
,不如用 print mac.group(0) if mac else "没有结果"
。