Suchen Sie einen Host im Netzwerk


11

Was ist die beste Methode, um eine bestimmte Workstation in einem VLAN zu finden?

Ich muss dies manchmal tun, wenn eine Workstation-IP-Adresse in einer ACL-Verweigerung angezeigt wird

  1. Torrent-Nutzung
  2. Hohe Bandbreitennutzung (Top Talker)
  3. Schnauben Alarm

    So wie ich es jetzt mache,

    • Melden Sie sich bei einem Core-Switch im selben VLAN an
    • Pingen Sie die IP-Adresse,
    • Rufen Sie den MAC aus der ARP-Tabelle ab
    • Mac-Adressensuche, um zu sehen, von welchem ​​Schalter es gelernt wurde
    • Melden Sie sich bei diesem Schalter an, spülen Sie und wiederholen Sie den Vorgang, bis ich die Workstation gefunden habe

Manchmal kann dies die Anmeldung bei ~ 7 Switches erfordern. Es gibt spezielle Herausforderungen für dieses Netzwerk, gegen die ich im Moment nichts unternehmen kann. Riesige VLANs (/ 16) mit einigen hundert Benutzern in jedem VLAN

In einem Cisco-Shop mit minimalem Budget und Verwendung von Cisco-Switches muss es eine effizientere Möglichkeit geben, Host-Computer aufzuspüren.

BEARBEITEN: Um weitere Details hinzuzufügen

Insbesondere suche ich nach dem Switch-Port, mit dem der Benutzer verbunden ist? Auch etwas Geschichte wäre toll .. weil mein Ansatz nur funktioniert, während der Benutzer noch verbunden ist, und kein Wert, wenn ich die Protokolle am Morgen überprüfe, aber das Gerät ist nicht mehr verbunden.

Es gibt kein zentrales DNS oder Active Directory, es ist wie ein Gastnetzwerk, in dem nur Internetzugang bereitgestellt wird. Ich versuche, etwas Management und ein bisschen Sicherheit zu bieten.

Ich habe versucht, "show ip dhcp binding | inc" anzuzeigen. Es gibt mir einen seltsamen MAC (mit 2 zusätzlichen Zeichen), der nicht der zugehörige Geräte-MAC ist. Ich habe dies noch nicht untersucht, aber ARP ist korrekt und ich bin besorgter Mit dem Auffinden des Switch-Ports wird die betreffende Maschine verbunden.

Ich hoffe, dies liefert einige Klarstellungen


2
In Bezug auf Ihre "show ip dhcp binding | inc": Die zusätzlichen Zeichen an der Vorderseite sind der Medientyp. Wenn Sie die ersten beiden Zeichen entfernen, verbleibt der Client-MAC. Die zweistelligen Darstellungen sind in Tabelle 2: freesoft.org/CIE/RFC/1700/24.htm
some_guy_long_gone

@legioxi, dies setzt voraus, dass sich das Gerät selbst über den MAC identifiziert hat. Wenn eine Zeichenfolge verwendet wurde, wird dies möglicherweise vom Server angezeigt.
Ricky Beam

Antworten:


13

Schauen Sie sich Layer2 Traceroute (für Cisco) an. Cdp sollte übrigens laufen ...

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# 

Das ist erstaunlich, ich spiele jetzt damit herum. Genau das, wonach ich gesucht habe
Hyussuf

9

Wir verwenden das Mactrack- Plugin auf Cacti, um solche Dinge zu tun. Funktioniert recht gut, historische Daten sind ebenfalls verfügbar.

Solange die ARP- und MAC-Adresstabellen über SNMP verfügbar sind, funktioniert es. Das einzige kleine Problem, das wir hatten, ist, wo die Layer 3-Instanz für eine Site eine ASA ist. Wir haben dies nur umgangen , indem wir die ARP-Tabelle über Skripte abgerufen und eine Arpwatch- Datei generiert haben , da mactrack dies unterstützt.

Beispiel-Screenshot aus unserem Setup: Geben Sie hier die Bildbeschreibung ein

Imgurl-Link: http://i.imgur.com/h9JQVkC.png


Nett! Vielleicht ist es besser, ein größeres Bild von Imgur oder so zu machen. Davon kann ich überhaupt nicht viel sehen. :-)
John Jensen

