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