跳转到主要内容

Python模块,用于与ethtool接口

项目描述

Python ethtool模块

Python对ethtool内核接口的绑定

Python ethtool 模块允许查询和部分控制网络接口、驱动和硬件设置。

安装

安装 ethtool 的最简单方法是使用您发行版的软件包仓库。例如

Fedora: sudo dnf install python3-ethtoolsudo 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 软件包还提供了 pethtoolpifconfig 工具。更多示例用法可以从它们的源代码中收集,例如 pethtool.pypifconfig.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

更多用法信息可以在 pethtoolpifconfig 的相应手册页中找到。

测试

可以通过 tox 运行测试。

作者

  • Andy Grover

  • Antoni S. Puimedon

  • Arnaldo Carvalho de Melo

  • Bohuslav Kabrda

  • Braňo Náter

  • Dave Malcolm

  • David S. Miller

  • David Sommerseth

  • Harald Hoyer

  • Charalampos Stratakis

  • Jeff Garzik

  • Lumir Balhar

  • Miro Hrončok

  • Miroslav Suchý

  • Ruben Kerkhof

  • Sanqui

  • Yaakov Selkowitz

当前维护者

贡献

请随意帮助我们改进测试覆盖率、移植到 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的支持

  • 上游URL更改为https://github.com/fedora-python/python-ethtool

  • 引入了一个基本的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 (44.9 kB 查看哈希值)

上传时间 源代码

由...