1.9 KiB
SNMP Multi-Subnet Scanner
Opis
Ten skrypt w Pythonie umożliwia skanowanie wielu podsieci IPv4 i pobieranie informacji SNMP (v2c) z urządzeń sieciowych, takich jak Mikrotik, Cisco, itp. Obsługuje multithreading (6 wątków) dla przyspieszenia pracy i pomija adresy IP, które nie odpowiedziały na żadne zapytania SNMP.
Funkcje
- Obsługa wielu podsieci (CIDR)
- Wsparcie dla standardowych OID-ów: sysName, sysDescr, sysLocation, sysContact
- Wydajne skanowanie z użyciem ThreadPoolExecutor (6 wątków)
- Ignorowanie hostów, które nie odpowiedziały (timeout lub brak danych)
- Czytelna tabela wyników w terminalu
Wymagania
- Python 3.6+
- Zainstalowany snmpget (część pakietu net-snmp)
Na Debian/Ubuntu: sudo apt install snmp
Użycie
python snmp_scan.py <subnet1> [subnet2 subnet3 ...] [-c community]
Przykłady:
Skan jednej podsieci:
python snmp_scan.py 10.87.2.0/24
Skan wielu podsieci z niestandardowym community:
python snmp_scan.py 10.87.2.0/24 10.88.1.0/24 -c moje_community
Przykładowy wynik
IP sysName sysDescr sysLocation sysContact
10.87.2.1 cisco-router Cisco IOS Software... Serwerownia admin@example.com 10.87.2.2 rb750 RouterOS RB750Gr3 ... Rack1 noc@firma.pl
Dostosowanie
Aby dodać więcej OID-ów do zapytań, edytuj słownik oids
w kodzie:
oids = { "sysName": "1.3.6.1.2.1.1.5.0", "sysDescr": "1.3.6.1.2.1.1.1.0", ... }
Licencja
Projekt open-source na potrzeby wewnętrzne lub edukacyjne. Dalsza dystrybucja zgodna z zasadami Twojej organizacji.