python根据ip获取Windows系统网卡名称 兼容windows英文版和中文版

本文介绍如何使用Python的psutil库在Windows系统上,无论英文或中文环境,通过IP地址查找对应的网卡名称。示例脚本展示了遍历网络接口和IP地址,匹配后输出网卡名的过程,同时提供了解决`AF_INET`属性缺失问题的解决方案。
摘要由CSDN通过智能技术生成

在Python中,可以使用psutil库来获取系统中的网络接口信息,并根据IP地址筛选出对应的网卡名称。这种方法不受Windows语言环境的影响,因此兼容英文版和中文版的Windows系统。以下是一个示例脚本:

 

python

import psutil

# 输入或设定要查找的IP地址
ip_to_find = '192.168.100.10'

def find_adapter_by_ip(ip):
    for adapter_name, addrs in psutil.net_if_addrs().items():
        for addr in addrs:
            if hasattr(addr, "address") and hasattr(addr, "netmask"):
                # IPv4 地址判断
                if addr.family == psutil.AF_INET and addr.address == ip:
                    return adapter_name

adapter_name = find_adapter_by_ip(ip_to_find)

if adapter_name:
    print(f"找到IP地址为 {ip_to_find} 的网卡名称: {adapter_name}")
else:
    print("没有找到IP地址为 {} 的网络接口。".format(ip_to_find))

# 阻塞程序直到用户按键
input("按回车键退出...")

此脚本会遍历所有网络接口及其关联的IP地址信息,然后与给定的IP地址进行比较。当找到匹配的IP时,返回该IP所关联的网络接口(即网卡)名称。

请确保已经安装了psutil库,如果没有,请通过pip安装:

 

bash

pip install psutil

 遇到问题 :module 'psutil' has no attribute 'AF_INET' 

解决方案:python出现错误module ‘psutil‘ has no attribute ‘AF INET‘-CSDN博客

错误截图

实现效果 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三希

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值