Skip to main content

A library for interacting with Netgear Plus switches.

Project description

Python Library for NETGEAR Plus Switches

What it does

Grabs statistical network data from supported NETGEAR Switches from the Plus Managed Network Switch line. These switches can only be managed using a Web interface and not through SNMP or cli. This library uses web scraping to collect the switch configuration, statistics and some basic configuration updates.

How it works

  1. Detecting Switch Model/Product in login.cgi
  2. Connects to the Switch and asks for a cookie (http://IP_OF_SWITCH/login.cgi)
  3. HTTP-Request send to the Switch twice (http://IP_OF_SWITCH/portStatistics.cgi) and compared with previous data ("in response time")

List of port statistics

Name key from get_switch_infos() Unit
Port {port} Traffic Received port_{port}_traffic_rx_mbytes MB (in response time)
Port {port} Traffic Sent port_{port}_traffic_tx_mbytes MB (in response time)
Port {port} Receiving port_{port}_speed_rx_mbytes MB/s
Port {port} Transferring port_{port}_speed_tx_mbytes MB/s
Port {port} IO port_{port}_speed_io_mbytes MB/s
Port {port} Total Received port_{port}_sum_rx_mbytes MB (since last switch reboot/reset)
Port {port} Total Transferred port_{port}_sum_tx_mbytes MB (since last switch reboot/reset)
Port {port} Connection Speed port_{port}_connection_speed MB/s
Port {port} Status port_{port}_status "on"/"off"
Port {poe_port} POE Power port_{poe_port}_poe_power_active "on"/"off"

List of aggregated statistics

Sensor Name key from get_switch_infos() Unit
Switch IO sum_port_speed_bps_io MB/s
Switch Traffic Received sum_port_traffic_rx MB (in response time)
Switch Traffic Sent sum_port_traffic_tx MB (in response time)

Supported and tested NETGEAR Models/Products and firmware versions

Model Ports Firmware versions Bootloader versions
GS105E 5 ?
GS108E 8 V1.00.11 V1.00.03
GS105Ev3 5 ?
GS108Ev3 8 V2.00.05, V2.06.10, V2.06.17, V2.06.24 V2.06.01 - V2.06.03
GS305EP 5 V1.0.1.1
GS308EP 8 V1.0.0.10, V1.0.1.4
GS308EPP 8 ?

Supported firmware languages: GR (German), EN (English)

Unsupported models

Model Support status
GS108PEv3 Not yet started
GS316EP Login is supported, statistics and PoE control not yet
GS316EPP Login is supported, statistics and PoE control not yet

Library Usage

create a python venv with requests and lxml

python3 -m venv .venv
source .venv/bin/activate
pip install lxml requests

Using this VENV go to your local source folder

Example calls

cd src
python3
ip = '192.168.178.68' # replace with IP address of your switch
p = 'fyce4gKZemkqjDY' # replace with your password
import py_netgear_plus
sw = py_netgear_plus.NetgearSwitchConnector(ip, p)
sw.autodetect_model()
sw.get_login_cookie()

data = sw.get_switch_infos()
print(sw.switch_model.MODEL_NAME)
print(data["port_1_sum_rx_mbytes"])
print(data)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_netgear_plus-0.2.13rc0.tar.gz (74.4 kB view details)

Uploaded Source

Built Distribution

py_netgear_plus-0.2.13rc0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file py_netgear_plus-0.2.13rc0.tar.gz.

File metadata

  • Download URL: py_netgear_plus-0.2.13rc0.tar.gz
  • Upload date:
  • Size: 74.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for py_netgear_plus-0.2.13rc0.tar.gz
Algorithm Hash digest
SHA256 3982f8b8a21eec52d664bc4f016644bca5fcb69c74a53e5cfae586f48b7e5e97
MD5 140de4d32f45e5734884a304c15c5806
BLAKE2b-256 02111bece7cdc0e7143625f1b28bd6e2bac82ec54147162780cb353465e2b1b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_netgear_plus-0.2.13rc0.tar.gz:

Publisher: ci.yml on foxey/py-netgear-plus

Attestations:

File details

Details for the file py_netgear_plus-0.2.13rc0-py3-none-any.whl.

File metadata

File hashes

Hashes for py_netgear_plus-0.2.13rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 b64d153476ce206eee81ea9a5593aabc920ed0f6b227ded5cc46de9244a4d556
MD5 46dcb103ba7403fa26e05949ee3c1dbb
BLAKE2b-256 d8c9b125c58e87d43216004c0852108f67f96b3c60762fdadc2e33159a335e4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_netgear_plus-0.2.13rc0-py3-none-any.whl:

Publisher: ci.yml on foxey/py-netgear-plus

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page