Sembra esserci un po 'di confusione ... stai chiedendo delle tabelle ARP e stai usando OID .1.3.6.1.2.1.17.4.3.1.2
; tuttavia, l'OID è effettivamente per la tabella degli indirizzi mac nello switch.
Suppongo che tu sappia come accedere al tuo server Ubuntu e che NET-SNMP
sia installato ... per favore fammi sapere se hai bisogno di puntatori per farlo (vedi questa domanda per suggerimenti sul caricamento dei MIB in Linux ). Alcuni dei miei esempi suppongono che tu abbia i MIB caricati sul tuo server ... devi solo rimuovere l' -m <mib-name>
opzione nei comandi se non hai i MIB caricati localmente.
Mi scuso in anticipo per la lunghezza di questa risposta ... Vorrei che il sondaggio con SNMP non fosse così complicato ...
Polling della tabella degli indirizzi mac:
Se vuoi davvero la tabella degli indirizzi mac dallo switch, ricorda che devi cambiare la stringa della community con cui esegui il polling ... dovrebbe essere sotto forma di <commity@vlan>
... ogni vlan del sondaggio ha bisogno di una community diversa.
Nel mio esempio di seguito, l'interruttore con 172.16.1.210 è configurato con snmp-server community public ro
e sto eseguendo il polling della tabella degli indirizzi mac in vlan-10 con dot1dTpFdbPort da BRIDGE-MIB .
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public@10 -OXsq 172.16.1.210 \
.1.3.6.1.2.1.17.4.3.1.2
dot1dTpFdbPort[0:6:53:fe:39:e0] 52
dot1dTpFdbPort[0:1d:a1:cd:53:46] 52
dot1dTpFdbPort[0:30:1b:bc:a7:d7] 52
dot1dTpFdbPort[0:80:c8:0:0:0] 52
dot1dTpFdbPort[38:ea:a7:6d:2e:8e] 52
dot1dTpFdbPort[80:ee:73:2f:b:40] 52
[mpenning@tsunami ~]$
Nell'output sopra, 52 è il valore di dot1dBasePort
, che è un numero utilizzato dal MIB per indicizzare la tabella dot1dTp. Per tradurlo in un normale nome di interfaccia, è necessario mapparlo su un ifName ... BRIDGE-MIB lo fa con dot1dBasePortIfIndex ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public@10 -m BRIDGE-MIB 172.16.1.210 \
.1.3.6.1.2.1.17.1.4.1.2
BRIDGE-MIB::dot1dBasePortIfIndex.52 = INTEGER: 10048
[mpenning@tsunami ~]$
[mpenning@tsunami ~]$ snmpget -v 2c -c public 172.16.1.210 ifName.10048
IF-MIB::ifName.10048 = STRING: Fa0/48
[mpenning@tsunami ~]$
Quindi sappiamo che tutti gli indirizzi mac su questo switch sono stati appresi tramite FastEthernet 0/48 in vlan-10.
Polling dei Vlan attivi:
Se non sei sicuro di quali vlan eseguire il polling su uno switch, puoi ottenere quelle informazioni .1.3.6.1.4.1.9.9.46.1.3.1.1.2
, che è vtpVlanState in CISCO-VTP-MIB ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq -m CISCO-VTP-MIB 172.16.1.210 \
.1.3.6.1.4.1.9.9.46.1.3.1.1.2
vtpVlanState[1][1] operational
vtpVlanState[1][10] operational
vtpVlanState[1][1002] operational
vtpVlanState[1][1003] operational
vtpVlanState[1][1004] operational
vtpVlanState[1][1005] operational
[mpenning@tsunami ~]$
Tieni presente che i Vlans 1002-1005 sono Cisco Vlans interni che non dovresti effettuare il polling.
Polling della tabella ARP
Se desideri davvero la tabella ARP dallo switch, devi eseguire il polling su PhysAddress ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.210 \
.1.3.6.1.2.1.3.1.1.2
atPhysAddress[10][1.172.16.1.5] "80 EE 73 2F 0B 40 "
atPhysAddress[10][1.172.16.1.25] "38 EA A7 6D 2E 8E "
atPhysAddress[10][1.172.16.1.32] "BC 51 FE 50 16 F8 "
atPhysAddress[10][1.172.16.1.200] "00 06 53 FE 39 E0 "
atPhysAddress[10][1.172.16.1.210] "00 18 BA 51 5B 41 "
[mpenning@tsunami ~]$
Salvataggio dell'output del comando in un file
Stiamo analizzando le aree che vanno al di fuori del normale ambito di questo sito, ma per salvare la tabella ARP sopra in un file /tmp/S01_ARP.txt
, aggiungeresti > /tmp/S01_ARP.txt
alla fine di quanto snmpbulkwalk
sopra ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.210 \
.1.3.6.1.2.1.3.1.1.2 > /tmp/S01_ARP.txt
[mpenning@tsunami ~]$ cat /tmp/S01_ARP.txt
atPhysAddress[10][1.172.16.1.5] "80 EE 73 2F 0B 40 "
atPhysAddress[10][1.172.16.1.25] "38 EA A7 6D 2E 8E "
atPhysAddress[10][1.172.16.1.32] "BC 51 FE 50 16 F8 "
atPhysAddress[10][1.172.16.1.200] "00 06 53 FE 39 E0 "
atPhysAddress[10][1.172.16.1.210] "00 18 BA 51 5B 41 "
[mpenning@tsunami ~]$
Come vedi sopra, puoi usare cat
in Linux per ottenere tutto l'output da un file di testo. NOTA: alcune distribuzioni di Linux (ahem ... CentOS) ripuliscono la /tmp
directory su base mensile. Dovresti usare la tua HOME
directory in linux per archiviare il file. Non ricordo che Ubuntu abbia ripulito /tmp
, ma per sicurezza eviterei di conservare le cose lì.
Note varie su SNMP ...
Se non hai caricato tutti i MIB di Cisco sul tuo computer Ubuntu, allora dovresti evitare di usare i -m <mib-name>
flag nei snmpbulkwalk
comandi. Il caricamento di MIB consente di eseguire il polling con un nome OID, anziché il numero con un punto lungo ...
Informazioni di riferimento:
Sto includendo alcuni comandi show dallo switch, nel caso abbiate domande sulla CLI per i comandi SNMP sopra ...
S01#sh ver | i IOS
Cisco IOS Software, C3560 Software (C3560-IPBASEK9-M), Version 12.2(37)SE, RELEASE SOFTWARE (fc2)
S01#
S01#sh mac address-table dynamic
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
10 0006.53fe.39e0 DYNAMIC Fa0/48
10 001d.a1cd.5346 DYNAMIC Fa0/48
10 0030.1bbc.a7d7 DYNAMIC Fa0/48
10 0080.c800.0000 DYNAMIC Fa0/48
10 38ea.a76d.2e8e DYNAMIC Fa0/48
10 80ee.732f.0b40 DYNAMIC Fa0/48
Total Mac Addresses for this criterion: 6
S01#
S01#sh arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 172.16.1.210 - 0018.ba51.5b41 ARPA Vlan10
Internet 172.16.1.200 0 0006.53fe.39e0 ARPA Vlan10
Internet 172.16.1.32 0 bc51.fe50.16f8 ARPA Vlan10
Internet 172.16.1.25 0 38ea.a76d.2e8e ARPA Vlan10
Internet 172.16.1.5 1 80ee.732f.0b40 ARPA Vlan10
S01#