文档章节

python 获取网卡与ip

banwh
 banwh
发布于 2017/08/29 17:09
字数 124
阅读 28
收藏 0
def get_interface_ip(ifname):
        sckt = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        return socket.inet_ntoa(fcntl.ioctl(
                sckt.fileno(),
                0x8915,  # SIOCGIFADDR
                struct.pack('256s', ifname[:15])
            )[20:24])
def _get_interface_list():
    """Provides a list of available network interfaces
       as a list of tuples (name, ip)"""
    max_iface = 32  # Maximum number of interfaces(Aribtrary)
    bytes = max_iface * 32
    is_32bit = (8 * struct.calcsize("P")) == 32  # Set Architecture
    struct_size = 32 if is_32bit else 40

    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        names = array.array('B', '\0' * bytes)
        outbytes = struct.unpack('iL', fcntl.ioctl(
            s.fileno(),
            0x8912,  # SIOCGIFCONF
            struct.pack('iL', bytes, names.buffer_info()[0])
        ))[0]
        namestr = names.tostring()
        return [(namestr[i:i + 32].split('\0', 1)[0],
                socket.inet_ntoa(namestr[i + 20:i + 24]))\
                for i in range(0, outbytes, struct_size)]

    except IOError:
        raise NetworkError('Unable to call ioctl with SIOCGIFCONF')

 

© 著作权归作者所有

共有 人打赏支持
banwh
粉丝 1
博文 53
码字总数 78183
作品 0
海淀
程序员
Python windows下获取MAC地址的一种方法

我最近有一个项目,使用Python在win32下开发一个COM组建,该COM组建其中一个方法是获取本地电脑的MAC地址。 需求很简单,虽然我是Python新手中的新手,但我还是会使用搜索引擎进行搜索。 百度...

John_Kwok
2014/10/18
0
3
双手奉上WIFI破解教程, 还请各位Python大佬收下

0x01 Pywifi模块简单介绍 用一个连WIFI的栗子,概括他的大概用法吧... [Python] -- coding: UTF-8 -- import pywifi from pywifi import const #引用一些定义 profile = pywifi.Profile() #...

Python新世界
07/29
0
0
使用Python根据网速自动切换网关

公司里装了两条不同的宽带,根据使用的情况,比如拨VPN,或者使用人数过多,网速不行了就要切换下。每次手动去切换很不方便,而且网速也很难判断。这里分享下如何用Python检测网速,然后自动...

yushulx
2015/07/28
0
0
python脚本+iftop捕捉网卡带宽峰值监控发送邮件通知(详细解释,适合python新司机上路)

刚刚.....就在刚刚,我给自己跪了。原本想运行crontab -e 添加一个任务定时来监控服务器网卡带宽峰值,莫名其妙按了个r。没错!就是crontab -r 这种操做。原本30多条定时任务的配置记录被清空...

我不是三爷
04/25
0
0
通过python将阿里云DNS解析作为DDNS使用

---layout: posttitle: "通过python将阿里云DNS解析作为DDNS使用"date: 2017-10-27 08:21:49categories: Linux tags: Linux 通过python将阿里云DNS解析作为DDNS使用 脚本需要Python2.x运行 ...

yysue
08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部