Python 通过使用import.socket,是否有办法取回DHCP ip?还是我必须从IP中减去一?
根据标题,我想检索我连接的设备的DHCP IP 到目前为止,我已经:Python 通过使用import.socket,是否有办法取回DHCP ip?还是我必须从IP中减去一?,python,sockets,dhcp,Python,Sockets,Dhcp,根据标题,我想检索我连接的设备的DHCP IP 到目前为止,我已经: import socket def getIPAddresses(): addr = socket.gethostbyname_ex(socket.gethostname()) for i in addr[2]: if "169.254" in i: if i != "169.254.0.2": print socket.gethostb
import socket
def getIPAddresses():
addr = socket.gethostbyname_ex(socket.gethostname())
for i in addr[2]:
if "169.254" in i:
if i != "169.254.0.2":
print socket.gethostbyaddr(i)
if __name__ == "__main__":
getIPAddresses()
基本上,这个场景是我有两个连接的单元,我想连接到IP不是169.254.0.1的单元
我想如果有一种更有效的方法来写这篇文章也会很好,但我主要关心的是检索IP的DHCP IP(其中DHCP IP为负1)
这将是非常感谢!谢谢 作为一个快速修复,我只是用IP的最后一部分减去一
ip_oct = ip.split('.')
ip_oct[3] = str(int(ip_oct[3]) -1)
return '.'.join(ip_oct)
我相信这不是最优雅的解决方案,但这大大降低了数字线,并简化了它
我基本上是在分割我检索到的IP。最后一组,我减去一。然后我把他们和我的朋友联系起来。返回IP
只是想把它扔出去,我没有运气通过Google Robot框架使用Getgethostbyname\u ex
来工作,所以我不得不使用getaddrinfo来检索IP
同样,这不是我希望通过MAC地址和ARP实现的最佳解决方案,但是。。。我没有时间去弄清楚,几个月后我会回来的有什么方法可以让你得到你试图连接到的机器的MAC地址的IP地址吗?是的,虽然我还没有研究过如何使用套接字导入和DHCP这对你来说应该是一个更可靠的解决方案。是的。但我不会为你做的;)这将帮助您查询arp表。arp表保存您需要的信息。