Python模块,用于与ethtool接口
项目描述
Python ethtool模块
Python对ethtool内核接口的绑定
Python ethtool 模块允许查询和部分控制网络接口、驱动和硬件设置。
安装
安装 ethtool 的最简单方法是使用您发行版的软件包仓库。例如
Fedora: sudo dnf install python3-ethtool 或 sudo dnf install python2-ethtool
Ubuntu: sudo apt install python-ethtool
要从源代码或 PyPI 安装 ethtool,请首先安装其依赖项
Fedora: sudo dnf install libnl3-devel gcc redhat-rpm-config python3-devel
Ubuntu: sudo apt install python3 python3-setuptools libpython3.6-dev libnl-route-3-dev
然后安装 ethtool
从 PyPI: pip3 install ethtool
从源代码: python3 setup.py install
用法
ethtool 可以用作 Python 库
>>> import ethtool >>> ethtool.get_active_devices() ['lo', 'enp0s31f6', 'wlp4s0', 'virbr0', 'docker0', 'virbr1', 'eth0', 'tun0'] >>> ethtool.get_ipaddr('lo') '127.0.0.1'
ethtool 软件包还提供了 pethtool 和 pifconfig 工具。更多示例用法可以从它们的源代码中收集,例如 pethtool.py 和 pifconfig.py。
pethtool 模仿 ethtool 工具的行为,但不支持所有选项。
例如,要获取 eth0 接口的驱动信息
$ pethtool -i eth0 driver: cdc_ether bus-info: usb-0000:00:14.0-4.1.3
类似地,pifconfig 在用法上模仿 ifconfig。它可以用来查看接口信息
$ pifconfig lo lo inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope: host UP LOOPBACK RUNNING
测试
可以通过 tox 运行测试。
当前维护者
Lumír Balhar <lbalhar@redhat.com>
Miro Hrončok <mhroncok@redhat.com>
Charalampos Stratakis <cstratak@redhat.com>
贡献
请随意帮助我们改进测试覆盖率、移植到 Python 3 或其他任何事情。GitHub 上的问题和 PR 欢迎提交。
许可证
Python ethtool 项目是免费软件,根据 GNU 通用公共许可证 v2.0 条款分发,请参阅 COPYING。
更改日志
0.15
Thu Jul 29 2021 Lumír Balhar <lbalhar@redhat.com>
现在跳过了 wireguard 设备的测试
pifconfig 现在可以显示每个接口的多个 IPv4 地址
pifconfig 支持没有 IPv4 地址的接口
0.14
2018年9月12日星期三 Miro Hrončok <mhroncok@redhat.com>
从现在起仅将项目声明为错误修复
支持Python 3.7
修复了静态分析报告的重要问题
修复了在Python 3.5和3.6上的非UTF-8语言环境中的安装问题
添加了set_gso()、get_gro()和set_gro()函数
添加了安装说明
0.13
2017年6月13日星期二 Miro Hrončok <mhroncok@redhat.com>
首次发布于PyPI
支持Python 2.7和3.5+
放弃了Python 2.6的支持
引入了一个基本的README文件
PEP7和PEP8(代码风格)改进
修复了在现代Fedora上的编译错误
0.12
2017年3月21日星期二 Charalampos Stratakis <cstratak@redhat.com>
首次尝试添加对Python 3的支持
0.11
2014年5月8日星期四 David Sommerseth <davids@redhat.com>
在多个地方改进了错误处理
确保在连接时获得有效的libnl NETLINK连接
更新URL到SPEC文件
0.10
2014年1月10日星期五 David Sommerseth <davids@redhat.com>
这不是一个完整的发布,但是一个初步发布,以便进行更广泛的测试
FSF版权更新
构建修复
主要是代码清理
0.9
2013年12月11日星期三 David Sommerseth <davids@redhat.com>
修复了仅IPv6接口的get_active_devices()
从libnl1迁移到libnl3
重构PyNetlink*Address实现
0.8
2013年2月19日星期二 David Malcolm <dmalcolm@redhat.com>
在pifethtool示例中启用IPv6
代码清理,修复缓冲区溢出、内存泄漏等
0.7
2011年4月11日星期一 David Sommerseth <davids@redhat.com>
修复了多个内存泄漏(提交aa2c20e697af,abc7f912f66d)
改进了对NULL值的错误检查(提交4e928d62a8e3)
修复了pethtool –help中的拼写错误(提交710766dc722)
仅在需要时打开NETLINK连接(提交508ffffbb3c)
为pifconfig和pethtool添加了man页面(提交9f0d17aa532,rhbz#638475)
使用FD_CLOEXEC在fork()时强制关闭NETLINK套接字(提交1680cbeb40e)
0.6
2011年1月19日星期三 David Sommerseth <davids@redhat.com>
如果我们没有从rtnl_link_get_addr()收到任何地址,则不会崩溃
从MANIFEST中删除错误文件
添加了ethtool.version字符串常量
避免重复IPv6地址信息
在setup.py中导入sys模块(Miroslav Suchy)
0.5
2010年8月9日星期一 David Sommerseth <davids@redhat.com>
修复了双重释放问题(提交c52ed2cbdc5b851ebc7b)
0.4
2010年4月28日星期三 David Sommerseth <davids@redhat.com>
David Sommerseth现在接管python-ethtool的维护工作
上游源代码的新URL
添加了新的API:ethtool.get_interfaces_info() - 返回etherinfo对象列表
添加了对IPv6地址的检索支持,使用etherinfo::get_ipv6_addresses()
0.3
2008年8月26日星期二 Arnaldo Carvalho de Melo <acme@redhat.com>
添加了来自第一个python-ethtool贡献者的get_flags方法,耶
添加了pifconfig命令,该命令使用可用的绑定模拟ifconfig工具
0.2
2008年8月20日星期三 Arnaldo Carvalho de Melo <acme@redhat.com>
在 Fedora 审查过程中,扩展描述和摘要字段。
0.1
2007年12月18日 阿纳尔多·卡瓦略·德·梅洛 <acme@redhat.com>
从 rhpl 0.212 获取 ethtool 代码
项目详情
ethtool-0.15.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 567260ea5805063bbcff71dabd6fb820f89bc84f720e9ebe315c7eef1449d908 |
|
MD5 | 11bb2dea653286c245794829b389e952 |
|
BLAKE2b-256 | d2592137996ee2da077e9369ac323830938bfc14083049081d89fdd7f3cf20a5 |