Obtendo uma lista de endereços IP na sub-rede local e em quais opções eles estão

1

Eu gostaria de obter um arquivo de texto listando quais endereços IP estão em minha sub-rede local e com qual switch ethernet eles se conectam. Idealmente, o nome da máquina seria bom, mas posso resolver isso manualmente.

Alguém sugeriu o NMAP. Eu tentei e estou impressionado com o número de opções. Existe uma opção que me daria esse tipo de informação.

Minha intuição é que é mais difícil descobrir informações sobre troca porque os swithces são transparentes para IP. Alguém pode sugerir um caminho.

    
por justintime 24.07.2010 / 11:59

3 respostas

3

use por exemplo

nmap -sP -PR 192.168.1.0/24

(Use o endereço de rede e a máscara apropriados)

Para mapear os anfitriões. -sP ignora o portscan, enquanto -PR solicita uma varredura ARP, que funciona apenas em redes locais, mas não pode ser bloqueada por firewalls (na verdade, é possível, mas é insanamente impraticável).

Você pode filtrar isso para uma lista de amostra com alguns scripts:

nmap -sP -PR 192.168.1.0/24 2>/dev/null |grep "appears to be up" |awk '{print $2}'

Para obter a localização física, você precisa de um switch gerenciável. Os bons switches gerenciáveis responderão ao SNMP e permitirão que você consulte a localização de um endereço MAC específico.

Primeiro você precisa mapear endereços IP para MAC, você pode tentar processar a saída do nmap, mas é mais fácil consultar a tabela ARP do sistema (leia /proc/arp on * nix, ou tente o comando arp ) .

Uma vez que você tenha um endereço MAC, o modo padrão de obter a porta via SNMP será geralmente através do Q-BRIDGE-MIB se o seu switch manuseia VLANs, ou (IIR) o P-BRIDGE-MIB. Você pode consultá-lo, por exemplo, com as ferramentas net-snmp:

snmpget -v2c -c public 192.168.1.1 Q-BRIDGE-MIB::dot1qTpFdbPort.y.x.x.x.x.x.x

Em que public é o nome da comunidade SNMP, 192.168.1.1 é o endereço da opção , y é o ID da VLAN e x são os bytes com código decimal do endereço MAC. Você provavelmente precisará ativar o SNMP no comutador, permitir o acesso de sua estação, usar um nome de comunidade e / ou uma versão de protocolo diferentes.

Para switches que não lidam com VLANs, existem entradas equivalentes no iirc da P-BRIDGE-MIB.

Para ver como funciona a codificação de endereço, você pode usar snmpwalk para recuperar a tabela de encaminhamento completa do switch, desta forma:

smpwalk -v2c -c public 192.168.1.1 Q-BRIDGE-MIB::dot1qTpFdbPort

Se você tiver vários comutadores, cada MAC aparecerá na porta correta no comutador correto, mas também nas portas de troncos relevantes dos outros comutadores, portanto, você precisará de uma maneira de filtrar as portas de troncos.

    
por 24.07.2010 / 22:48
1

Listar todos os hosts usando seu gateway (provavelmente um switch (ou roteador)


arp-scan -I eth0 -l

    
por 05.09.2012 / 16:41
0

Não tenho certeza qual sistema operacional você está usando, mas até certo ponto você pode encontrar as informações da sua máquina. Você deve executar a ferramenta wireshark (ethereal). Esta vontade deve você sobre todos os pacotes viajando entre a rede. Você não obterá a listagem de todas as máquinas, mas poderá ver muitas redes e máquinas. Depois disso, você pode verificar a sua tabela de arp e também encontrar as máquinas IP, endereço MAC. Sua máscara de sub-rede deve informar quantas máquinas são permitidas na rede atual.

    
por 24.07.2010 / 19:44