56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
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.
|