在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博客
错误截图
实现效果