【问题标题】:view other computers on the network programatically in Python在 Python 中以编程方式查看网络上的其他计算机
【发布时间】:2010-07-12 23:29:32
【问题描述】:

是否可以使用 Python(或任何编程语言)查看同一网络上的其他设备?

编辑:为澄清起见,我想做的(只是开始)是显示连接的设备列表及其本地 IP 地址。所以在我的路由器上,它会显示信息:

family_pc,192.168.1.2 工作笔记本电脑,192.168.1.3

我想检索此信息。

【问题讨论】:

    标签: python networking device


    【解决方案1】:

    你到底想做什么?

    nmap 是一个非常常用的网络扫描工具,这似乎是你想做的。还有一个python-nmap 包,可让您直接在 Python 中轻松使用 nmap。

    请详细一点,以便我们为您提供更好的答案,干杯。

    【讨论】:

    • nmap 会为你做这件事,所以也许看看我提到的 python-nmap。
    【解决方案2】:

    这里有几个选项。

    您可以在整个网络地址空间上运行端口扫描,但这非常浪费且不友好。不推荐。

    更好的方法是使用DNS-SD / Zeroconf(又名Bonjour)之类的服务发现协议来查询设备。大多数 Linux 和 Mac 系统都会响应,许多网络打印机和其他网络设备也会响应。 Windows 系统不附带 DNS-SD 代理,但可以安装。

    DNS-SD 的纯 python 实现是available here。我已经在 Linux、MacOS 和 Windows 上使用过它。

    如果您更喜欢 Microsoft 方法,您可以尝试 UPnP 的发现功能,但我无法保证它的效果如何或有多少系统会响应。

    【讨论】:

    【解决方案3】:

    如果您不介意使用一些第三方软件,您可以使用Netresview,它在 Windows 系统上运行良好,避免重新发明轮子之类的。你可以做这种事情。

    os.system('NetResView.exe /DisplayComputers 1 /RetrieveIPAddresses /stext ipfile')
    my_file = open('ipfile')
    for line in my_file :
        print myfile.readline()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多