当前位置: 首页 > news >正文

python——遍历网卡并禁用/启用

一、遍历网卡

        注意:只能遍历到启用状态的网卡,如果网卡是禁止状态,则遍历不到!!!

import os
import time
import psutil
import loggingdef get_multi_physical_network_card():physical_nic_list = []try:interfaces = psutil.net_if_addrs()for interface_name, interface_addresses in interfaces.items():if all(virtual_pick not in interface_name.lower() for virtual_pick in {"virtual", "vmware", "hyperv"}):for address in interface_addresses:if any(cur_ip in address.address for cur_ip in {"10.", "100.", "169."}):physical_nic_dict = {}physical_nic_dict['name'] = interface_namephysical_nic_dict['address'] = address.addressphysical_nic_list.append(physical_nic_dict)log_str = '当前机器连接网络的网卡名字为:{}, ip:{}'.format(interface_name, address.address)print("\n{}".format(log_str))return physical_nic_listexcept Exception as e:logging.exception(e)return physical_nic_listphysical_nic_list = get_multi_physical_network_card()
for nic_dict in physical_nic_list:print(nic_dict )

二、禁用网卡

        cmd命令:netsh interface set interface "网卡名" admin=enable/disable

import os
import time
import psutil
import loggingdef disable_multi_physical_network_card():try:# 注意此处是引用上面的遍历网卡的函数physical_nic_list = get_multi_physical_network_card()for nic_dict in physical_nic_list:address_ip = nic_dict['address']physical_nic_name = nic_dict['name']disable_cmd = 'netsh interface set interface \"{}\" admin=disable'.format(physical_nic_name)os.system(disable_cmd)logging.info("physical_nic_name: {}, address_ip: {}".format(physical_nic_name, address_ip))except Exception as e:logging.exception(e)

三、启用网卡

        以上方法是遍历网卡名,然后执行cmd命令逐一禁用

        由于目前无法遍历出已禁用的网卡名,所以如果想要启用网卡的话,用上面的方法行不通,建议提前确定好网卡名,不遍历直接cmd

http://www.lryc.cn/news/328536.html

相关文章:

  • 初识 51
  • 【回溯与邻里交换】纸牌三角
  • 微服务(基础篇-004-Feign)
  • Linux IRC
  • 五、Elasticsearch 集成
  • Qt 完成图片的缩放拖动
  • Linux 内核工具 iptables 配置TCP/UDP端口转发(命令参考)
  • love 2d Lua 俄罗斯方块超详细教程
  • SpringBoot+ElasticSearch实现文档内容抽取、高亮分词、全文检索
  • 利用Redis实现简单的短信登录
  • 在 Linux 中通过 SSH 执行远程命令时,无法自动加载环境变量(已解决)
  • c++使用类的一些注意事项
  • C++蓝桥考级一级到十八级的考点内容整理
  • C++智能指针简单剖析
  • mysql笔记:25. docker环境中mysql主从复制、主主复制实操
  • 大数据面试专题 -- kafka
  • 深度学习入门简单实现一个神经网络
  • win11 环境配置 之 Jmeter(JDK17版本)
  • Windows下载使用nc(netcat)命令
  • istio 设置 istio-proxy sidecar 的 resource 的 limit 和 request
  • flutter弹框
  • 2013年认证杯SPSSPRO杯数学建模B题(第一阶段)流行音乐发展简史全过程文档及程序
  • 代码随想录算法训练营第39天 | 62.不同路径, 63不同路径II
  • Redis 的慢日志
  • 第十四届蓝桥杯第十题:蜗牛分享
  • 不懂技术的老板,如何避免过度依赖核心技术人员
  • Vue系列-el挂载
  • python--os和os.path模块
  • 前端通用命名规范和Vue项目命名规范
  • NTP服务搭建