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,可以修改相关格式即可

 

 
 
posted @ 2021-11-05 10:52  蜜铀  阅读(1084)  评论(0编辑  收藏  举报