Localize um host na rede

11

Qual é o melhor método para localizar uma estação de trabalho específica em uma VLAN?

Às vezes, preciso fazer isso, se um endereço IP da estação de trabalho aparecer em um ACL Deny

  1. uso de torrent
  2. Alto uso de largura de banda (principais participantes)
  3. Alerta de bufo

    Do jeito que eu faço agora,

    • Faça logon em um switch principal na mesma VLAN
    • Faça ping no endereço IP,
    • Recuperar o MAC da tabela ARP
    • Pesquisa de endereço do Mac para ver de qual comutador foi aprendido
    • logon nesse interruptor, enxágue e repita até localizar a estação de trabalho

às vezes isso pode levar o login a ~ 7 switches, há desafios específicos a essa rede sobre os quais não posso fazer nada no momento. VLANs enormes (/ 16) com algumas centenas de usuários em cada VLAN

em uma loja completa da Cisco, com orçamento mínimo usando switches Cisco, deve haver uma maneira mais eficiente de rastrear máquinas host?

EDIT: Para adicionar mais detalhes

Especificamente, estou procurando a porta do switch à qual o usuário está conectado? também algum histórico seria ótimo .. porque minha abordagem só funciona enquanto o usuário ainda está conectado e não tem valor quando reviso os logs pela manhã, mas o dispositivo não está mais conectado.

Não há DNS central ou Active Directory, é como uma rede de convidados, onde apenas o acesso à Internet é fornecido. Eu tento fornecer um pouco de gerenciamento e um pouco de segurança.

Eu tentei "show ip dhcp binding | inc", me dá um MAC estranho (com 2 caracteres extras) que não é o dispositivo associado ao MAC, ainda não examinei isso, mas o ARP é preciso e estou mais preocupado ao encontrar a porta do switch à qual a máquina ofensiva está conectada.

espero que isso forneça algum esclarecimento

hyussuf
fonte
2
Em relação ao "show ip dhcp binding | inc": Os caracteres extras na frente são do tipo de mídia. Se você remover os dois primeiros caracteres, ficará com o cliente MAC. As representações de dois dígitos estão na tabela 2: freesoft.org/CIE/RFC/1700/24.htm
some_guy_long_gone
@ legioxi, isso pressupõe que o próprio dispositivo se identificasse usando o MAC. Se ele usou uma string, pode ser o que o servidor mostra.
Ricky feixe

Respostas:

13

Dê uma olhada no traceroute Layer2 (para Cisco). O Cdp deve estar executando ...

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# 
user209
fonte
Isso é incrível, estou brincando com isso agora. Exatamente o que eu estava procurando
hyussuf
9

Usamos o plug-in mactrack no Cacti para fazer essas coisas. Funciona muito bem, dados históricos também estão disponíveis.

Desde que as tabelas de endereços ARP e MAC estejam disponíveis via SNMP, elas funcionam. O único pequeno problema que tivemos foi onde a instância da camada 3 de um site é um ASA. Acabamos de solucionar isso puxando a tabela ARP por meio de scripts e gerando um arquivo arpwatch , pois o mactrack suporta isso.

Exemplo de captura de tela de nossa configuração: insira a descrição da imagem aqui

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

Stefan Radovanovici
fonte
Agradável! Pode ser melhor mostrar uma imagem maior no imgur ou algo assim. Não consigo ver muito disso. :-)
John Jensen
@ JohnJensen Sim, isso é apenas uma troca de pilha, diminuindo a escala da imagem, ela é carregada em tamanho real. Tente abrir a imagem em outra guia, por exemplo "Clique com o botão direito do mouse - abra a imagem em uma nova guia no Chrome". Irá adicionar um link para a resposta de qualquer maneira.
Stefan Radovanovici
7

Existem algumas maneiras de fazer isso barato (o exercício de pesquisa e / ou implementação, deixarei com você).

  1. Tenha um script que efetue login em cada um dos seus dispositivos de borda e pegue as tabelas de endereços MAC deles. Você deseja excluir interfaces de tronco para isso, mas seria trivial criar um hash (ou dict para você, pessoal python), com as chaves sendo as chaves de borda e os valores sendo outro hash que é basicamente "mac.addr -> interface " Isso eliminará a necessidade de você perseguir os MACs nos seus switches de borda, que é a maior parte do trabalho que parece. Eu posso recomendar o uso de Perl Net::Appliance::Sessionou Python exscriptpara fazer isso acontecer (isso pressupõe que você tenha acesso a uma caixa * NIX).

  2. Use o SNMP para consultar esses dados, o que eliminará a necessidade de um script efetivamente efetuar login nos comutadores e executar comandos. Você pode procurar MIBs para as tabelas de endereços MAC, mas aqui está uma pesquisa no Google para você começar .

  3. Se você estiver apenas no Windows, poderá usar o SecureCRT ou o TeraTerm para configurar macros para "automatizar parcialmente" isso para você, mas minha experiência com qualquer uma dessas é muito limitada, portanto, YMMV.

Espero que te dê algumas ideias.

John Jensen
fonte
6

Eu gosto de ter um script que capte show arpe show cam dynproduza a cada 15 minutos, eu o registro com data e hora term exec prompt timestamppara que tenhamos uma correlação aproximada por vezes. Anexo toda a saída do switch a um arquivo ... um arquivo por switch, por dia.

