1

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

这将不胜感激!谢谢!

4

1 回答 1

0

作为一个快速修复,我只是在 IP 的最后一部分减去了一个。

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

我确信它不是最优雅的解决方案,但这大大降低了数字线并使其简化了 imo

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

只是把它扔在那里,我没有运气gethostbyname_ex通过谷歌机器人框架开始工作,所以我不得不用它getaddrinfo来检索 IP。

同样,这不是最佳解决方案,因为我想通过 MAC 地址和 ARP 来解决,但是……我没有时间弄清楚,几个月后会回来

于 2012-02-08T19:56:52.637 回答