Individua un host sulla rete


11

Qual è il metodo migliore per individuare una particolare workstation su una VLAN?

A volte ho bisogno di fare questo, se un indirizzo IP di workstation, appare su un ACL Nega

  1. uso torrent
  2. Elevato utilizzo della larghezza di banda (Top Talkers)
  3. Avviso di sbuffo

    Il modo in cui lo faccio ora,

    • Accedere a uno switch principale nella stessa VLAN
    • Esegui il ping dell'indirizzo IP,
    • Recupera il MAC dalla tabella ARP
    • Ricerca indirizzo Mac per vedere da quale interruttore è stato appreso
    • accedere a quell'interruttore risciacquare e ripetere fino a quando non trovo la workstation

a volte questo può richiedere l'accesso a ~ 7 switch, ci sono sfide specifiche per questa rete di cui non posso fare nulla al momento. VLAN enormi (/ 16) con poche centinaia di utenti su ciascuna VLAN

in un negozio tutto Cisco, con un budget minimo che utilizza gli switch Cisco, ci deve essere un modo più efficiente per rintracciare le macchine host?

MODIFICA: per aggiungere ulteriori dettagli

In particolare sto cercando lo switch-port a cui è connesso l'utente? anche un po 'di storia sarebbe fantastica .. perché il mio approccio funziona solo quando l'utente è ancora connesso, e nessun valore quando rivedo i log al mattino, ma il dispositivo non è più connesso.

Non esiste un DNS centrale o Active Directory, è come una rete ospite, in cui è fornito solo l'accesso a Internet. Cerco di fornire un po 'di gestione e un po' di sicurezza.

Ho provato "show ip dhcp binding | inc" mi dà uno strano MAC (con 2 caratteri extra) che non è il MAC del dispositivo associato, non l'ho ancora esaminato, ma ARP è preciso e sono più preoccupato nel trovare la porta dello switch a cui è connessa la macchina incriminata.

spero che questo fornisca alcuni chiarimenti


2
Per quanto riguarda il tuo "show ip dhcp binding | inc": I caratteri extra nella parte anteriore sono il tipo di supporto. Se rimuovi i primi due caratteri, rimani con il MAC client. Le rappresentazioni a due cifre sono nella tabella 2: freesoft.org/CIE/RFC/1700/24.htm
some_guy_long_gone

@legioxi, questo presuppone che il dispositivo sia stato identificato tramite il MAC. Se ha usato una stringa, potrebbe essere quello che mostra il server.
Ricky Beam,

Risposte:


13

Dai un'occhiata a Layer2 traceroute (per Cisco) .. Cdp dovrebbe essere in esecuzione tra ...

Router# traceroute mac 0000.0201.0601 0000.0201.0201
Source 0000.0201.0601 found on con6[WS-C2950G-24-EI] (2.2.6.6)
con6 (2.2.6.6) :Fa0/1 => Fa0/3
con5                 (2.2.5.5        )  :    Fa0/3 => Gi0/1
con1                 (2.2.1.1        )  :    Gi0/1 => Gi0/2
con2                 (2.2.2.2        )  :    Gi0/2 => Fa0/1
Destination 0000.0201.0201 found on con2[WS-C3550-24] (2.2.2.2)
Layer 2 trace completed
Router# 
Router# traceroute mac 0001.0000.0204 0001.0000.0304 detail 
Source 0001.0000.0204 found on VAYU[WS-C6509] (2.1.1.10)
1 VAYU / WS-C6509 / 2.1.1.10 :
                Gi6/1 [full, 1000M] => Po100 [auto, auto]
2 PANI / WS-C6509 / 2.1.1.12 :
                Po100 [auto, auto] => Po110 [auto, auto]
3 BUMI / WS-C6509 / 2.1.1.13 :
                Po110 [auto, auto] => Po120 [auto, auto]
4 AGNI / WS-C6509 / 2.1.1.11 :
                Po120 [auto, auto] => Gi8/12 [full, 1000M] Destination 0001.0000.0304 
