使用soap api访问netgear路由器

pynetgear-enhanced的Python项目详细描述


Pynetgear_增强版

pynetgear_enhanced提供了一个易于使用的python api来控制netgear路由器。它使用现代netgear路由器上的soap api进行通信。它是通过逆向工程来构建的,这些请求由NETGEAR精灵应用程序

pynetgear_enhanced适用于python 3。

如果已连接到NETGEAR路由器的网络,则主机是可选的。 如果您通过有线连接到NETGEAR路由器,则密码是可选的。 用户名默认为admin。 端口默认为5000。 ssl默认为false。 您可以指定url,它将优先于主机/端口/ssl参数。 这允许使用https,https://orbilogin.com例如。

感谢:
原始代码的matmaulgruijter用于其他soap端点。

它目前支持以下操作:

  • 登录
    登录到路由器。将返回true或false以指示成功。

  • 允许阻塞设备
    允许用户通过指定MAC地址和新设备状态(阻止/允许)阻止/取消阻止设备访问路由器
    注意:要使用此功能,必须在路由器的管理设置中启用远程管理功能。

服务设备配置:

  • 重新启动
    重新启动设备。

  • 检查新固件
    返回包含固件信息的dict。

  • 设置块设备启用
    启用/禁用访问控制。

  • 获取块设备启用状态
    返回包含访问控制状态的dict。

  • 获取流量表统计信息
    从路由器返回包含流量表信息的dict(如果在webinterface中启用)。

  • 启用流量表
    启用/禁用流量表。

  • 启用流量表
    返回包含交通量表状态的dict。

  • 获取流量表选项
    返回包含交通量表选项的dict。

服务家长控制:

  • 启用家长控制
    启用/禁用家长控制。

  • 获取家长控制启用状态
    返回包含家长控制状态的dict。

  • 获取所有Mac地址
    返回包含mac地址的dict。

  • 获取DNS MASQ设备ID
    返回包含dns masq设备id的dict。

服务设备信息:

  • 获取信息
    返回包含路由器信息的dict。

  • 获取支持功能列表XML
    返回包含支持功能的dict。

  • 获取连接的设备
    返回一个命名元组列表,描述设备信号、IP、名称、MAC、类型、链路速率和允许或块。

  • 获取连接的设备 返回一个命名元组列表,该列表描述设备信号、IP、名称、MAC、类型、链路速率、允许块、设备类型、设备型号、SSID和连接MAC。
    此呼叫速度较慢,路由器负载可能更重。

服务高级服务质量:

  • 设置速度测试开始
    开始速度测试。

  • 获取速度测试结果
    返回包含速度测试结果的dict。
    开始速度测试后,您必须等待几秒钟以获得最终结果。

  • 设置QoS启用状态
    启用/禁用QoS。

  • 获取QoS启用状态
    返回包含QoS状态的dict。

  • 获取带宽控制选项
    返回包含带宽控制选项的dict。

服务WLAN配置:

  • 设置来宾访问已启用
    启用/禁用2.4G来宾WiFi。

  • 启用"获取访客访问"功能
    返回包含2.4G来宾WiFi状态的dict。

  • 设置来宾访问已启用 启用/禁用2.4G Guest WiFi 2。

  • 启用"设置5G访客"访问功能
    启用/禁用5G来宾WiFi。

  • 启用5g访客访问功能
    返回包含5G Guest WiFi状态的dict。

  • 获取wpa安全密钥
    返回包含2.4g wpa密钥的dict。

  • 获取5g wpa安全密钥
    返回包含5g wpa密钥的dict。

  • 获取2G信息
    返回包含2.4g信息的dict。

  • 获取5g信息
    返回包含5G信息的dict。

  • 获取访客访问网络信息
    返回包含2.4G来宾网络信息的dict。

  • 获取5g访客接入网络信息
    返回包含5G来宾网络信息的dict。

安装

您可以使用:
pip3安装pynetgear增强版

用法

对于从控制台运行的命令列表:
$python3-m pynetgear_enhanced-h

对于测试,从控制台将a-t附加到命令。
$python3-m pynetgear_enhanced-p='myescapedpassword!'--检查fw-t

在python脚本中使用:

frompynetgearimportNetgearnetgear=Netgear(password=mypassword)foriinnetgear.get_attached_devices():printi

支持的路由器

它已经过netgear rax80路由器的测试。之前的测试是在添加高级选项之前对r6300和wndr4500路由器进行的。根据netgear genie应用程序说明,以下路由器也应工作:

  • NETGEAR RAX80
  • NETGEAR ORBI
  • NETGEAR R7800
  • NETGEAR R7500v2
  • NETGEAR R7000
  • NETGEAR R6900
  • NETGEAR R6300
  • NETGEAR R6250
  • NETGEAR R6200
  • NETGEAR R6100
  • NETGEAR N300-型号:C3000(端口80)
  • NETGEAR Centria(Wndr4700,Wnd4720)
  • NETGEAR WNDR4500
  • NETGEAR WNDR4300
  • NETGEAR WNDR4000
  • NETGEAR WNDR3800
  • NETGEAR WNDR3700v3
  • NETGEAR WNDR3700v2
  • NETGEAR WNDR3400v2
  • NETGEAR WNR3500LV2
  • NETGEAR WNR2200
  • NETGEAR WNR2000v3
  • NETGEAR WNR2000v4(端口80)
  • NETGEAR WNR1500
  • NETGEAR WNR1000v2
  • NETGEAR WNR1000v3
  • NETGEAR Wndrmac
  • NETGEAR WNR612v2

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

推荐PyPI第三方库


热门话题
缺少java MIMessage附件   java试图从JSON数组向数据库插入数据   铸造java。util。ArrayList无法转换为java。util。矢量   在到达末尾后从头开始读取csv文件(Java、OpenCSV)   Java swing如何在另一个线程中打开框架   java如何为集合正确编写此比较器。排序(arrayList、comparator)?   JavaOOD将配置传递给外部类的最佳方式   java不确定如何使用switch语句从main()调用要运行的方法   java循环菜单以在选择后显示   java将位置对象转换为地址(谷歌地图)   java Hazel cast客户端端口问题   使用JarJar重新打包工具的java   使用Java Netscape目录LDAP API和二进制筛选器值   java如何从Google App Engine下载应用程序源文件   java如何居中javafx场景图“摄影机”   java调用servlet而不提交并停留在同一个JSP页面中   将文本文件加载到HashMap<Integer,List<String>>java中   JavaFX平台。重新加载站点后运行更高版本()