Python检查在线IP地址

时间:2014-02-05 16:57:28

标签: python python-3.x ip lan

仅使用标准python 3库中的模块,是否可以在计算机所使用的同一局域网中找到所有在线IP地址及其主机名?如果是这样,有人可以提出这方面的工作实施吗?我一直在寻找几个小时,但我找不到这个的实现。

任何实施/建议都将深受赞赏

我目前没有任何此项目的实施

2 个答案:

答案 0 :(得分:1)

要查找本地连接的IP地址,请使用arp -a并保存到文件。

import os
os.system('arp -a > ipaddresses.tmp')
f = open('ipaddresses.tmp', 'r')

现在我们有一个文件列出了我们需要使用正则表达式提取它们的所有ip地址,因为那里有很多其他垃圾。

ip = f.findall( r'[0-9]+(?:\.[0-9]+){3}', s )

现在你有一个ip地址数组,你可以ping通信息。

希望有所帮助。

答案 1 :(得分:0)

这个问题有很多依赖,首先我要指出每个操作系统都有本机调用IP和主机名位置,linux,windows,osx,但我设法挖掘一篇文章,这似乎是通用的。 http://houseoflaudanum.com/navigate/snippets/discovering-local-ip-addresses-in-python/