gpt4 book ai didi

python - 如何使用 Python 获取默认网关 IP?

转载 作者:太空狗 更新时间:2023-10-30 03:07:21 27 4
gpt4 key购买 nike

我想使用 Python 获取默认网关的 IP(内部路由器 IP)。我真的是 Python 的新手,所以不确定它是如何工作的。

我知道您可以通过以下方式获取机器的 IP:

import socket
internal_ip = socket.gethostbyname(socket.gethostname())
print internal_ip

所以我认为它一定是类似的东西?

最佳答案

在 Windows 上,您应该使用 WMI连同适当的查询以查找对象的属性(例如网络设备)。以下 Python 代码在我的 Windows 7 机器上打印 IPv4 和默认网关地址:

代码:

import wmi

wmi_obj = wmi.WMI()
wmi_sql = "select IPAddress,DefaultIPGateway from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE"
wmi_out = wmi_obj.query( wmi_sql )

for dev in wmi_out:
print "IPv4Address:", dev.IPAddress[0], "DefaultIPGateway:", dev.DefaultIPGateway[0]

输出:

IPv4Address: 192.168.0.2 DefaultIPGateway: 192.168.0.1

您可以在 this page 上找到有关在网络设备上执行 WMI 操作的更多详细信息和技巧。 .

对于 Linux,PyNetInfo按照 this page 上的建议将是一个好方法。尽管在 Linux 上,您可以通过阅读 PROC 来避免依赖额外的模块。其他 中的条目 import os; os.system(...) 技巧。

关于python - 如何使用 Python 获取默认网关 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904047/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com