如何为 Python 中网络上的每个设备提取 IP 地址和物理地址 a arp table

How to extract the ip address and physical address a arp table for each device on a network in Python

我写了这段代码,它在网络上显示 arp table,它在多行上显示网络上每个设备的信息。我想知道是否有办法为每个设备提取 IP 地址 物理地址,因为它们是我唯一需要的部分.这是我用来获取 ARP table:

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

我是 Python 的新手,所以我需要有关如何从 table 中获取信息的帮助,我们在这些代码为 运行.

时获取这些信息

你可以把白线分开space,保留你感兴趣的部分。

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)