Python实现获取内网IP地址的方法总结
在Python中,我们可以使用不同的方法来获取内网IP地址。下面是一些常用的方法总结:
方法一:使用socket模块
import socket
def get_internal_ip():
try:
# 创建一个UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 连接到一个外部的IP地址(这里使用了谷歌的DNS服务器)
sock.connect(('8.8.8.8', 80))
# 获取本地IP地址
internal_ip = sock.getsockname()[0]
return internal_ip
except socket.error:
return None
示例说明:
ip = get_internal_ip()
if ip:
print(\"内网IP地址是:\" + ip)
else:
print(\"无法获取内网IP地址\")
方法二:使用netifaces模块
import netifaces
def get_internal_ip():
# 获取所有网络接口
interfaces = netifaces.interfaces()
for interface in interfaces:
# 排除回环接口和虚拟接口
if interface == 'lo' or 'virtual' in interface:
continue
# 获取接口的IP地址
addresses = netifaces.ifaddresses(interface)
if netifaces.AF_INET in addresses:
for address in addresses[netifaces.AF_INET]:
internal_ip = address['addr']
return internal_ip
return None
示例说明:
ip = get_internal_ip()
if ip:
print(\"内网IP地址是:\" + ip)
else:
print(\"无法获取内网IP地址\")
以上是两种常用的方法来获取内网IP地址的Python实现。你可以根据自己的需求选择其中一种方法来使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现获取内网IP地址的方法总结 - Python技术站