Python_获取当前终端可用网卡MAC及IP

def getIP():
    import socket
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(("8.8.8.8", 80))
    ip = (s.getsockname()[0])
    s.close()
    return ip

def get_netcard():
from psutil import net_if_addrs
    name = ip = mac = ''
    info = net_if_addrs()
    for k, v in info.items():
        for item in range(0, len(v)):
            if v[item][0] == 2 and getIP() in v[item][1]:
                name = k
                ip = v[item][1]
                break
    if name:
        data = info[name]
        for i in data:
            if '-' in i[1] or ':' in i[1]:
                if len(i[1])==17:
                    mac = str(i[1]).replace('-','').replace(':','')
                    break

    info = {'name': name, 'ip': ip, 'mac': mac}
    log.debug('当前终端INFO:{}'.format(info))
    return info
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容