Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查看/修改IP路由规则的Python接口_Python_Linux_Routing_Ip_Subprocess - Fatal编程技术网

查看/修改IP路由规则的Python接口

查看/修改IP路由规则的Python接口,python,linux,routing,ip,subprocess,Python,Linux,Routing,Ip,Subprocess,我试图找到一个Pythonic接口来实现ip-route风格的命令在Linux上的功能,类似于直接调用C库函数的方式,而不是使用子进程来调用和解析运行/usr/sbin/iptables的输出。是否存在这样一个模块 如果不是,在Python中执行以下操作的最佳方法是什么(最好不涉及子流程-解析): 获取计算机的IP路由表 向IP路由表添加新规则 是否从IP路由表中删除规则 你试过了吗?Pyroute2是一个纯Python netlink和Linux网络配置库。它只需要Python标准模块,不需

我试图找到一个Pythonic接口来实现
ip-route
风格的命令在Linux上的功能,类似于直接调用C库函数的方式,而不是使用
子进程来调用和解析运行
/usr/sbin/iptables
的输出。是否存在这样一个模块

如果不是,在Python中执行以下操作的最佳方法是什么(最好不涉及
子流程
-解析):

  • 获取计算机的IP路由表
  • 向IP路由表添加新规则
  • 是否从IP路由表中删除规则

    • 你试过了吗?Pyroute2是一个纯Python netlink和Linux网络配置库。它只需要Python标准模块,不需要其他第三方库。稍后它可以更改,但依赖关系树将保持尽可能简单。

      您可能不想听到这些,但我认为您最好还是分析shell命令的输出。在那些shell命令后面控制所有这些的例程可能不是很好移植。请记住:在Windows上解析shell命令的输出是一团乱麻,但在*ix上,它确实工作得很好。@dstromberg我想这是必须的