在不使用外部库的情况下获取以太网适配器的IPv4地址

时间:2019-10-16 05:09:04

标签: python sockets udp

我有两台使用交叉电缆连接的计算机,第一次我需要启动PC1作为服务器,启动PC2作为客户端,然后第二次启动PC2作为服务器,启动PC1作为客户端。我使用UDP套接字,它在Windows上。所以我不能只将IP放入代码中,我需要服务器代码来自动获取IP。

我尝试过:

hostname = socket.gethostname()    
IPAddr = socket.gethostbyname(hostname)

但这给我错误的IP。我需要在ipconfig / all中检查以太网适配器Ethernet时看到的IP地址。

我不确定您是否理解我。英语不是我的最佳技能。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用netifaces软件包。文档是here

import netifaces

ip = netifaces.ifaddresses('eth0')[netifaces.AF_INET][0]['addr']
print(ip)

eth0只是一个例子,您可以从ipconfig中获取实际的接口名称