found on AGNI[WS-C6509] (2.1.1.11) Layer 2 trace completed.
Router# 

È fantastico, ci sto giocando adesso. Esattamente quello che stavo cercando
hyussuf il

9

Usiamo il plugin mactrack su Cacti per fare queste cose. Funziona abbastanza bene, sono disponibili anche dati storici.

Finché le tabelle degli indirizzi ARP e MAC sono disponibili tramite SNMP, allora funziona. L'unico piccolo problema che abbiamo riscontrato è dove l'istanza di livello 3 per un sito è un ASA. Abbiamo appena risolto il problema estraendo la tabella ARP tramite script e generando un file arpwatch , poiché mactrack lo supporta.

Schermata di esempio dalla nostra configurazione: inserisci qui la descrizione dell'immagine

Link imgurl: http://i.imgur.com/h9JQVkC.png


Bello! Potrebbe essere meglio gettare un'immagine più grande su imgur o qualcosa del genere. Non riesco a vedere molto di tutto ciò. :-)
John Jensen il

@JohnJensen Sì, è solo stackexchange che ridimensiona l'immagine, è caricata a grandezza naturale. Prova ad aprire l'immagine in un'altra scheda, ad esempio "Fai clic con il pulsante destro del mouse - apri l'immagine in una nuova scheda in Chrome". Aggiungerà comunque un link alla risposta.
Stefan Radovanovici,

7

