python获取本地的IP地址及mac地址

来源:互联网 发布:留学生免税车 知乎 编辑:程序博客网 时间:2024/04/30 10:00

Windows下2种方法:
1.
使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip
使用gethostbyname和gethostbyname_ex两个函数可以实现

       

import socketlocalIP = socket.gethostbyname(socket.gethostname())#这个得到本地ipprint "local ip:%s "%localIPipList = socket.gethostbyname_ex(socket.gethostname())for i in ipList:    if i != localIP:       print "external IP:%s"%i 

第二个版本:

import socketmyname = socket.getfqdn(socket.gethostname(  ))myaddr = socket.gethostbyname(myname)


       
2.      还有一种Linux下的方法可以用的是:

import socketimport fcntlimport structdef get_ip_address(ifname):    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)    return socket.inet_ntoa(fcntl.ioctl(        s.fileno(),        0x8915,  # SIOCGIFADDR        struct.pack('256s', ifname[:15])    )[20:24])>>> get_ip_address('lo')'127.0.0.1'>>> get_ip_address('eth0')'38.113.228.130'


3.从网上搜到一种简单的方法:

>>> ip = os.popen("/sbin/ifconfig | grep 'inet addr' | awk '{print $2}'").read()>>> ip = ip[ip.find(':')+1:ip.find('\n')]


4.python 获取mac地址简单方法:

>>> import uuid>>> node=uuid.getnode()>>> mac = uuid.UUID(int = node).hex[-12:]>>> print mac




原创粉丝点击