iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python获取网卡信息(名称、MAC、
  • 340
分享到

Python获取网卡信息(名称、MAC、

网卡名称信息 2023-01-31 07:01:52 340人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

    “人生苦短,我用python”。Python的高效有一部分是跟它丰富的模块分不开的。Python有很多第三方模块可以帮助我们完成一些事情,减少开发时间。Python pypi库中一个模块名字叫“netifaces”,使用C语言写的一

    “人生苦短,我用python”。Python的高效有一部分是跟它丰富的模块分不开的。Python有很多第三方模块可以帮助我们完成一些事情,减少开发时间。

Python pypi库中一个模块名字叫“netifaces”,使用C语言写的一个第三方模块。可以:

    1.获取本机的所有网关

    2.获取本机所有的接口Interface(网卡NIC)

    3.获取本机指定接口的详细信息,包括IP地址、子网掩码、广播地址、Mac地址等

不过遗憾的是这个模块的功能太有限以及会带出一些令人困惑的信息,例如windows系统上的子网掩码可能不正确等。

PS:要想获取公网地址,可以使用很多种api,例如:

    # Use 3rd party WEB-sites to get your IP  
    # Please note that I do not recommend following curl/wget method due to security reasons. You have been warned:    
    curl ifconfig.me    
    curl icanhazip.com    
    curl ipecho.net/plain    
    curl ifconfig.co    
    curl Http://ip.chinaz.com/getip.aspx

运行截图如下:

p_w_picpath

p_w_picpath

代码请移步到GitHubhttps://github.com/DingGuodong/linuxBashshellScriptForOps/blob/master/projects/WindowsSystemOps/Network/getNetworkStatus.py

代码如下:

#!/usr/bin/python
# encoding: utf-8
# -*- coding: utf8 -*-
"""
Created by PyCharm.
File:               LinuxBashShellScriptForOps:getNetworkStatus.py
User:               Guodong
Create Date:        2016/11/2
Create Time:        16:20

show Windows or Linux network Nic status, such as MAC address, Gateway, IP address, etc

# python getNetworkStatus.py
Routing Gateway:               10.6.28.254
Routing NIC Name:              eth0
Routing NIC MAC Address:       06:7f:12:00:00:15
Routing IP Address:            10.6.28.28
Routing IP Netmask:            255.255.255.0
 """
import os
import sys

try:
    import netifaces
except ImportError:
    try:
        command_to_execute = "pip install netifaces || easy_install netifaces"
        os.system(command_to_execute)
    except OSError:
        print "Can NOT install netifaces, Aborted!"
        sys.exit(1)
    import netifaces

routingGateway = netifaces.gateways()['default'][netifaces.AF_INET][0]
routingNicName = netifaces.gateways()['default'][netifaces.AF_INET][1]

for interface in netifaces.interfaces():
    if interface == routingNicName:
        # print netifaces.ifaddresses(interface)
        routingNicMacAddr = netifaces.ifaddresses(interface)[netifaces.AF_LINK][0]['addr']
        try:
            routingIPAddr = netifaces.ifaddresses(interface)[netifaces.AF_INET][0]['addr']
            # TODO(Guodong Ding) Note: On Windows, netmask maybe give a wrong result in 'netifaces' module.
            routingIPNetmask = netifaces.ifaddresses(interface)[netifaces.AF_INET][0]['netmask']
        except KeyError:
            pass

display_fORMat = '%-30s %-20s'
print display_format % ("Routing Gateway:", routingGateway)
print display_format % ("Routing NIC Name:", routingNicName)
print display_format % ("Routing NIC MAC Address:", routingNicMacAddr)
print display_format % ("Routing IP Address:", routingIPAddr)
print display_format % ("Routing IP Netmask:", routingIPNetmask)

最后:不要重复制造轮子。重复制造轮子对自己而言,虽然制造的过程是学习巩固的过程,但重复制造轮子对别人没有好处,人生苦短,别重复制造轮子,除非你制造的足够好。

tag:python获取MAC地址,python获取网关地址,python获取IP地址

--end--

--结束END--

本文标题: Python获取网卡信息(名称、MAC、

本文链接: https://www.lsjlt.com/news/191796.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python获取网卡信息(名称、MAC、
        “人生苦短,我用Python”。Python的高效有一部分是跟它丰富的模块分不开的。Python有很多第三方模块可以帮助我们完成一些事情,减少开发时间。Python pypi库中一个模块名字叫“netifaces”,使用C语言写的一...
    99+
    2023-01-31
    网卡 名称 信息
  • 批处理如何获取网卡名称
    这篇文章将为大家详细讲解有关批处理如何获取网卡名称,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:::用ipconfig /all命令获取网卡名称。 FOR /F "tokens=2*&...
    99+
    2023-06-08
  • python获取Linux信息
      刚开始学习Python,用Python写了一个获取Linux服务器信息的脚本,在debian和centos上测试通过。首先需要安装一个psutil库,在安装psutil之前需要安装python的开发工具包#debian  apt-get...
    99+
    2023-01-31
    信息 python Linux
  • Python获取本机所有网卡的MAC地址
    在拙作《Python可以这样学》(清华大学出版社,2017.2)第297页介绍了一种获取本机网卡MAC地址的方法,不过代码显得稍微有点啰嗦,并且只能获得一块网卡的MAC地址。本文对该内容稍加补充。 1、这样更简洁 >>&...
    99+
    2023-01-31
    本机 网卡 地址
  • python抓取某城市全部道路名称信息
    目录引子思路实现结果引子 这两天碰到一个需求,要获取某个城市所有道路的车辆通行速度。首先自然是想到用高德或百度的Web服务 API 来请求交通路况信息,结果一看高德的交通态势服务AP...
    99+
    2023-02-03
    python抓取道路信息 python抓取信息
  • python获取mysql表信息
    使用python获取mysql相关信息,使用python执行mysql相关语句test1 #!/bin/env python #coding=utf-8 #by songry #date 2018-01-09 #time 11:18 #po...
    99+
    2023-01-31
    信息 python mysql
  • uniapp获取手机设备信息uuid\mac
    测试手机:荣耀60 获取安卓设备device.uuid或ANDROID_ID // 方法一:let mainActivity = plus.android.runtimeMainActivity();let Settings = plus....
    99+
    2023-09-06
    uni-app
  • 怎么在Linux系统中获取无线网卡信息
    这篇文章将为大家详细讲解有关怎么在Linux系统中获取无线网卡信息,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。iwpriv配置连接选项命令例:代码如下:[root@linux ~]# iw...
    99+
    2023-06-12
  • python-pymysql获取字段名称-获取内容方式
    目录python-pymysql获取字段名称-获取内容获取字段名称-获取内容若只执行 results = cursor.fetchall()python代码获取mysql字段名和注释...
    99+
    2023-05-19
    python pymysql pymysql获取字段名称 pymysql获取内容
  • python获取服务器信息
    python 通过ansible 获取服务器基本信息:利用ansible的 setup 模块可以返回服务器的详细信息 所有的信息都是以字典的格式显示的[root@e tmp]# ansible 192.168.137.152 -m setu...
    99+
    2023-01-31
    服务器 信息 python
  • python获取linux中top信息
    import os,time,sysimport paramiko,pexpect 获取日期格式: def get_year_mon_day_hour_min_sec(): time_array = time.localtime()...
    99+
    2023-01-31
    信息 python linux
  • 利用python从网页上获取所有信息
    使用python获取网页中的所有信息,具体方法如下:page = urllib2.urlopen(url) contents = page.read() #网页链接 print(contents) ...
    99+
    2024-04-02
  • python获取网卡IP地址
      #!/usr/bin/env python # -*- coding: utf-8 -*-  import socket import fcntl import struct  def get_ip_address(ifname):  ...
    99+
    2023-01-31
    网卡 地址 python
  • python如何获取对象信息
    这篇文章主要讲解了“python如何获取对象信息”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python如何获取对象信息”吧!1、获取对象类型,基本类型可以用type()来判断。>&...
    99+
    2023-06-20
  • python获取系统硬件信息
    github项目 https://github.com/giampaolo/psutil cpu,内存,etc. ...
    99+
    2023-01-31
    硬件 系统 信息
  • python获取linux的系统信息
     python写的抓取linux系统主要信息的脚本,主要就是内存,硬盘、CPU之类的信息。   内存信息 / meminfo 返回dict #!/usr/bin/env python def memory_stat():     mem =...
    99+
    2023-01-31
    系统 信息 python
  • Python3获取拉勾网招聘信息
        为了了解跟python数据分析有关行业的信息,大概地了解一下对这个行业的要求以及薪资状况,我决定从网上获取信息并进行分析。既然想要分析就必须要有数据,于是我选择了拉勾,冒着危险深入内部,从他们那里得到了信息。不得不说,拉勾的反爬技...
    99+
    2023-01-31
    招聘信息 拉勾网
  • Python获取本机 IP/MAC(多网
      Python获取本机IP地址的一般方法为import socket IP = socket.gethostbyname(socket.gethostname())  通过gethostname获取主机名,再用gethostbyname...
    99+
    2023-01-31
    本机 Python IP
  • 用python爬取中国大学排名网站排名信息
     程序解决问题如下: 利用python网络爬虫爬取中国大学排名网站上的排名信息,将排名前20的大学的信息保存为文本文件,并在窗口打印出这20所大学的信息,按列打印和保存。 ...
    99+
    2024-04-02
  • python 获取网卡实时流量
    使用python监控系统时,获取网卡流量是比较难搞的,网上找了一个比较好的脚本,分享一下!psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库。该模块用于系统监控、限制进程资源和运行进程的管理等方面安...
    99+
    2023-01-30
    网卡 实时 流量
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作