Localizar un host en la red

11

¿Cuál es el mejor método para ubicar una estación de trabajo en particular en una VLAN?

A veces necesito hacer esto, si la dirección IP de una estación de trabajo aparece en una denegación de ACL

  1. uso de torrent
  2. Alto uso de ancho de banda (Top Talkers)
  3. Alerta de resoplido

    La forma en que lo hago ahora

    • Inicie sesión en un conmutador central en la misma VLAN
    • Haga ping a la dirección IP,
    • Recupere el MAC de la tabla ARP
    • Búsqueda de dirección de Mac para ver de qué interruptor se aprendió
    • inicie sesión en ese interruptor de enjuague y repita hasta que localice la estación de trabajo

a veces esto puede llevar iniciar sesión en ~ 7 conmutadores, hay desafíos específicos para esta red que no puedo hacer nada por el momento. VLAN enormes (/ 16) con unos cientos de usuarios en cada VLAN

En una tienda de todo Cisco, con un presupuesto mínimo utilizando conmutadores Cisco, ¿debe haber una forma más eficiente de localizar máquinas host?

EDITAR: para agregar más detalles

Específicamente, ¿estoy buscando el puerto del switch al que está conectado el usuario? también algo de historia sería genial ... porque mi enfoque solo funciona mientras el usuario todavía está conectado, y no tiene valor cuando reviso los registros por la mañana, pero el dispositivo ya no está conectado.

No hay DNS central o Active Directory, es como una red de invitados, donde solo se proporciona acceso a Internet. Intento proporcionar algo de administración y un poco de seguridad.

Intenté "show ip dhcp binding | inc", me da un MAC extraño (con 2 caracteres adicionales) que no es el MAC del dispositivo asociado, aún no he investigado esto, pero ARP es preciso y estoy más preocupado al encontrar el puerto del conmutador al que está conectada la máquina infractora.

espero que esto proporcione alguna aclaración

hyussuf
fuente
2
Con respecto a su "show ip dhcp binding | inc": los caracteres adicionales en el frente son el tipo de medio. Si elimina los dos primeros caracteres, se queda con el MAC del cliente. Las representaciones de dos dígitos se encuentran en la tabla 2: freesoft.org/CIE/RFC/1700/24.htm
some_guy_long_gone
@legioxi, esto supone que el dispositivo se identificó usando el MAC. Si usó una cadena, eso puede ser lo que muestra el servidor.
Ricky Beam

Respuestas:

13

Eche un vistazo a Layer2 traceroute (para cisco). Cdp debería ejecutarse por cierto ...

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# 
usuario209
fuente
Esto es increíble, estoy jugando con eso ahora. Exactamente lo que estaba buscando
hyussuf
9

Utilizamos el complemento mactrack en Cacti para hacer tales cosas. Funciona bastante bien, los datos históricos también están disponibles.

Siempre que las tablas de direcciones ARP y MAC estén disponibles a través de SNMP, entonces funcionará. El único pequeño problema que tuvimos fue cuando la instancia de la capa 3 para un sitio es un ASA. Simplemente solucionamos esto sacando la tabla ARP a través de scripts y generando un archivo arpwatch , ya que mactrack lo admite.

Captura de pantalla de ejemplo de nuestra configuración: ingrese la descripción de la imagen aquí

Enlace Imgurl: http://i.imgur.com/h9JQVkC.png

Stefan Radovanovici
fuente
¡Agradable! Puede ser mejor arrojar una imagen más grande en imgur o algo así. No puedo ver mucho de eso en absoluto. :-)
John Jensen
@JohnJensen Sí, eso es solo stackexchange escalando la imagen hacia abajo, se carga a tamaño completo. Intente abrir la imagen en otra pestaña, por ejemplo "Haga clic derecho - abrir imagen en una pestaña nueva en Chrome". Agregará un enlace a la respuesta de todos modos.
Stefan Radovanovici
7

Hay un par de formas de hacer esto de forma económica (el ejercicio de investigación y / o implementación lo dejaré en manos de usted).

  1. Tenga un script que inicie sesión en cada uno de sus dispositivos perimetrales y tome las tablas de direcciones MAC de ellos. Deberá excluir las interfaces troncales para esto, pero sería trivial crear un hash (o dict para usted, gente de Python) con las claves como los interruptores de borde y los valores como otro hash que es básicamente "mac.addr -> interfaz ". Esto eliminará la necesidad de perseguir MAC en sus conmutadores de borde, que es la mayor parte del trabajo preliminar que parece. Puedo recomendar el uso de Perl's Net::Appliance::Sessiono Python exscriptpara que esto suceda (esto supone que tiene acceso a un cuadro * NIX).

  2. Use SNMP para consultar estos datos, lo que eliminará la necesidad de un script para iniciar sesión en los switches y ejecutar comandos. Está solo para buscar MIB para las tablas de direcciones MAC, pero aquí hay una búsqueda en Google para comenzar .

  3. Si solo está en Windows, puede usar SecureCRT o TeraTerm para configurar macros para "automatizar a medias" esto para usted, pero mi experiencia con cualquiera de estos es muy limitada, así que YMMV.

Espero que te den algunas ideas.

John Jensen
fuente
6

Me gusta tener una secuencia de comandos que tome show arpy show cam dynenvíe cada 15 minutos, le doy una marca de tiempo term exec prompt timestamppara que tengamos una correlación aproximada de los tiempos. Luego agrego todos los resultados del interruptor a un archivo ... un archivo por interruptor, por día.

