Como sei os endereços IP de outros computadores na minha rede?

51

Digamos que eu tenha dois computadores conectados à mesma rede. Eu sei que no computador1 e no compartilhamento de arquivos ativado, posso bisbilhotar dentro do computador2. Mas diga que há algo interessante no computer2, ao qual você acessa digitando localhost: 9091 no safari. (por exemplo, interface da web da transmissão). Para acessar isso, eu teria que digitar o ip_address_of_computer2: 9091 no computer1.

Mas como descubro o endereço IP do computer2 sem usar o computer2?

burro kong
fonte
Você sabe o nome do computer2?
user151019

Respostas:

82

Método 1

A maneira mais fácil seria acessar a página de administração do seu roteador de rede. Ele terá informações sobre quaisquer outros dispositivos na rede, incluindo o endereço IP.

Método # 2

Se você souber o nome da rede do computador, poderá encontrá- pinglo no Terminal. Ele retornará o endereço IP do computador.

Método # 3

Se você não souber o nome da rede do computador, há outro truque que você pode usar ping. Encontre seu endereço IP e sua máscara de sub-rede. Ambos devem estar visíveis no painel de preferências de rede, em Preferências do sistema. Alinhe seu endereço IP e sua máscara de sub-rede e substitua quaisquer 0valores na máscara de sub-rede 255na mesma posição relativa do endereço IP. Por exemplo, se você tiver o seguinte endereço IP e máscara de sub-rede, respectivamente:

192.168.1.151

255.255.255.0

Como 0está no último campo da máscara de sub-rede, substitua o último campo do endereço IP por 255e execute o ping:ping 192.168.1.255

Você deve obter uma resposta com o endereço IP de qualquer dispositivo na rede capaz de responder a pings.

Método # 4

O último truque é usar o comando terminal arp -a. Isso mostrará o endereço IP e MAC de todos os dispositivos na rede que ele conhece.

Os últimos dois truques, cortesia deste artigo da Macworld.

michaelmichael
fonte
8
O método 4 arp -a funcionará se, e somente se, o Mac já tiver testado com êxito ou foi conectado a um host. Tente reiniciar o seu Mac e exibir a tabela arp. Estará quase vazio. Para preencher essa tabela, você precisa executar algo como uma verificação de ping:nmap -sP 192.168.1.0/24
ripat
Por alguma razão, o ping 192.168.1.255 retorna os endereços de todos os Macs da rede, mas nenhum das máquinas Linux?!? Ótima dica!
21314
11
ping SOME-PC -4forjar a resolução IPV4.
Nakilon 03/08/19
Isso funciona se você estiver executando ping em um computador com Windows?
Cullub 26/01
11
@ Cullub Sim, ele funciona no Windows. ping adminPCo computador adminPC e exibe o endereço IP. E, como comentou Nakilon, ping adminPC -4exibe o IPv4.
Lucky
19

Digite o comando

  arp -a

Isso mostrará todas as conexões uma a uma.

user2634333
fonte
Isso não parece funcionar para alguns dispositivos. Não tenho certeza se é porque os dispositivos não estão "escutando" ou se são por causa de sistemas operacionais diferentes, mas estou tentando agora e arp -anão está pegando uma das minhas caixas Linux.
Jacksonkr
Na primeira vez em que você conversa com outro dispositivo, seu computador precisa resolver o IP -> MAC e, portanto, transmite "quem tem IP xxx.yyy.zzz.aaa?", E o proprietário desse IP responde ( transmissões) com "me!" e, é claro, esse pacote possui um MAC de origem. Se essa transação não ocorreu enquanto o dispositivo estava na rede, não haverá uma entrada ARP para ele. Portanto: nem todos os dispositivos aparecem na tabela ARP, mas podem aparecer nas tabelas ARP de outros dispositivos.
Harv
4

P: Como sei os endereços IP de outros computadores na minha rede ?

Muitas redes

Bem, primeiro o seu computador provavelmente está em muitas redes . Você pode ver isso com o ifconfigcomando Há muitas informações lá, mas a maioria é impressionante, então eu gosto de filtrar:

$ ifconfig | grep -E '^[a-z0-9]|inet '

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.0.101 netmask 0xffffff00 broadcast 192.168.0.255
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
    inet 172.141.0.10 --> 172.141.0.9 netmask 0xffffffff
