如何在 Python/Windows 中列出网络接口及其配置 IP、网络掩码和网关

发布于 2024-10-08 17:50:34 字数 258 浏览 1 评论 0原文

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

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

大多数时候我使用Linux,所以我对Win32 API不太了解,有没有办法用python方式做到这一点?我使用Python 2.6与PyQt和Scapy(也有pywin32,所以如果你提供win32的详细方法,我会尝试)

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

I wanna develop a small application to monitor arp and scan arp list in local network.

Currently, I need to retrieve the list of network interfaces and its configuration.

Most of the time I work with Linux, so I don't know much about Win32 API, is there anyway to do this in python way ? I'm using Python 2.6 with PyQt and Scapy (has pywin32 aswell, so if you provide the detail way with win32, I will try)

I found pcapy.findalldevs(), but it cannot retrive configuration. I don't care much about the name, just configuration(IP,netmask) is OK.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

止于盛夏 2024-10-15 17:50:34

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

For a cross platform solution, I've used netifaces.

意中人 2024-10-15 17:50:34

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

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

Not sure exactly what info you want, but ipconfig /all certainly sounds like what you want:

import subprocess
subprocess.call('ipconfig /all')
离线来电— 2024-10-15 17:50:34

对于 Linux,我使用 pynetlinux

pip install pynetlinux==1.1
>>> from pynetlinux import ifconfig
>>> ifconfig.Interface("eth0").get_ip()
'192.168.1.66'

编辑:
这确实适用于Linux,对于跨平台解决方案,请参阅我的其他答案

For Linux, I use pynetlinux

pip install pynetlinux==1.1
>>> from pynetlinux import ifconfig
>>> ifconfig.Interface("eth0").get_ip()
'192.168.1.66'

Edit:
This is indeed for Linux, for a cross-platform solution, see my other answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文