Python获取IP地址

获取本机IP和Port,远程IP和Port

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# -*- coding: cp936 -*-
"""
使用socket获取更多的信息
getsocketname:获得本机的信息(IP和port)
getpeername:获得远程机器的信息(IP和port)
fileno:每一个socket对应一个fd,使用此方法可以获得fd,为一个整数
"""
import socket</code>
 
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
port = socket.getservbyname("http","tcp")
 
s.connect(("www.google.com",port))
print "Connect from",s.getsockname()
print "Connect to",s.getpeername()
print "file descriptor",s.fileno()
s.close()

直接获取远程IP

1
2
import socket
socket.gethostbyname('google.com')

直接获取本地IP

1
2
3
import socket
socket.gethostbyname(socket.gethostname())
socket.gethostbyname_ex(socket.gethostname())

-EOF-