Python列出本地网络上的所有设备,以及ip地址

2024-06-26 14:05:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图以某种方式获得一个网络上所有连接设备的列表,然后用它显示它们的ip地址。我想让它表现出这样的东西:

computername - 192.168.0.0
computer2 - 192.168.100.43

我试过nmap,过了很长时间我就可以使用它了,但它不起作用。在

我使用的是python3.6.5,windows8.1。

如果有人能回答,那会有很大帮助。在

编辑:我以前确实去了here,但我不知道如何使用该方法列出名称和ip。


Tags: 方法ip网络名称编辑列表here地址
1条回答
网友
1楼 · 发布于 2024-06-26 14:05:22

您可以使用命令arp -a并获取os.popen的结果:

import os, re
full_results = [re.findall('^[\w\?\.]+|(?<=\s)\([\d\.]+\)|(?<=at\s)[\w\:]+', i) for i in os.popen('arp -a')]
final_results = [dict(zip(['IP', 'LAN_IP', 'MAC_ADDRESS'], i)) for i in full_results]
final_results = [{**i, **{'LAN_IP':i['LAN_IP'][1:-1]}} for i in final_results]

样本输出:

^{pr2}$

arp -a给出执行该命令的计算机网络上所有设备的完整列表。在

相关问题 更多 >