【发布时间】:2011-06-28 19:27:26
【问题描述】:
如何在python中检查IP地址的可用性?
例如,我不想将系统的 IP 地址更改为 192.168.112.226,静态覆盖 dhcp 提供的地址。默认网关是 192.168.112.1。但在分配给自己之前,我不想检查是否有人在使用 192.168.112.226。
通常在 bash 的命令行中执行此操作。我用 ping 192.168.112.226 检查。如果主机无法访问,我使用 'ifconfig' 和 'route' 将其分配给自己。
如何使用 python 自动化?
PS:我更喜欢python,这样无论成功还是失败,我都可以使用python-notify来美化输出。
【问题讨论】:
-
您需要在网络上安装 DHCP 服务器。
-
我不想使用 dhcp 进行分配。 DHCP 已经可用。但我想为我的系统分配一个静态 IP,覆盖 DHCP 提供的一个。但在覆盖之前,我想确保它没有分配给网络中的任何其他系统。而且我不想使用ping。应该有某种方式可以以编程方式找到它。
-
我很好奇是什么原因?
-
这是不可能的。使用 IP 的机器可能已关闭。 Ping 告诉您使用该地址的机器是否在线,而不是该地址是否已被使用。
-
@Bharat 这是您的 DHCP 客户端配置。为 dhcpcd 在
/etc/dhcpcd.conf中设置hostname。
标签: python networking ip-address static-ip-address