# 查询所有物理网卡def_query_net_card_info(if_name):

net_card_info={"mac": "","type": "eth","ip": "","netmask": "",

}try:

net_info=netifaces.ifaddresses(if_name)exceptValueError:

logger.error("No such interface: %s" %if_name)returnnet_card_info#如果为无线网卡,将修改网卡类型为wlan

if if_name in common.cmd_excute("iw dev | awk '$1==\"Interface\" {print $2}'"):

net_card_info["type"] = "wlan"net_card_info["mac"] = net_info[netifaces.AF_LINK][0]["addr"].upper()

ipv4_info=net_info.get(netifaces.AF_INET)ifipv4_info:

net_card_info["ip"] = ipv4_info[0]["addr"]

net_card_info["netmask"] = ipv4_info[0]["netmask"]returnnet_card_info

@staticmethoddefquery_net_cards():"""{

"enp2s0": // 接口名称

{

"mac": "98:FA:9B:99:E5:6A", // MAC地址

"type": "eth", // 接口类型,eth-有线网卡, wlan-无线网卡

"ip": "192.168.2.90", // 接口当前IP

"netmask": "255.255.255.0", // 接口掩码

"dns":"192.168.2.1", // dns服务器ip

"gateway": "192.168.2.1" // 网管地址

},

"wlan0":

{

"mac": "98:FA:9B:99:E5:6A", // MAC地址

"type": "wlan", // 接口类型,eth-有线网卡, wlan-无线网卡

"ip": "", // 接口当前IP

"netmask": "", // 接口掩码

"dns":"192.168.2.1", // dns服务器ip

"gateway": "192.168.2.1" // 网管地址

}

}"""net_cards=dict()#获取所有物理网卡名称

command = "ls -d /sys/class/net/*/device | cut -d/ -f5"interfaces=common.cmd_excute(command)#获取dns服务器ip

dns_path = '/etc/resolv.conf'dns_list=[]ifos.path.exists(dns_path):

dns_list= common.cmd_excute("cat %s|grep ^nameserver|awk '{print $2}'" % dns_path, b_print=False)#获取网管地址

gateways = netifaces.gateways().get('default').get(netifaces.AF_INET)for interface ininterfaces:

net_card= Network._query_net_card_info(if_name=interface)

net_card["dns"] = dns_list if dns_list else ""net_card["gateway"] = gateways[0] if gateways else ""net_cards[interface]=net_cardreturn net_cards

python 判断是否连接wifi_python操作 linux连接wifi,查看wifi连接状态方法相关推荐

  1. android linux网络连接,Android和Linux服务器之间的TCP连接

    我正在编写一个代码,需要每秒从Android移动设备向台式计算机(linux服务器)发送数据.由于数据经常发送,通过Http命中无法实现(因为会消耗时间),所以Tcp通信似乎是更好的选择,因为andr ...

  2. ifconfig命令找不到_02. Linux命令之查看网络连接

    1. 查看网络连接数和端口 使用 netstat 命令查看网络连接情况 netstat -anp 参数: -a 显示所有选项 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 ...

  3. Linux 网络wifi操作常用命令,查看WiFi密码

    最近在开发一个WiFi工具箱,其中了解到挺多的wifi和网络相关的命令,这里简单总结一下: 1.wpa系列 wpa是一个linux自带的WiFi管理工具,一般python或者其他wifi库在底层都是调 ...

  4. python源码提取_Python提取Linux内核源代码的目录结构实现方法

    今天用Python提取了Linux内核源代码的目录树结构,没有怎么写过脚本程序,我居然折腾了2个小时,先是如何枚举出给定目录下的所有文件和文件夹,os.walk可以实现列举,但是os.walk是只给出 ...

  5. linux 查看主机版本,Linux下如何查看版本信息的方法步骤

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.# uname -a   (Linux查看版本当前操作系统内核信息) Linux ...

  6. 传奇游戏显示服务器连接失败,操作win7系统玩传奇世界显示连接服务器失败的详细方法...

    使用电脑的时候,有的小伙伴就会碰到win7系统玩传奇世界显示连接服务器失败类似的操作困难,小编认为win7系统玩传奇世界显示连接服务器失败的问题还是比较容易处理的,于是就有一些朋友到本站询问win7系 ...

  7. linux 建立http连接失败,【linux】http请求建立连接的时候为啥是tcp三次握手,而不是二次或者四次?...

    面试被问到这样的问题,求大神指教? 回答 我简单点说吧. 无论多少次握手都不能满足传输的绝对可靠. TCP的核心思想:保证数据可靠传输 其次:保证传输效率. 那么,就可以开始回答了: 为什么要握手(为 ...

  8. linux设置远程桌面连接不上去,Linux设置VNC远程桌面连接

    转载:http://www.cnblogs.com/zhangxiaodong/archive/2013/03/29/2989495.html 刚研究Linux,选的是CentOS6.3的系统,由于刚 ...

  9. Linux系列:查看网卡连接状态

    查看网卡名称 ifconfig 查看网卡状态 mii-tool enp0s3 查看网关 route -n 未联网: 联网:

最新文章

  1. 海门工业机器人_海门工业机器人供应商稳扎稳打
  2. 全世界都在问Java开发凉了吗?意外的惊喜
  3. springmvc学习(小知识点整理)
  4. 计算机的c盘是硬盘吗,c盘是硬盘吗
  5. 用python画奥迪标志_不知道不 OK!53 个 Python 经典面试题详解
  6. 力扣- -阶乘函数后K个零
  7. 工业级光纤收发器如何正确使用和维护?
  8. 零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面...
  9. JS前端常用工具方法
  10. C++——const加深理解之const在函数后
  11. android aptx固件,新增aptX蓝牙发射协议,M5固件首次升级!
  12. SmartUpload 中文API帮助
  13. Github注册中,邮箱验证通不过解决办法
  14. PLM基础概述(解决方案架构师认证:PLM基础) | 达索系统百世慧
  15. 遇到问题--python---ImportError: Missing optional dependency ‘xlrd‘. Install xlrd >= 1.0.0 for Excel supp
  16. 高德地图显示服务器加载失败,常见问题
  17. 如何让电脑计算机d盘布局,创建MSR分区,解决“由于用户电脑存在一个不支持的用于UEFI固件的硬盘布局,因此系统无法安装”...
  18. 女神找我帮忙--图片转成手绘,该不该答应?
  19. java 识别doc、docx
  20. js之清除Cookie

热门文章

  1. 应用内评分_评分者信度
  2. 组态王登录服务器为空,组态王服务器与客户端配置
  3. python 如何快速判断列表是否相同_python如何判断两个list是否相等
  4. ireport在springboot中中文不显示解决
  5. Android开发笔记(九十三)装饰模式
  6. iOS 应用首次开启 出现引导页面
  7. L255 Learning to say no brings a thrill of freedom
  8. 第 5 章 File Share
  9. NetBeans 时事通讯(刊号 # 67 - Aug 04, 2009)
  10. AE中加载个人数据库GDB方法探讨