¿Cómo sé las direcciones IP de otras computadoras en mi red?

51

Digamos que tengo dos computadoras conectadas a la misma red. Sé que desde computer1 y el uso compartido de archivos habilitado puedo husmear dentro de computer2. Pero digamos que hay algo interesante en computer2, al que accedes escribiendo localhost: 9091 en safari. (por ejemplo, la interfaz de usuario web de la transmisión). Para acceder a eso, tendría que escribir ip_address_of_computer2: 9091 en computer1.

Pero, ¿cómo puedo averiguar la dirección IP de computer2 sin usar computer2?

Donkey Kong
fuente
¿SABES el nombre de la computadora2?
user151019

Respuestas:

82

Método 1

La forma más fácil sería acceder a la página de administración de su enrutador de red. Tendrá información sobre cualquier otro dispositivo en la red, incluida la dirección IP.

Método 2

Si conoce el nombre de red de la computadora, puede pinghacerlo en la Terminal. Devolverá la dirección IP de la computadora.

Método # 3

Si no conoce el nombre de la red de la computadora, hay otro truco que puede hacer usando ping. Encuentre su dirección IP y su máscara de subred. Ambos deben estar visibles en el panel de preferencias de Red de Preferencias del Sistema. Alinee su dirección IP y su máscara de subred, y reemplace cualquier 0valor en la máscara de subred 255en la misma posición relativa de la dirección IP. Por ejemplo, si tiene la siguiente dirección IP y máscara de subred, respectivamente:

192.168.1.151

255.255.255.0

El 0está en el último campo de la máscara de subred, por lo que debe reemplazar el último campo de la dirección IP 255y hacer ping:ping 192.168.1.255

Debería obtener una respuesta con la dirección IP de cualquier dispositivo en la red capaz de responder a pings.

Método # 4

El último truco es usar el comando de terminal arp -a. Esto mostrará la dirección IP y MAC de todos los dispositivos en la red que conoce.

Los últimos dos trucos son cortesía de este artículo de Macworld.

michaelmichael
fuente
8
El Método # 4 arp -a funcionará si, y solo si, la Mac ya sondeó exitosamente o se conectó a un host. Pruébelo reiniciando su Mac y mostrando la tabla arp. Estará casi vacío. Para llenar esa tabla, necesita ejecutar algo como un escaneo de ping:nmap -sP 192.168.1.0/24
ripat
Por alguna razón, hacer ping 192.168.1.255 devuelve las direcciones de todos los Mac en la red, pero ninguno de las máquinas Linux?!? Gran consejo sin embargo!
ssc
1
ping SOME-PC -4para forjar la resolución de IPV4.
Nakilon
¿Funciona esto si estás haciendo ping a una computadora con Windows?
Cullub
1
@cullub Sí, funciona en Windows. ping adminPCHace ping en la computadora adminPC y muestra la dirección IP. Y como comentó Nakilon, ping adminPC -4muestra el IPv4.
Afortunado el
19

Escribe el comando

  arp -a

Esto le mostrará todas las conexiones una por una.

usuario2634333
fuente
Esto no parece funcionar para algunos dispositivos. No estoy seguro de si es porque los dispositivos no están "escuchando" o si es debido a diferentes sistemas operativos, pero lo estoy intentando ahora y arp -ano estoy recogiendo una de mis cajas de Linux.
Jacksonkr
La primera vez que vaya a hablar con otro dispositivo en su computadora, su computadora debe resolver IP -> MAC, y entonces transmite "¿quién tiene IP xxx.yyy.zzz.aaa?", Y el propietario de esa IP responde ( difusiones) con "yo" y, por supuesto, ese paquete tiene una fuente MAC. Si esa transacción no ha tenido lugar mientras su dispositivo estaba en la red, no tendrá una entrada ARP. Por lo tanto: no todos los dispositivos aparecen en la tabla ARP, pero pueden aparecer en las tablas ARP de otros dispositivos.
Harv
4

P: ¿Cómo sé las direcciones IP de otras computadoras en mi red ?

Muchas redes

Bueno, en primer lugar, su computadora probablemente esté en muchas redes . Puedes ver esto con el ifconfigcomando. Hay mucha información allí, pero la mayoría es abrumadora, así que me gusta filtrar así:

$ 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