Todos estos registros se mantienen en el mismo directorio para facilitar el grepping.

Encontrar hosts se convierte en un ejercicio grep bastante simple si conoce la topología ... ¿Atascado en ventanas sin grep? Usa cygwin ...

Mike Pennington
fuente
2

¿Por qué no simplificar las cosas y hacer un nslookup en la IP, tomar el nombre de host de DNS y usar el nombre de host para encontrar la computadora a través de una lista de activos o una base de datos de administración? O si no tiene una configuración de DNS inversa, puede iniciar sesión en el servidor DHCP para obtener el nombre del host.

Sé que no es un método Cisco / CLI, pero debería funcionar si sus usuarios están asignados a las computadoras 1-1. Si son muchos a 1, puede usar las herramientas de Windows / Linux para averiguar el usuario actual de la computadora.

some_guy_long_gone
fuente
No creo que Hyussuf esté tratando de encontrar quién está en la computadora, ya que esto es Ingeniería de redes, y por el ejemplo que proporcionó, supongo que está tratando de determinar a qué puerto físico está conectado un dispositivo, y ese dispositivo puede No siempre será una estación de trabajo.
Marcar el
Es cierto, no solo eso, sino que es una especie de Red de Invitados, el único servicio que brindamos es Internet, una combinación de BYOD y pequeñas empresas que requieren acceso a Internet para hacer su trabajo. técnicamente un ISP en una ubicación remota con todo tipo de usuarios. Los enrutadores Cisco son mis servidores dhcp, cuando miro la información de enlace, el MAC está completamente equivocado, incluso tiene 2 caracteres adicionales que aún no han investigado.
hyussuf
También mi objetivo principal es localizar el puerto del conmutador ofensivo y desconectar o 'apagar' ... Me disculpo, no puedo encontrar la manera de una nueva línea
hyussuf
Es posible que desee actualizar la pregunta con más detalles de los dos comentarios que publicó en mi respuesta. Definitivamente alguna buena información para ayudar con las respuestas.
some_guy_long_gone
2

Lo estás haciendo de la misma manera que lo haría manualmente.

Hay un software por ahí que tomará los pasos manuales para usted. Una herramienta incluida en SolarWinds Engineering Toolkit lo hará, aunque desafortunadamente no es barata. Estoy seguro de que hay otras alternativas.

Si está buscando una solución intermedia o algún trabajo de creación de scripts, eche un vistazo a los comandos SNMP emitidos en esta respuesta para tener una idea de cómo podría crear un script desde un sistema con un cliente CLI SNMP

Editado para agregar: Supongo que su "enjuague y repetición" no incluye nuevamente el ping y otras cosas en el camino. Una vez que haya determinado la dirección mac, debería poder hacer sh mac addr | en #### (los corchetes angulares desaparecen)

marca
fuente
correcto, haga ping solo una vez, "show mac add | inc ####", mezclado con algún vecino show cdp varias veces
hyussuf
Revelaré que tengo acceso tanto al Engineering Toolkit como al User Device Tracker ( solarwinds.com/user-device-tracker.aspx ) y al 99% del tiempo que termino iniciando sesión en los interruptores y simplemente haciéndolo a mano. Es cierto que es raro que tenga que ir a 7 profundidades, pero simplemente funciona.
Mark
Mi SNMP-fu no es fuerte, pero ese vínculo es muy interesante y me ha dado algunas ideas.
hyussuf
1

Estás preguntando dos cosas.
1.Localice un MAC en su red: le aconsejo que cree un script (php) y use SNMP para consultar toda la tabla de direcciones MAC para proporcionarle el conmutador / puerto donde se encuentra la dirección IP / MAC.

2. Uso del monitor de su (uso de torrents, uso de alto ancho de banda (Top Talkers), alerta de Snort) - Use una solución como ntop para monitorear los flujos en su red. Lo había usado hace mucho tiempo y fue genial.

cgasp
fuente
1

Solo una sugerencia ... si tiene algún tipo de inspección activa de syslog que puede desencadenarse en eventos específicos, puede escribir un script en SNMP para buscar la IP en cada interruptor, así que sepa dónde estaba aproximadamente en el momento en que ocurre el evento.

(lo siento, no puedo encontrar los OID exactos)

Editar: enlace " Uso de SNMP para buscar un número de puerto de una dirección MAC en un switch Catalyst " Olvidé el truco comm @ vlan . Hay muchas tablas para hacer ping para encontrar toda la información necesaria para un humano. :-(

Ricky Beam
fuente
1

Switchmap es otra herramienta que se puede utilizar para realizar un seguimiento de qué dirección MAC se encuentra detrás de qué switchport (entre otras cosas).

Teun Vink
fuente
1

He usado netdisco para recopilar esta información. Le permitirá a uno consultar la base de datos con un nombre de host, dirección IP, dirección MAC, etc. y devolver el switch y el switchport. Hará algunas otras cosas útiles también.

Brezo
fuente
-3

Puede encontrar este enlace útil

http://arunrkaushik.blogspot.com/2007/10/traceroute-mac-ip.html

edrtz
fuente
En general, se considera un buen estilo en Net Eng SE incluir los detalles básicos de su respuesta y proporcionar un enlace a materiales de referencia si es necesario. (Porque "link rot" significa que eventualmente esa URL no será útil).
Craig Constantine