@JohnJensen Ja, das ist nur ein Stapelaustausch, der das Bild verkleinert. Es wird in voller Größe hochgeladen. Versuchen Sie, das Bild in einem anderen Tab zu öffnen, z. B. "Rechtsklick - Bild in neuem Tab in Chrome öffnen". Fügt trotzdem einen Link zur Antwort hinzu.
Stefan Radovanovici

7

Es gibt verschiedene Möglichkeiten, dies kostengünstig zu tun (die Ausübung von Forschung und / oder Implementierung überlasse ich Ihnen).

  1. Haben Sie ein Skript, das sich bei jedem Ihrer Edge-Geräte anmeldet und die MAC-Adresstabellen von diesen abruft. Sie möchten Trunk-Schnittstellen dafür ausschließen, aber es wäre trivial, einen Hash (oder ein Diktat für Sie Python-Leute) zu erstellen, wobei die Schlüssel die Edge-Schalter und die Werte ein weiterer Hash sind, der im Grunde "mac.addr -> interface" ist ". Auf diese Weise müssen Sie keine MACs mehr auf Ihren Edge-Switches suchen, was anscheinend der größte Teil der Arbeit ist. Ich kann empfehlen, Perls Net::Appliance::Sessionoder Pythons zu verwenden exscript, um dies zu erreichen (dies setzt voraus, dass Sie Zugriff auf eine * NIX-Box haben).

  2. Verwenden Sie SNMP, um diese Daten abzufragen. Dadurch muss sich kein Skript mehr bei Switches anmelden und Befehle ausführen. Sie müssen selbst nach MIBs für die MAC-Adresstabellen suchen, aber hier ist eine Google-Suche, um Ihnen den Einstieg zu erleichtern .

  3. Wenn Sie nur unter Windows arbeiten, können Sie SecureCRT oder TeraTerm verwenden, um Makros so einzurichten, dass dies für Sie "halbautomatisiert" wird. Meine Erfahrung mit beiden ist jedoch sehr begrenzt, daher YMMV.

Hoffe das gibt dir ein paar Ideen.


6

Ich möchte ein Skript haben, das alle 15 Minuten erfasst show arpund show cam dynausgegeben wird. Ich stempele es mit term exec prompt timestampeinem Zeitstempel, damit wir eine grobe Korrelation für die Zeiten haben. Dann hänge ich alle Switch-Ausgaben an eine Datei an ... eine Datei pro Switch und Tag.

Alle diese Protokolle werden zur leichteren Erfassung im selben Verzeichnis gespeichert.

Das Finden von Hosts wird zu einer ziemlich einfachen Grep-Übung, wenn Sie die Topologie kennen ... In Fenstern ohne Grep stecken? Verwenden Sie Cygwin ...


2

Warum nicht die Dinge vereinfachen und einen nslookup für die IP durchführen, den Hostnamen von DNS abrufen und den Hostnamen verwenden, um den Computer über eine Asset-Liste oder eine Verwaltungsdatenbank zu finden? Wenn Sie kein Reverse-DNS-Setup haben, können Sie sich beim DHCP-Server anmelden, um den Hostnamen abzurufen.

Ich weiß, dass es keine Cisco / CLI-Methode ist, aber es sollte funktionieren, wenn Ihre Benutzer den Computern 1-1 zugewiesen sind. Wenn Sie viele zu 1 sind, können Sie Windows / Linux-Tools verwenden, um den aktuellen Benutzer des Computers zu ermitteln.


Ich glaube nicht, dass hyussuf versucht herauszufinden, wer sich auf dem Computer befindet - da es sich um Network Engineering handelt, und anhand des von ihm bereitgestellten Beispiels gehe ich davon aus, dass er versucht, festzustellen, an welchen physischen Port ein Gerät angeschlossen ist, und dieses Gerät möglicherweise nicht immer eine Workstation sein.
Mark

Nicht nur das, aber dies ist eine Art Gastnetzwerk. Der einzige Service, den wir anbieten, ist das Internet, eine Mischung aus BYOD und kleinen Unternehmen, die einen Internetzugang benötigen, um ihre Arbeit zu erledigen. Technisch gesehen ein ISP an einem entfernten Ort mit allen Arten von Benutzern. Die Cisco-Router sind meine DHCP-Server. Wenn ich mir die Bindungsinformationen ansehe, ist der MAC völlig falsch. Er hat sogar zwei zusätzliche Zeichen, die noch nicht untersucht wurden.
Hyussuf

