Usando o Ubuntu 10.10, eu queria saber se havia um comando de linha de comando que pode listar todos os IPs de dispositivos conectados à rede?
Eu usaria isso, por exemplo, para listar todos os computadores conectados à minha rede doméstica. Idealmente, ele precisa ser a linha de comando, pois eu vou executá-lo a partir do C ++.
Alguma ideia?
linux
ubuntu
networking
ip
Christopher Gwilliams
fonte
fonte
Respostas:
Confira o comando arp-scan - você provavelmente terá que instalá-lo, por exemplo:
http://manpages.ubuntu.com/manpages/hardy/man1/arp-scan.1.html
E para dar mais detalhes:
Onde eth0 é o seu dispositivo. Você pode encontrar seu dispositivo com:
fonte
wlan0
vez deeth0
.Use o nmap. exemplo:
nmap -sn 10.10.10.0/24
O cache de arp irá dizer apenas aqueles que você tentou entrar em contato recentemente.fonte
No windows isto seria "
arp -a
" eu acredito que um equivalente disso no Linux seria "arp -e
".Esta informação pode ser encontrada na página man do arp:
fonte
arp -a
exibem (todos) hosts no estilo alternativo (BSD). Simpy rodandoarp
faz o mesmo que rodararp -e
porque esse é o padrão.Se a sua rede for
192.168.0.0/24
, crie um arquivo executável com o seguinte código; Mude192.168.0
para a sua rede real.fonte
ping -b -c 1 192.168.0.255
result "1 pacotes transmitidos, 0 recebidos, 100% perda de pacotes, tempo 0ms"Tente instalar
nmap
(sudo apt-get install nmap
) e digitenmap 192.168.1.0/24
substituindo192.168.1
com as três primeiras partes do seu endereço IP (descobrir usandoip addr
).Você também pode obter um mapa da rede um pouco menos preciso (na minha experiência) executando
ping 192.168.1.255
(novamente substituindo192.168.1
), o que deve emitir umping
para cada máquina na rede, mas, na minha experiência, nem sempre funciona corretamente.fonte
Veio com o seguinte em um nexus usando
tmux
comoarp-scan
não está no repo masnmap
veio pré-instalado, exibe apenas os endereços IP:fonte
Para uma lista mais compacta de dispositivos conectados:
Explicação.
nmap -sL 192.168.0.*
listará todos os IPs na sub-rede e marcará aqueles que tiverem nome:Como todos os registros interessantes começam com parêntese
(
e dígito1
, filtramos para isso com| grep \(1
(barra invertida é necessária para escapar dos parênteses)Quirk
Esteja ciente de que, se dois dispositivos tiverem o mesmo nome,
nmap
mostrará apenas o que foi conectado ao último roteador.fonte
Elaborando a resposta de Anders Larrson -
fonte