获取指定网卡的ip

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import socket
import fcntl
import struct

def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
        s.fileno(),
        0x8915,  # SIOCGIFADDR
        struct.pack('256s', ifname[:15].encode())
    )[20:24])

print("br0 = "+ get_ip_address('br0'))
print("eth0 = " + get_ip_address('eth0'))

posted @ 2023-02-13 14:29  公众号海哥python  阅读(47)  评论(0编辑  收藏  举报