Mein Hauptziel ist es auch, den fehlerhaften Switch-Port zu lokalisieren und die Verbindung zu trennen oder herunterzufahren ... Ich entschuldige mich, ich kann nicht herausfinden, wie eine neue Leitung hergestellt werden soll
Hyussuf

Möglicherweise möchten Sie die Frage mit weiteren Details aus den beiden Kommentaren aktualisieren, die Sie zu meiner Antwort gepostet haben. Auf jeden Fall einige gute Infos, um bei den Antworten zu helfen.
some_guy_long_gone

2

Du machst es genauso wie ich es manuell machen würde.

Es gibt Software, die die manuellen Schritte für Sie erledigt. Ein im SolarWinds Engineering Toolkit enthaltenes Tool wird es, obwohl es leider nicht billig ist. Ich bin sicher, es gibt andere Alternativen.

Wenn Sie eine Zwischenlösung oder eine Skriptarbeit benötigen, sehen Sie sich die in dieser Antwort ausgegebenen SNMP-Befehle an, um eine Vorstellung davon zu erhalten, wie Sie sie von einem System mit einem CLI-SNMP-Client aus skripten können

Bearbeitet, um hinzuzufügen: Ich gehe davon aus, dass Ihr "Spülen und Wiederholen" den Ping und so weiter nicht wieder einschließt. Sobald Sie die Mac-Adresse festgelegt haben, sollten Sie in der Lage sein, einfach sh mac addr | auszuführen in #### (whoops spitze Klammern verschwinden)


richtig, ping nur einmal, "show mac add | inc ####", mehrmals mit einigen show cdp nachbarn gemischt
hyussuf

Ich werde offenlegen, dass ich sowohl auf das Engineering Toolkit als auch auf den User Device Tracker ( solarwinds.com/user-device-tracker.aspx ) Zugriff habe und mich in 99% der Fälle bei Switches anmelde und es einfach mache manuell. Zugegeben, es ist selten, dass ich 7 tief gehen muss, aber es funktioniert einfach.
Mark

Mein SNMP-Fu ist nicht stark, aber dieser Link ist sehr interessant und hat mir einige Ideen gegeben.
Hyussuf

1

Sie fragen zwei Dinge.
1. Suchen Sie einen MAC in Ihrem Netzwerk - Ich empfehle, ein Skript (PHP) zu erstellen und SNMP zu verwenden, um alle MAC-Adresstabellen abzufragen, um Ihnen den Switch / Port zu geben, an dem sich die IP / MAC-Adresse befindet.

2.Überwachen Sie die Nutzung Ihrer (Torrent-Nutzung, Nutzung mit hoher Bandbreite (Top Talker), Snort-Warnung) - Verwenden Sie eine Lösung als ntop , um die Flüsse in Ihrem Netzwerk zu überwachen. Ich hatte das vor langer Zeit benutzt und war großartig.


1

Nur ein Vorschlag ... Wenn Sie eine Art aktive Syslog-Überprüfung haben, die bei bestimmten Ereignissen ausgelöst werden kann, können Sie ein Skript zum SNMP-Nachschlagen der IP-Adresse auf jedem Switch schreiben, um zu wissen, wo sie sich ungefähr zum Zeitpunkt des Ereignisses befand.

(Entschuldigung, ich kann die genauen OIDs nicht finden.)

Bearbeiten: Link " Verwenden von SNMP zum Suchen einer Portnummer von einer MAC-Adresse auf einem Catalyst-Switch " Ich habe den Trick comm @ vlan vergessen . Es gibt viele Tabellen zum Pingen, um alle Informationen zu finden, die für einen Menschen benötigt werden. :-(


1

switchmap ist ein weiteres Tool, mit dem Sie (unter anderem) verfolgen können, welche Mac-Adresse sich hinter welchem ​​Switchport befindet.


1

Ich habe netdisco verwendet, um diese Informationen zu sammeln. Es ermöglicht einem, die Datenbank mit einem Hostnamen, einer IP-Adresse, einer MAC-Adresse usw. abzufragen und den Switch und den Switchport zurückzugeben. Es wird auch einige andere nützliche Dinge tun.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.