通过使用导入.socket,有没有办法取回DHCP ip?还是要从IP中减去1?

2024-07-03 06:03:40 发布

您现在位置:Python中文网/ 问答频道 /正文

根据标题,我想检索我连接的设备的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.gethostbyaddr(i)

if __name__ == "__main__":
    getIPAddresses()

基本上,这个场景是我有两个单元连接在一起,我想连接到IP不是169.254.0.1的单元。在

我想如果有一个更有效的方法来写这个也很好,但是我主要关心的是取回IP的DHCP IP(其中DHCP IP是负1)

我们将不胜感激!谢谢!在


Tags: inimportip标题forifdefsocket
1条回答
网友
1楼 · 发布于 2024-07-03 06:03:40

作为一个快速的解决方法,我只是用IP的最后一部分减去一个。在

ip_oct = ip.split('.')
ip_oct[3] = str(int(ip_oct[3]) -1)
return '.'.join(ip_oct)

我敢肯定这不是最优雅的解决方案,但这大大降低了数字线,使其在我国得到简化

我基本上是把我检索到的IP分开。最后一组,我减去一。然后我加入他们。回到IP。在

简单地说,我没有幸通过googlerobot框架使用gethostbyname_ex来工作,所以我不得不使用getaddrinfo来检索IP。在

再次,不是最佳的解决方案,因为我想通过MAC地址和ARP,但。。。我没时间想清楚,几个月后我会回来的

相关问题 更多 >