Todos esses logs são mantidos no mesmo diretório para facilitar o grepping.

Encontrar hosts se torna um exercício grep bastante simples se você conhece a topologia ... Preso no Windows sem o grep? Use cygwin ...

Mike Pennington
fonte
2

Por que não simplificar as coisas e fazer uma pesquisa no IP, pegar o nome do host no DNS e usar o nome do host para encontrar o computador por meio de uma lista de ativos ou banco de dados de gerenciamento? Ou, se você não tiver a configuração reversa do DNS, poderá fazer login no servidor DHCP para obter o nome do host.

Sei que não é um método Cisco / CLI, mas deve funcionar se os usuários estiverem atribuídos aos computadores 1-1. Se você possui muitos, pode usar as ferramentas do Windows / Linux para descobrir o usuário atual do computador.

some_guy_long_gone
fonte
Não acho que hyussuf esteja tentando descobrir quem está no computador - como é a Engenharia de rede e, pelo exemplo que ele forneceu, presumo que ele esteja tentando determinar a qual porta física um dispositivo está conectado, e esse dispositivo pode nem sempre seja uma estação de trabalho.
Mark
É verdade que não é só isso, mas essa é uma espécie de rede de convidados, o único serviço que fornecemos é Internet, mistura de BYOD e pequenas empresas que precisam de acesso à Internet para realizar seu trabalho. tecnicamente um ISP em um local remoto com todos os tipos de usuários. Os roteadores Cisco são meus servidores dhcp, quando olho para as informações de ligação, o MAC está completamente errado e ainda tem 2 caracteres extras ainda não analisados.
hyussuf
Também o meu principal objetivo é localizar a porta do switch ofender e desconexão ou 'fechada' para baixo ... Peço desculpas, figura não consigo descobrir como nova linha
hyussuf
Você pode atualizar a pergunta com mais detalhes dos dois comentários que postou na minha resposta. Definitivamente, algumas boas informações para ajudar nas respostas.
some_guy_long_gone
2

Você está fazendo da mesma maneira que eu faria manualmente.

Existe um software por aí que fará as etapas manuais para você. Uma ferramenta incluída no SolarWinds Engineering Toolkit irá, embora infelizmente não seja barata. Tenho certeza que existem outras alternativas.

Se você deseja uma solução intermediária ou algum trabalho de script, consulte os comandos SNMP emitidos nesta resposta para ter uma idéia de como você pode criá-la a partir de um sistema com um cliente CLI SNMP

Editado para adicionar: Presumo que seu "enxágue e repita" não inclua novamente o ping e outros enfeites ao longo do caminho. Depois de determinar o endereço mac, você poderá fazer apenas sh mac addr | em #### (os colchetes angulares desaparecem)

Marca
fonte
correta, pingue apenas uma vez, "show mac add | inc ####", misturado com algumas show cdp vizinhos várias vezes
hyussuf
Vou divulgar que tenho acesso ao Engineering Toolkit e ao User Device Tracker ( solarwinds.com/user-device-tracker.aspx ) e, em 99% do tempo, acabo efetuando login nos comutadores e apenas fazendo isso manualmente. É certo que é raro eu tenho que ir 7 profundidade, mas simplesmente funciona.
Mark
Meu SNMP-fu não é forte, mas esse link é muito interessante e me deu algumas idéias.
hyussuf 6/06/2013
1

Você está perguntando duas coisas.
1.Localize um MAC na sua rede - aconselho a criar um script (php) e usar o SNMP para consultar toda a tabela de endereços MAC para fornecer a opção / porta em que está localizado o endereço IP / MAC.

2. Monitore o uso do seu (uso de torrent, uso de alta largura de banda (principais participantes), alerta do Snort) - Use uma solução como ntop para monitorar os fluxos em sua rede. Eu tinha usado isso há muito tempo e foi ótimo.

cgasp
fonte
1

Apenas uma sugestão ... se você tiver algum tipo de inspeção de syslog ativa que possa ser acionada em eventos específicos, poderá escrever um script para procurar SNMP no IP em todos os comutadores, para saber onde estava aproximadamente na época em que o evento acontece.

(desculpe, não consigo encontrar os OIDs exatos)

Edit: link " Usando o SNMP para encontrar um número de porta de um endereço MAC em um Catalyst Switch " Eu esqueci o truque do comm @ vlan . Existem muitas tabelas para executar ping para encontrar todas as informações necessárias para um ser humano. :-(

Ricky Beam
fonte
1

O switchmap é outra ferramenta que pode ser usada para rastrear qual endereço MAC está por trás do qual switchport (entre outras coisas).

Teun Vink
fonte
1

Eu usei o netdisco para coletar essas informações. Isso permitirá que você consulte a base de dados com um nome de host, endereço IP, endereço MAC, etc., e retorne o switch e o switchport. Também fará outras coisas úteis.

Heath
fonte
-3

Você pode achar este link útil

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

edrtz
fonte
Geralmente, é considerado bom estilo no Net Eng SE incluir os detalhes básicos de sua resposta e fornecer um link para materiais de referência, se necessário. (Porque, "elo podridão" significa eventualmente que URL não vai a lugar nenhum útil.)
Craig Constantine