linux下通過python獲得指定網卡的ip地址

mn6e 9年前發布 | 2K 次閱讀 Python

import socket
import fcntl
import struct

def get_ip_address(ifname): """ >>> get_ip_address('lo') '127.0.0.1'

>>> get_ip_address('eth0')
'38.113.228.130'
"""
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])</pre> 


 本文由用戶 mn6e 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!