Ci sono un paio di modi per farlo a buon mercato (l'esercizio di ricerca e / o implementazione che lascerò a te).

  1. Usa uno script che acceda a ciascuno dei tuoi dispositivi periferici e ne preleva le tabelle degli indirizzi MAC. Ti consigliamo di escludere le interfacce trunk per questo, ma sarebbe banale creare un hash (o dict per te python) con le chiavi che sono i edge switch e i valori che sono un altro hash che è fondamentalmente "mac.addr -> interfaccia ". Ciò eliminerà la necessità che tu insegua i MAC sui tuoi interruttori di bordo, che sembra la maggior parte delle legwork. Posso raccomandare di usare Perl Net::Appliance::Sessiono Python exscriptper far sì che ciò accada (ciò presuppone che tu abbia accesso a una * NIX box).

  2. Utilizzare SNMP per eseguire query su questi dati, eliminando la necessità di uno script per accedere effettivamente agli switch ed eseguire i comandi. Puoi cercare i MIB per le tabelle degli indirizzi MAC da solo, ma ecco una ricerca su Google per iniziare .

  3. Se sei solo su Windows, puoi utilizzare SecureCRT o TeraTerm per impostare macro per "automatizzare a metà" questo per te, ma la mia esperienza con uno di questi è molto limitata, quindi YMMV.

Spero che ti dia qualche idea.


6

Mi piace avere uno script che acquisisca show arpe show cam dynproduca ogni 15 minuti, con il timestamp con term exec prompt timestampcui abbiamo una correlazione approssimativa per i tempi. Quindi aggiungo tutto l'output dello switch a un file ... un file per switch, al giorno.

Tutti questi registri sono mantenuti nella stessa directory per un facile grepping.

Trovare host diventa un esercizio grep abbastanza semplice se conosci la topologia ... Bloccato in Windows senza grep? Usa cygwin ...


2

Perché non semplificare le cose e fare un nslookup sull'IP, prendere il nome host dal DNS e usare il nome host per trovare il computer tramite un elenco di risorse o un database di gestione? Oppure, se non si dispone di una configurazione DNS inversa, è possibile accedere al server DHCP per estrarre il nome host.

So che non è un metodo Cisco / CLI, ma dovrebbe funzionare se i tuoi utenti sono assegnati ai computer 1-1. Se hai molti a 1, puoi usare gli strumenti Windows / Linux per scoprire l'utente corrente del computer.


Non credo che Hyussuf stia cercando di trovare chi si trova sul computer - dato che si tratta di Network Engineering, e dall'esempio fornito, presumo che stia cercando di determinare a quale porta fisica è connesso un dispositivo e che dispositivo potrebbe non essere sempre una workstation.
Segna il

È vero, non solo quello, ma è una specie di rete ospite, l'unico servizio che offriamo è internet, un mix di BYOD e piccole aziende che richiedono l'accesso a Internet per fare il proprio lavoro. tecnicamente un ISP in una posizione remota con tutti i tipi di utenti. I router Cisco sono i miei server DHCP, quando guardo le informazioni di associazione, il MAC è completamente sbagliato, ha anche 2 caratteri extra che non hanno ancora esaminato.
hyussuf,

Anche il mio obiettivo principale è quello di individuare la porta dell'interruttore offensivo e disconnettere o "chiudere" ... Mi scuso, non riesco a capire come nuova linea
hyussuf

Potresti voler aggiornare la domanda con maggiori dettagli dai due commenti che hai pubblicato alla mia risposta. Sicuramente alcune buone informazioni per aiutare con le risposte.
some_guy_long_gone

2

Lo stai facendo nello stesso modo in cui lo farei manualmente.

Esiste un software là fuori che eseguirà i passaggi manuali per esso. Uno strumento incluso in SolarWinds Engineering Toolkit lo farà, anche se purtroppo non è economico. Sono sicuro che ci sono altre alternative.

Se sei in cerca di una soluzione intermedia o di qualche lavoro di scripting, dai un'occhiata ai comandi SNMP emessi in questa risposta per avere un'idea di come potresti copiarlo da un sistema con un client SNMP CLI

Modificato per aggiungere: presumo che il tuo "risciacqua e ripeti" non includa nuovamente il ping e quant'altro lungo il percorso. Una volta determinato l'indirizzo mac dovresti essere in grado di fare sh mac addr | in #### (le parentesi angolari scompaiono)


corretto, esegui il ping solo una volta, "show mac add | inc ####", mischiato più volte con alcuni show cdp neighbour
hyussuf

Rivelerò che ho accesso sia a Engineering Toolkit che a User Device Tracker ( solarwinds.com/user-device-tracker.aspx ) e al 99% delle volte che finisco per accedere agli switch e lo faccio manualmente. Certo, è raro che devo approfondire 7, ma funziona.
Segna il

Il mio SNMP-fu non è forte, ma quel link è molto interessante e mi ha dato alcune idee.
hyussuf,

1

Stai chiedendo due cose.
1. Individua un MAC sulla tua rete: ti consiglio di creare uno script (php) e utilizzare SNMP per eseguire una query su tutta la tabella degli indirizzi MAC per fornirti lo switch / porta in cui si trova l'indirizzo IP / MAC.

2.Monitor utilizzo del tuo (uso torrent, utilizzo della larghezza di banda elevata (Top Talkers), avviso Snort) - Usa una soluzione come ntop per monitorare i flussi sulla tua rete. L'avevo usato molto tempo fa ed è stato fantastico.


1

Solo un suggerimento ... se si dispone di una sorta di ispezione syslog attiva che può essere attivata su eventi specifici, è possibile scrivere uno script per la ricerca SNMP dell'IP su ogni switch, quindi sapere dove si trovava all'incirca nel momento in cui si verifica l'evento.

(scusa, non riesco a trovare gli OID esatti)

Modifica: collegamento " Uso di SNMP per trovare un numero di porta da un indirizzo MAC su uno switch Catalyst " Ho dimenticato il trucco comm @ vlan . Ci sono molte tabelle per eseguire il ping per trovare tutte le informazioni necessarie per un essere umano. :-(


1

switchmap è un altro strumento che può essere utilizzato per tenere traccia di quale indirizzo mac è dietro quale switchport (tra le altre cose).


1

Ho usato netdisco per raccogliere queste informazioni. Permetterà di interrogare la base di dati con un nome host, un indirizzo IP, un indirizzo MAC, ecc. E restituire lo switch e lo switchport. Farà anche altre cose utili.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.