python 获取网卡ip地址信息的代码一例

发布时间:2020-03-27编辑:脚本学堂
本文介绍下,用python获取网址IP地址信息的代码,python的网络功能是不可小视的,有需要的朋友,可以参考下。

代码如下:

复制代码 代码示例:
#!/usr/bin/python
import os
import socket
import fcntl
import struct
def 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])
def get_ip():
        f=os.popen("ifconfig -s|grep -v Iface|grep -v lo|linuxjishu/13830.html target=_blank class=infotextkey>awk '{print $1}'")
        interface=f.readlines()
        f.close()
        ip_dic={}
        ip_list=[]
        for ifname in interface:
                ifname=ifname.strip()
                s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
                ipaddr=socket.inet_ntoa(fcntl.ioctl(
                        s.fileno(),
                        0x8915,  # SIOCGIFADDR
                        struct.pack('256s', ifname[:15])
                )[20:24])
                ip_dic[ifname]=ipaddr
                ip_list.append(ipaddr)
        #return ip_list
        return ip_dic
 
if __name__ == '__main__':
    print get_ip_address('eth0')
    print get_ip()