Python 获取指定网卡的IP地址

 

import socket
import fcntl
import struct
  
def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    inet = fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s',  bytes(ifname[:15], 'utf-8')))
    return socket.inet_ntoa(inet[20:24])

if __name__ == '__main__': 
    ret = get_ip_address("lo") 
    print(ret)

 

使用中只要更改方法'get_ip_address'的值("lo"),即可

 

注:我用的是Python3, 如果是Python2,可以修改相关格式即可

 

   
上一篇:自定义函数代替inet_addr函数把写入ip


下一篇:Linux运维笔记-日常操作命令总结(1)