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?
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?
Respostas:
Você pode executar o arp -a
comando para mostrar todas as entradas do ARP na tabela sobre computadores na sua rede.
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.
for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txt
tem mérito, mas não é fundamental para a resposta, não é consistente com o resto da resposta que usou Received = 1
em 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.
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.
Existe o net view /all
comando 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
Além de arp -a
, net view /all
ou 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 /all
ou arp -a
na minha opinião.
ipconfig /all
(use barra, não para trás)
Conforme indicado por outra pessoa, você pode usar, arp -a
no 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.
echo ls %USERDNSDOMAIN%|nslookup
exibe todos os endereços IP do computador (aqueles que estão sendo usados)
Eu acho que você pode querer dizer que netstat -a
isso lhe dá uma lista ativa. Se você deseja conhecer o programa usando o endereço IP, use netstat -b
(abra como administrador).
netstat -a
despeja uma lista de conexões de rede atuais. A coluna esquerda do endereço IP contém a interface local.