Chinaunix首页 | 论坛 | 博客
  • 博客访问: 435040
  • 博文数量: 56
  • 博客积分: 2705
  • 博客等级: 少校
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-21 13:52
文章分类

全部博文(56)

文章存档

2016年(1)

2014年(1)

2013年(5)

2012年(4)

2011年(8)

2010年(10)

2009年(15)

2008年(12)

分类: Python/Ruby

2012-08-25 16:01:41

#!/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|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()
 
阅读(5895) | 评论(1) | 转发(0) |
0

上一篇:awk uniq

下一篇:linux双网卡固定路由

给主人留下些什么吧!~~