El primer campo de las líneas alineadas a la izquierda son los nombres de las interfaces de red. Tu wifi es probablemente en0. Mi TunnelBlick VPN to AWS es utun1. Mis preferencias del sistema> Compartir> Compartir Internet creado bridge100para el RaspberryPi Tengo acceso a Internet desde mi MacBook Pro a través de mi dongle de ethernet.

Asumir IPv4

Debido a que solicitó direcciones IP , supongo que las direcciones IPv4 son lo que le interesa. Usé "inet" (con un espacio) para bloquear las entradas "inet6" para IPv6. Si quería IPv6, probablemente sepa más sobre redes que yo y debería hacerle preguntas.

Encuentra los anfitriones

Centrémonos en eso bridge100y traerte un poco de tráfico de Google. Muchas personas se encuentran con esta situación cuando quieren SSH o RDC en una computadora sin cabeza (como un RaspberryPi ) en su red o atados a través de Internet Sharing . Es especialmente difícil cuando no tienes historial de conexión (tabla arp) con el dispositivo. Para esto puede usar sudo nmap -sn 192.168.3.0/24, que es el valor de bridge100 inet (192.168.3.1) con el último dígito reemplazado por "0/24". Sin embargo, nmap no es estándar en OSX, por lo que podemos instalarlo con 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 de eso, puede suponer que mi RaspberyPi obtuvo IP 192.168.3.6por alguna razón. La última vez que lo conecté estaba en una subred diferente y se puso 192.168.2.3. Ese truco de nmap es mucho mejor que escribir ping 192.168.3.2... ping 192.168.3.6hasta que lo encuentres.

Espero que eso ayude.

Bruno Bronosky
fuente
3

Hay algunas otras herramientas que aún no se han mencionado para descubrir la información de la dirección IP, suponiendo que tenga el nombre de host y que esté utilizando mDNS (también conocido como Bonjour en entornos Mac). A menos que haya configurado las cosas de manera diferente, los nombres de sus redes locales están en el formulario, host-name.localpor lo que en su ejemplo inicial estaría buscandocomputer2.local

El primero:

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

Por ejemplo:

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

Otra herramienta útil es dig(pruebe, dig google.compor ejemplo), que con algunos parámetros especiales se puede utilizar para consultar los nodos mDNS de su red local.

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

Para obtener solo la dirección IP dig, puede intentar:

    % dig +short @224.0.0.251 -p 5353 <host-name>.local
KenB
fuente
Bueno, pero requiere conocer la dirección IP o el nombre de multidifusión de DNS (.local).
Florian Bidabe
BonjourBrowser es una buena aplicación GUI para esto.
Florian Bidabe
@FlorianBidabe - ¿Por qué dice que necesita saber la dirección IP para usar estos comandos? Estos comandos devuelven la dirección IP de la máquina nombrada. Sí, es necesario saber el nombre de la máquina de destino para usar este método.
KenB
3

Este script debe darle lo que está buscando realmente rápido y requiere tener instalado nmap. La ventaja es que si su host no responde a las sondas de ping, nmap aún encontrará el host mientras que otras herramientas no lo harán.

#!/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"

Almacene este script como lookup.shy llámelo (con el cambio al inglés) con

LANG=c bash lookup.sh
Florian Bidabe
fuente
¿Cómo se guarda y ejecuta eso?
Daniel Pendergast
Pega esto en TextEditor y guarda y nombra este archivo "qnmap". Luego mueve este archivo a / usr / bin (Hold Command + Shift + G, o Finder / Go / Go to folder: / usr / bin). terminal abierta, escriba "sudo chmod a + x / usr / bin / qnmap". Escriba "qnmap" en la terminal y espere el resultado.
Florian Bidabe
Okay. Me sale este error: /usr/bin/qnmap: line 2: =en1: command not foundparece el signo de dólar antes de que el ino debería estar allí.
Daniel Pendergast
1
Lo siento Dan, mi mal, la línea debería ser: i = "en1"
Florian Bidabe
Bueno. Funciona bien
Daniel Pendergast
2

También puede usar netstat para mostrar las direcciones de red:

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
usuario8128167
fuente
0

Puede instalar Wireshark e iniciar un escaneo en su tarjeta de red.

Filtre el resultado por "nbns", y verá la dirección IP en la ventana superior.

rubo77
fuente