# HPE 1810 switch scraper — cheat sheet ## Innan du kör något ```bash 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): ```bash 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. ## Konfiguration (`config.py`) Läses från miljövariabler, med defaults för dagens switch: ```bash export SWITCH_HOST=192.168.2.10 # default export SWITCH_HTTPS=false # default; sätt till "true" om switchen kräver HTTPS export SWITCH_PASSWORD="" # default (ingen); sätt om switchen får ett lösenord ``` Bara sätta de du behöver ändra — resten faller tillbaka på nuvarande värden. ## Köra en extraktor ```bash 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 ```python 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 ```bash 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["..."]`.