Comando do Windows para exibir todos os endereços IP

31

Sei que há uma única linha de comando e seus argumentos que podem ajudar a exibir todos os endereços IP do computador (aqueles que estão sendo usados) em uma LAN, e meu computador também é um cliente, como um dos exibidos, mas esqueci. O que é isso?

Bé Vú Sữa 1
fonte
Eu não acho que isso seja possível de uma maneira tão genérica.
theglauber
Você precisaria fazer o ping na varredura local e, em seguida, use o comando arp -a listado abaixo.
Cpt_fink 18/01/14
É melhor verificar todo o endereço IP usando 'Endereço IP irritado'.
Vembutech

Respostas:

28

Você pode executar o arp -acomando para mostrar todas as entradas do ARP na tabela sobre computadores na sua rede.

Fonte

GigabitP
fonte
6
Ele mostra todos os sistemas com os quais seu computador está ciente / com quem conversou - no entanto, pode não estar completo - eu fiz uma rápida experiência com o arp -a e ele não mostrou um ou dois dos meus sistemas até que eu o fiz ping.
Journeyman Geek
Sim, como o link que eu postei disse, ele não mostrará tudo, a menos que os tenha armazenado nas tabelas para que as máquinas não sejam mostradas, mas faz uma lista muito boa.
precisa saber é o seguinte
Welcone para Stack Exchange, Gigabit Pony! Quando um link compõe a maior parte de sua resposta, você deve sempre citar as partes importantes, caso ele morra mais tarde. Veja também o tutorial sobre como escrever boas respostas .
Blacklight Shining
21

Nem tudo com um endereço IP é um computador - descobri que nenhuma dessas sugestões retornou todos os endereços IP ativos - na verdade, a maioria retornou muito poucos. Minha rede doméstica possui uma combinação de dispositivos com e sem fio e dois roteadores, telefones celulares, TV, PVR, Apple AirPort e provavelmente algumas coisas que esqueci. Usei o seguinte para verificar todos os endereços na sub-rede 192.168.1.xxx:

for /L %i in (0,1,255) do ping -n 1 -w 250 192.168.1.%i>>ipaddress.txt

O arquivo resultante ipaddress.txt contém os resultados do ping para todos os endereços e procurei aqueles com " Received = 1" - atualmente 16 endereços retornaram um resultado - só tenho 4 computadores em casa - e eles não estavam todos ativados.

Clifford
fonte
A edição sugeriu (de volta laminado) for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txttem mérito, mas não é fundamental para a resposta, não é consistente com o resto da resposta que usou Received = 1em vez de bytes=32, e não é necessariamente a maneira que eu teria feito isso. Estou adicionando este comentário, caso alguém ache a sugestão útil.
Clifford
1
for /L %i in (1,1,254)pode ser mais apropriado, pois xxxxxx.0é o endereço de toda a rede e xxxxxx.255é o endereço de broadcast.
Scott
13

Existe o net view /allcomando que lista todos os nomes de computadores conectados à mesma LAN.

É possível recuperar os endereços IP individuais usando o nslookup <computer name>comando ou gravar um script em lote para fazer isso por você.

Aqui está um exemplo de lote que juntei para ilustrar.

@echo off
setlocal EnableDelayedExpansion
set "xNext="
set "xComputer="
for /f %%A in ('net view /all') do (
    set "xComputer=%%~A"
    if "!xComputer:~0,2!"=="\\" for /f "tokens=2,* delims=. " %%X in ('nslookup %%A') do (
        if "!xNext!"=="1" (
            echo.!xComputer! = %%X.%%Y
            set "xNext=0"
        )
        if "!xComputer:~2!"=="%%~X" set "xNext=1"
    )
)
endlocal
pause
David Ruhmann
fonte
5

Além de arp -a, net view /allou escrever um script em lote, não há linha de comando nativa / interna para fazer isso (pelo menos não que eu saiba).

Se você estiver disposto a usar um comando não nativo, sugiro usar o Nmap . Você pode executar nmap -sn 192.168.0.0/24(substituindo a sub-rede pela apropriada para a sua LAN) para obter o que procura, de maneira mais confiável do que net view /allou arp -ana minha opinião.

Drew Chapin
fonte
1

ipconfig /all (use barra, não para trás)

Unnikrishnan
fonte
20
O ipconfig lista as interfaces do próprio PC e não os endereços IP usados ​​na LAN.
Christian
1

Conforme indicado por outra pessoa, você pode usar, arp -ano entanto, certifique-se de executar ping em um endereço de broadcast primeiro para que o ARP relate todos os dispositivos. Por exemplo,ping 192.168.0.255

você obtém uma lista de todos os dispositivos conectados à rede por seus endereços IP e MAC. você pode procurar os endereços MAC em um site como https://aruljohn.com/mac.pl para descobrir quem é o fornecedor da NIC. Isso deve ajudá-lo a diminuir o que é a maioria dos dispositivos. ou seja, computadores, impressoras, TV, telefone celular, etc.

Sean
fonte
0
echo ls %USERDNSDOMAIN%|nslookup
Eric Douglas Miller
fonte
8
Bem-vindo ao SU. Você pode elaborar o que o comando faz?
Martin Prikryl
0

Esta é a minha solução rápida. Ele informa que tipo de dispositivo está conectado em cada endereço IP:

netstat -r 
DR_WHO
fonte
0

exibe todos os endereços IP do computador (aqueles que estão sendo usados)

Eu acho que você pode querer dizer que netstat -aisso lhe dá uma lista ativa. Se você deseja conhecer o programa usando o endereço IP, use netstat -b(abra como administrador).

TarranJones
fonte
Tecnicamente falando, netstat -adespeja uma lista de conexões de rede atuais. A coluna esquerda do endereço IP contém a interface local.
Ben N