【问题标题】:How to list network interfaces, its configuration IP,netmask and gateway in Python/Windows如何在 Python/Windows 中列出网络接口、其配置 IP、网络掩码和网关
【发布时间】:2010-12-21 05:07:33
【问题描述】:

我想开发一个小应用程序来监控arp并扫描本地网络中的arp列表。

目前,我需要检索网络接口列表及其配置。

我大部分时间都在使用 Linux,所以我对 Win32 API 了解不多,有没有办法用 python 方式来做这件事?我正在使用 Python 2.6 和 PyQt 和 Scapy(也有 pywin32,所以如果你提供 win32 的详细方式,我会尝试)

我找到了 pcapy.findalldevs(),但它无法检索配置。我不太在意名字,只要配置(IP,网络掩码)就可以了。

【问题讨论】:

    标签: python windows networking


    【解决方案1】:

    对于跨平台解决方案,我使用了netifaces

    【讨论】:

      【解决方案2】:

      不确定您到底想要什么信息,但ipconfig /all 听起来确实像您想要的:

      import subprocess
      subprocess.call('ipconfig /all')
      

      【讨论】:

      • 这应该是一个好方法,但我想要一个更python的方法所以我在这里问:)
      • @Fu4ny 这与 Windows 上的 Python 差不多。相信我,你不想使用 Win32 API,它们真的很痛苦
      • 我确实写了一个解析来获取配置,现在有点hackish但我想我应该选择这个。
      【解决方案3】:

      对于 Linux,我使用 pynetlinux

      pip install pynetlinux==1.1 >>> 从 pynetlinux 导入 ifconfig >>> ifconfig.Interface("eth0").get_ip() '192.168.1.66'

      编辑: 这确实是针对Linux的,跨平台的解决方案,见我的other answer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-15
        • 2015-04-11
        • 2012-07-12
        • 1970-01-01
        • 2018-04-03
        • 2020-01-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多