2.1 KiB
2.1 KiB
HPE 1810 switch scraper — cheat sheet
Innan du kör något
source ~/code/venvs/hpe/bin/activate
cd ~/code/experiments/hpe
Alla kommandon nedan behöver NO_PROXY satt (annars går trafiken via er proxy och 502:ar):
export NO_PROXY=192.168.2.10
(sätt den en gång per terminal-session, eller lägg i ~/.zshrc)
Stäng switchens webb-UI i webbläsaren innan du kör skript — den tillåter bara en inloggad session åt gången.
Köra en extraktor
python -m extractors.port_summary
python -m extractors.system_description
python -m extractors.network_setup
python -m extractors.buffered_log
python -m extractors.lldp_statistics
python -m extractors.log_configuration
python -m extractors.backup_manager
Var och en loggar in (eller återanvänder cachad session), hämtar, skriver ut, och flaggar sig som "Implemented" i TODO.md.
Kombinera flera i eget skript
import switch_client
from extractors.port_summary import get_port_summary
session = switch_client.get_session()
ports = get_port_summary(session)
Logga in en gång, återanvänd session för alla anrop.
Menyupptäckt / TODO.md
python discover.py # skanna om menyn, uppdatera TODO.md
python discover.py --dump-html ./out # + spara rå HTML för felsökning
Fyll i y i "Want it?"-kolumnen i TODO.md för sidor du vill ha en extraktor för.
Felsökning
| Symptom | Orsak | Åtgärd |
|---|---|---|
RuntimeError: Login failed... |
Webb-UI:t öppet i en flik, eller nyss inloggad från annan process | Stäng fliken / vänta ~5 min (session-timeout) |
502 Bad Gateway |
Proxy fångar trafiken | export NO_PROXY=192.168.2.10 |
| Vill tvinga ny inloggning | Cachad session krånglar | switch_client.get_session(force_login=True) |
| Rensa cachad session helt | — | rm .session_cookie |
Lägga till en ny extraktor
Alla sidor delar samma HTML-mönster — kolla extractors/xe_page.py. Kopiera en befintlig extraktor (t.ex. system_description.py), byt PATH och tabellnamnet i tables["..."].