en5: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    inet 169.254.146.193 netmask 0xffff0000 broadcast 169.254.255.255
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.3.1 netmask 0xffffff00 broadcast 192.168.3.255

O primeiro campo das linhas alinhadas à esquerda são nomes de interface de rede. Você wifi é provavelmente en0. Minha VPN TunnelBlick para AWS é utun1. Minhas Preferências do sistema> Compartilhamento> Compartilhamento de Internet criado bridge100para o RaspberryPi Estou obtendo internet do meu MacBook Pro por meio do meu dongle Ethernet.

Suponha IPv4

Como você solicitou endereços IP , presumo que os endereços IPv4 sejam do seu interesse. Eu usei "inet" (com um espaço) para bloquear as entradas "inet6" para IPv6. Se você queria o IPv6, provavelmente sabe mais sobre redes do que eu e deveria estar fazendo perguntas.

Encontre os hosts

Vamos nos concentrar nisso bridge100e trazer um pouco de tráfego para o Google. Muitas pessoas se deparam com essa situação quando desejam fazer o SSH ou o RDC em um computador sem cabeça (como um RaspberryPi ) na rede ou amarrados via compartilhamento na Internet . É especialmente difícil quando você não tem histórico de conexões (tabela arp) com o dispositivo. Para isso, é possível usar sudo nmap -sn 192.168.3.0/24o valor de bridge100 inet (192.168.3.1) com o último dígito substituído por "0/24". No entanto, o nmap não é padrão no OSX, portanto, podemos instalá-lo com homebrew .

$ brew install nmap
Warning: nmap-7.31 already installed

$ sudo nmap -sn 192.168.3.0/24
Password:

