Comment connaître les adresses IP des autres ordinateurs de mon réseau?

51

Dites que j'ai deux ordinateurs connectés au même réseau. Je sais que depuis computer1 et le partage de fichiers activé, je peux fouiller dans computer2. Mais disons qu'il y a quelque chose d'intéressant sur computer2, auquel vous accédez en tapant localhost: 9091 dans safari. (par exemple, l'interface utilisateur Web de la transmission). Pour accéder à cela, je devrais taper l'ip_address_of_computer2: 9091 sur computer1.

Mais comment puis-je trouver l'adresse IP de computer2 sans utiliser computer2?

Donkey Kong
la source
Connaissez-vous le nom de computer2?
user151019

Réponses:

82

Méthode n ° 1

Le moyen le plus simple consiste à accéder à la page d'administration de votre routeur réseau. Il contiendra des informations sur tous les autres périphériques du réseau, y compris l'adresse IP.

Méthode n ° 2

Si vous connaissez le nom du réseau de l'ordinateur, vous pouvez pingle trouver dans le terminal. Il retournera l'adresse IP de l'ordinateur.

Méthode n ° 3

Si vous ne connaissez pas le nom du réseau de l'ordinateur, vous pouvez utiliser une autre astuce ping. Trouvez votre adresse IP et votre masque de sous-réseau. Les deux doivent être visibles dans la sous-fenêtre des préférences réseau des Préférences Système. Alignez votre adresse IP et votre masque de sous-réseau et remplacez toutes les 0valeurs du masque de sous-réseau par 255une position relative identique à celle de l'adresse IP. Par exemple, si vous avez l'adresse IP et le masque de sous-réseau suivants, respectivement:

192.168.1.151

255.255.255.0

Le 0est dans le dernier champ du masque de sous-réseau, vous remplacez donc le dernier champ de l'adresse IP par 255et envoyez une requête ping à ce dernier:ping 192.168.1.255

Vous devriez obtenir une réponse avec l'adresse IP de tout périphérique sur le réseau capable de répondre aux pings.

Méthode n ° 4

La dernière astuce consiste à utiliser la commande terminal arp -a. Cela affichera les adresses IP et MAC de tous les périphériques du réseau connus.

Les deux derniers tours de courtoisie de cet article de Macworld.

michaelmichael
la source
8
La méthode n ° 4 arp -a fonctionnera si, et seulement si, le Mac a déjà sondé avec succès ou était connecté à un hôte. Essayez vous-même en redémarrant votre Mac et en affichant la table arp. Ce sera presque vide. Pour remplir cette table, vous devez exécuter quelque chose comme un scan de ping:nmap -sP 192.168.1.0/24
ripat
Pour une raison quelconque, l'envoi d'une requête ping à 192.168.1.255 renvoie les adresses de tous les Mac du réseau, mais aucune des machines Linux?!? Bon conseil cependant!
SSC
1
ping SOME-PC -4pour résoudre la résolution IPV4.
Nakilon
Cela fonctionne-t-il si vous envoyez une requête ping à un ordinateur Windows?
Cullub
1
@ cullub Oui, cela fonctionne dans Windows. ping adminPCenvoie une commande ping à l'ordinateur adminPC et affiche l'adresse IP. Et comme l'a commenté Nakilon, ping adminPC -4affiche l'IPv4.
Chanceux
19

Tapez la commande

  arp -a

Cela vous montrera toutes les connexions une à une.

utilisateur2634333
la source
Cela ne semble pas fonctionner pour certains appareils. Je ne sais pas si c'est parce que les périphériques ne sont pas "à l'écoute" ou à cause de systèmes d'exploitation différents, mais j'essaie maintenant et je n'utilise arp -apas l'une de mes boîtes Linux.
Jacksonkr
La première fois que vous parlez à un autre périphérique de votre ordinateur, celui-ci doit résoudre l'adresse IP -> MAC. Il diffuse donc "qui a l'adresse IP xxx.yyy.zzz.aaa?", Et le propriétaire de cette adresse IP répond ( (émissions) avec "moi!", et bien sûr, ce paquet contient un MAC source. Si cette transaction n'a pas eu lieu alors que votre appareil était sur le réseau, il n'aura pas d'entrée ARP pour cela. Par conséquent, tous les périphériques n'apparaissent pas dans la table ARP, mais peuvent apparaître dans les tables ARP d'autres périphériques.
Harv
4

Q: Comment connaître les adresses IP d'autres ordinateurs de mon réseau ?

Beaucoup de réseaux

Tout d’abord, votre ordinateur est probablement connecté à de nombreux réseaux . Vous pouvez voir cela avec la ifconfigcommande. Il y a beaucoup d'informations là-dedans, mais la plupart sont écrasantes, alors j'aime bien filtrer, c'est comme ça:

