本地主机的网关IP地址是默认路由的IP地址。在大多数情况下,默认路由的IP地址就是本地主机的网关IP地址。
可以通过以下代码示例获取本地主机的网关IP地址:
import socket
def get_gateway_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
gateway_ip = s.getsockname()[0]
s.close()
except:
gateway_ip = None
return gateway_ip
if __name__ == '__main__':
print(get_gateway_ip())
代码中首先创建了一个基于UDP协议的socket对象,并将其连接到Google的DNS服务器。通过socket的getsockname()方法,可以获取到连接的本地主机IP地址和端口号,而本地主机IP地址就是网关IP地址。如果无法获取,则返回None。