文档章节

python 获取网卡与ip

banwh
 banwh
发布于 2017/08/29 17:09
字数 124
阅读 38
收藏 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')

 

© 著作权归作者所有

共有 人打赏支持
上一篇: ctdb main loop
下一篇: osd内的pg数量
banwh
粉丝 2
博文 55
码字总数 79966
作品 0
海淀
程序员
私信 提问
Python windows下获取MAC地址的一种方法

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

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

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

我不是三爷
04/25
0
0
OpenVPN的新钩子设计

openvpn是一个虚拟网卡和SSL相结合的vpn框架,使用虚拟网卡得到协议栈封装数据,然后通过ssl协议发送出去,此中重点在于:1.得到数据;2.得到的数据是协议栈封装好的数据;3.通过openssl的接...

晨曦之光
2012/04/10
195
0
双手奉上WIFI破解教程, 还请各位Python大佬收下

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

Python新世界
07/29
0
0
使用 Python 的 Socket 模块构建一个 UDP 扫描工具

当涉及到对一些目标网络的侦察时,出发点无疑是首先发现宿主主机。这个任务还可能包含嗅探和解析网络中数据包的能力。 几周前,我曾经谈到了如何使用Wireshark来进行数据包嗅探,但如果你没有...

oschina
2015/06/22
9.3K
9

没有更多内容

加载失败,请刷新页面

加载更多

oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
6
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
5
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部