PyNetem是一个允许用户限制带宽或模拟弱网络的工具。

pynetem的Python项目详细描述


幽冥

PyNetem是一个允许用户限制带宽或模拟弱网络的工具。 它通过使用iproute的tc命令来实现,但大大简化了操作。 如果你在工作中需要的话,提供API。在

安装

pip install pynetem

如何使用它?在

在命令模式下,键入pynetem -h,您将看到帮助信息,此工具中的参数与'tc/netem'相同。在

如果主机无法从PyPI下载软件包,您可以在您的PC(无论是Windows还是Linux)中使用PyNetem(>;=0.1.2),并附加以下参数:

^{pr2}$

您也可以使用tc/netem的原始命令。 有关tc/netem的详细信息,请单击此处:netem

当您有多个主机要控制时,或者您希望构建一个网页以便于使用时,建议使用web模式。在

在web模式下运行:pynetem --web,默认端口为8899,您可以自己指定pynetem --web --port=9090

有8个API:

[GET] /pynetem/help                                     -- Get demo post data and simple description
[GET] /pynetem/listInterfaces                           -- Get interfaces name of host
[GET] /pynetem/getRules?eth=<interface name>            -- Get qdisc rules by interface
[GET/DELETE] /pynetem/clear?eth=<interface name>        -- Clear all rules
[POST] /pynetem/setRules?eth=<interface name>           -- Set tc qdisc rule

[POST] /pynetem/brctl/addbr                             -- Set bridge, the bridge name is pynetem_bridge by defaut
[GET/DELETE] /pynetem/brctl/delbr                       -- Delete pynetem_bridge
[POST] /pynetem/brctl/addif                             -- Add interface(s) to pynetem_bridge

Post Body,如果设置参数None'',则该参数将被忽略。在

[POST] /pynetem/setRules?eth=<interface name>

{"delay":"100ms 10ms 25%","distribution":"normal","reorder":"25% 50%","loss":"0.3% 25%","duplicate":"1%","corrupt":"0.1%","rate":"256kbit","buffer":1600,"limit":3000,"dst":"10.10.10.0/24"}

[POST] /pynetem/brctl/addbr

默认情况下,stp为“开”。在

{"interfaces":["eth0","eth1"],"stp":"on"}

[POST] /pynetem/brctl/addif

{"interfaces":["eth2"]}

注意!

当您按ctrl + c停止web服务器时,所有接口和pynetem桥中的所有qdisc规则将自动清除。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java复选框。setOnCheckedChangeListener调用崩溃应用程序?   java如何模拟@InjectMocks类中的方法?   注释Java getter和setter   java是否锁定jar或DLL文件?   java绝对uri:http://www.slf4j.org/taglib/tld无法解决   java无法解析符号FirebaseMessagingService   java Glassfish 4中的性能调谐器在哪里?(优化树莓皮)   java获取同一页面上的内容标签   java NoClassDefFoundError,这里忽略了什么?(附图)   OnCreate中的java代码没有按顺序运行   如何在MongoDB Java驱动程序中用多个字段表示对象   java使用JTextfield文本重复搜索JTable   java奇怪的效果与字符串比较==   如何在Java Play框架中托管API?   hibernate中的java交叉连接问题