$ 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

Le premier champ des lignes alignées à gauche est le nom de l’interface réseau. Votre wifi est probablement en0. Mon TunnelBlick VPN to AWS est utun1. Mes préférences système> Partage> Partage Internet créé bridge100pour le RaspberryPi Je reçois Internet depuis mon MacBook Pro via mon dongle Ethernet.

Assumer IPv4

Parce que vous avez demandé des adresses IP, je suppose que les adresses IPv4 sont ce qui compte pour vous. J'ai utilisé "inet" (avec un espace) pour bloquer les entrées "inet6" pour IPv6. Si vous vouliez IPv6, vous en savez probablement plus que moi sur le réseautage et je devrais vous poser des questions.

Trouver les hôtes

Concentrons-nous là-dessus bridge100et apportons-nous un peu de trafic Google. De nombreuses personnes se heurtent à cette situation lorsqu'elles souhaitent utiliser SSH ou RDC dans un ordinateur sans tête (comme un RaspberryPi ) sur leur réseau ou via un partage Internet . C'est particulièrement difficile lorsque vous n'avez pas d'historique de connexion (table arp) avec le périphérique. Pour cela, vous pouvez utiliser sudo nmap -sn 192.168.3.0/24la valeur de bridge100 inet (192.168.3.1) avec le dernier chiffre remplacé par "0/24". Cependant, nmap n'est pas standard sur OSX, nous pouvons donc l'installer avec 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

À partir de là, vous pouvez supposer que mon RaspberyPi a eu l’IP 192.168.3.6pour une raison quelconque. La dernière fois que je l’ai connecté, j’étais sur un autre sous-réseau et c’est arrivé 192.168.2.3. Cette astuce nmap est bien meilleure que de taper ping 192.168.3.2... ping 192.168.3.6jusqu’à ce que vous la trouviez.

J'espère que ça aide.

Bruno Bronosky
la source
3

Il existe quelques autres outils qui n'ont pas encore été mentionnés pour la découverte des informations d'adresse IP, en supposant que vous ayez le nom d'hôte et que vous utilisez mDNS (alias Bonjour dans les environnements Mac). À moins que vous n'ayez configuré les choses différemment, les noms de vos réseaux locaux sont sous la forme. host-name.localAinsi, dans votre exemple initial, vous rechercheriezcomputer2.local

La première:

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

Par exemple:

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

Un autre outil utile est dig(essayez dig google.compar exemple), qui avec quelques paramètres spéciaux peut être utilisé pour interroger les nœuds mDNS de votre réseau local.

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

Pour obtenir uniquement l'adresse IP, digvous pouvez essayer:

    % dig +short @224.0.0.251 -p 5353 <host-name>.local
KenB
la source
Bon, il faut connaître l’adresse IP ou le nom multicastDNS de l’ordinateur (.local).
Florian Bidabe
BonjourBrowser est une application graphique intéressante pour cela.
Florian Bidabe
@ FlorianBidabe - Pourquoi dites-vous que vous devez connaître l'adresse IP pour utiliser ces commandes? Ces commandes renvoient l'adresse IP de la machine nommée. Oui, il est nécessaire de connaître le nom de la machine cible pour utiliser cette méthode.
KenB
3

Ce script devrait vous donner très rapidement ce que vous recherchez et nécessite l'installation de nmap. L'avantage est que si votre hôte ne répond pas aux sondes ping, nmap le trouverait quand même, mais pas les autres outils.

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

Stockez ce script sous lookup.shet appelez-le (avec le passage en anglais) avec

LANG=c bash lookup.sh
Florian Bidabe
la source
Comment pouvez-vous enregistrer et exécuter cela?
Daniel Pendergast
Vous collez ceci dans TextEditor, vous enregistrez et nommez ce fichier "qnmap". Vous déplacez ensuite ce fichier vers / usr / bin (maintenez enfoncées les touches Commande + Maj + G ou Finder / Go / Go dans le dossier: / usr / bin). terminal ouvert, tapez "sudo chmod a + x / usr / bin / qnmap". Tapez "qnmap" dans le terminal et attendez le résultat.
Florian Bidabe
D'accord. Je reçois cette erreur: /usr/bin/qnmap: line 2: =en1: command not foundil semble que le signe dollar avant ine devrait pas être là.
Daniel Pendergast
1
Désolé Dan, mon mauvais, la ligne devrait être: i = "en1"
Florian Bidabe
Cool. Ça marche bien.
Daniel Pendergast
2

Vous pouvez également utiliser netstat pour afficher les adresses réseau:

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
utilisateur8128167
la source
0

Vous pouvez installer Wireshark et lancer une analyse sur votre carte réseau.

Filtrez le résultat par "nbns" et vous verrez l'adresse IP dans la fenêtre supérieure.

rubo77
la source