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

 

 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM