如何在Python中提取网络上每个设备的ip地址和物理地址arp表



我写了这段代码,它在网络上显示arp表,并在网络上每个设备的多行上显示信息。我想知道是否有办法提取每个设备的IP地址物理地址

for device in os.popen('arp -a'):
print(device)

我对Python还很陌生,所以我需要帮助了解如何从运行这些代码时得到的表中获取信息。

您可以在空白处分割线条,并保留您感兴趣的部分。

for device in os.popen('arp -a'):
# example output: xxxx (192.168.1.254) at xx:xx:xx:xx:xx:xx [ether] on wlp..
_, ip, _, phy, _ = device.split(maxsplit=4)
# remove the paranthesis around the ip address
ip = ip.strip('()')
print(ip, phy)

最新更新