Starting Nmap 7.31 ( https://nmap.org ) at 2016-11-21 22:03 EST
Nmap scan report for 192.168.3.6
Host is up (0.00025s latency).
Nmap scan report for 192.168.3.1
Host is up.
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.08 seconds

A partir disso, você pode supor que meu RaspberyPi tenha IP 192.168.3.6por algum motivo. A última vez que eu o conectei, estava em uma sub-rede diferente e conseguiu 192.168.2.3. Esse truque do nmap é muito melhor do que digitar ping 192.168.3.2... ping 192.168.3.6até você encontrá-lo.

Espero que ajude.

Bruno Bronosky
fonte
3

Existem algumas outras ferramentas que ainda não foram mencionadas para a descoberta de informações de endereço IP, supondo que você tenha o nome do host e esteja usando o mDNS (também conhecido como Bonjour em ambientes Mac). A menos que você tenha configurado as coisas de maneira diferente, os nomes de suas redes locais estão no formato. host-name.localNo seu exemplo inicial, você procurariacomputer2.local

O primeiro:

    dscacheutil -q host -a name <host-name>.local

Por exemplo:

    % dscacheutil -q host -a name computer2.local
    name: computer2.local
    ip_address: 10.0.1.6

Outra ferramenta útil é dig(tente, dig google.compor exemplo), que com alguns parâmetros especiais pode ser usada para consultar os nós mDNS da sua rede local.

    % dig @224.0.0.251 -p 5353 <host-name>.local
    % dig @224.0.0.251 -p 5353 -x <ip-address>

Para obter apenas o endereço IP, digtente:

    % dig +short @224.0.0.251 -p 5353 <host-name>.local
KenB
fonte
É bom saber o endereço IP ou o nome do computador multicastDNS (.local).
Florian Bidabe 18/10
BonjourBrowser é uma boa aplicação GUI para isso.
Florian Bidabe
@FlorianBidabe - Por que você diz que precisa saber o endereço IP para usar esses comandos? Esses comandos retornam o endereço IP da máquina nomeada. Sim, é necessário saber o nome da máquina de destino para usar este método.
22414 KenB
3

Esse script deve fornecer o que você está procurando rapidamente e requer a instalação do nmap. A vantagem é que, se o seu host não responder aos testes de ping, o nmap ainda o encontrará, enquanto outras ferramentas não.

#!/bin/bash
i="en1" # edit this to fit your Network interface
cidr=$(while read y; do echo ${y%.*}".0/$(m=0; while read -n 1 x && [ $x = f ]; do m=$[m+4]; done < <(ifconfig $i | awk '/mask/             {$4=substr($4,3); print $4}'); echo $m )"; done < <(ifconfig $i | awk '/inet[ ]/{print $2}') | head -n 1 | sed s/addr://g | sed 's/\/0//g')
myip=`ifconfig $i | grep "inet " | awk 'NR==1 {print $2}' | sed s/addr://g`
set -x
sudo nmap -n -T4 -PN -p9091 --exclude "$myip" "$cidr"

Armazene esse script como lookup.she chame-o (com alternar para inglês) com

LANG=c bash lookup.sh
Florian Bidabe
fonte
Como você salva e executa isso?
Daniel Pendergast
Você cola isso no Editor de texto, salva e nomeia esse arquivo "qnmap". Você move esse arquivo para / usr / bin (mantenha pressionada a tecla Command + Shift + G ou Finder / Go / Go para a pasta: / usr / bin). terminal aberto, digite "sudo chmod a + x / usr / bin / qnmap". Digite "qnmap" no terminal e aguarde o resultado.
Florian Bidabe 15/10
Está bem. Eu recebo este erro: /usr/bin/qnmap: line 2: =en1: command not foundparece que o cifrão antes de inão estar lá.
precisa
11
Desculpe Dan, meu mal, a linha deve ser: i = "en1"
Florian Bidabe 16/10
Legal. Isso funciona bem.
Daniel Pendergast
2

Você também pode usar o netstat para mostrar endereços de rede:

roger.moore@WKSTCAL0141 ~
$ netstat -n

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    127.0.0.1:11235        127.0.0.1:49184        ESTABLISHED
  TCP    127.0.0.1:49155        127.0.0.1:49156        ESTABLISHED
  TCP    127.0.0.1:49156        127.0.0.1:49155        ESTABLISHED
  TCP    127.0.0.1:49184        127.0.0.1:11235        ESTABLISHED
  TCP    192.168.10.131:445     192.168.10.119:52624   ESTABLISHED
  TCP    192.168.10.131:1433    192.168.10.2:60866     ESTABLISHED
  TCP    192.168.10.131:1433    192.168.10.119:52775   ESTABLISHED
  TCP    192.168.10.131:3389    192.168.10.119:54473   ESTABLISHED
  TCP    192.168.10.131:49154   192.168.10.119:52796   ESTABLISHED
  TCP    192.168.10.131:49182   192.168.10.9:52230     ESTABLISHED
  TCP    192.168.10.131:49247   192.168.10.6:445       ESTABLISHED
  TCP    192.168.10.131:49432   192.168.10.4:1106      ESTABLISHED
  TCP    192.168.10.131:49440   192.168.10.4:1106      ESTABLISHED
  TCP    192.168.10.131:49451   192.168.10.6:1025      ESTABLISHED
  TCP    192.168.10.131:55100   192.168.10.2:445       ESTABLISHED
  TCP    192.168.10.131:64558   192.168.10.20:135      TIME_WAIT
  TCP    192.168.10.131:64559   192.168.10.20:49158    TIME_WAIT
  TCP    192.168.10.131:64566   192.168.10.100:135     TIME_WAIT
  TCP    192.168.10.131:64575   192.168.10.100:59811   TIME_WAIT
  TCP    192.168.10.131:64581   192.168.10.41:139      TIME_WAIT
  TCP    192.168.10.131:64582   192.168.10.3:5357      TIME_WAIT
  TCP    192.168.10.131:64585   192.168.10.61:3910     TIME_WAIT
  TCP    192.168.10.131:64587   192.168.10.65:3910     TIME_WAIT
  TCP    192.168.10.131:64588   192.168.10.9:139       TIME_WAIT
  TCP    192.168.10.131:64589   192.168.10.135:2869    ESTABLISHED
  TCP    192.168.10.131:64593   192.168.10.6:135       TIME_WAIT
  TCP    192.168.10.131:64594   192.168.10.6:1025      TIME_WAIT
  TCP    192.168.10.131:64599   192.168.10.100:59811   TIME_WAIT
user8128167
fonte
0

Você pode instalar o Wireshark e iniciar uma digitalização na sua placa de rede.

Filtre o resultado por "nbns" e você verá o endereço IP na janela superior.

rubo77
fonte