使用Netgear路由器的SOAP API访问Netgear路由器
项目描述
pyNetgear
pyNetgear提供了一个易于使用的Python API来控制您的Netgear路由器。它使用现代Netgear路由器上的SOAP-api进行通信。它通过逆向工程由NETGEAR Genie应用发出的请求来构建。
pyNetgear与Python 2和3兼容。
如果您连接到Netgear路由器的网络,主机是可选的。如果您通过有线连接连接到Netgear路由器,密码是可选的。用户名默认为admin。端口默认为5000。ssl默认为false。您可以指定url,它将优先于主机/端口/ssl参数。这允许使用HTTPS,例如https://orbilogin.com
。
它目前支持以下操作
登录
登录到路由器。将返回True或False以指示成功。
get_attached_devices
返回一个描述设备信号、IP、名称、MAC、类型、链路速率和允许或阻止的命名元组的列表。
get_attached_devices_2
返回一个描述设备信号、IP、名称、MAC、类型、链路速率、允许或阻止、设备类型、设备型号、SSID和连接AP MAC的命名元组的列表。
此调用较慢,并且可能对路由器负载更重。
get_traffic_meter
返回一个包含从路由器(如果已在Web界面中启用)获取的流量计信息的字典。
allow_block_device
允许用户通过指定mac_addr和新设备状态(阻止/允许)来阻止/解除阻止设备访问路由器。注意:为了使用此功能,必须在路由器的管理设置中启用远程管理。
安装
您可以使用以下命令从PyPi安装PyNetgear:pip3 install pynetgear
(如果您仍在使用Python 2,请使用pip
)。
用法
在控制台中测试运行:$ python -m pynetgear [<pass>] [<host>] [<user>] [<port>] [<ssl>
在您的Python脚本中使用
from pynetgear import Netgear
netgear = Netgear(password=mypassword)
for i in netgear.get_attached_devices():
print i
支持的路由器
它已与Netgear R6300路由器和Netgear WNDR4500路由器进行了测试。根据NETGEAR Genie应用描述,以下路由器应该可以工作
- Netgear Orbi
- Netgear R7800
- Netgear R7500v2(端口80)
- 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
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。