54 votes

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

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

Mais comment trouver l'adresse IP de l'ordinateur2 sans utiliser l'ordinateur2?

0 votes

Connaissez-vous le nom de l'ordinateur 2 ?

85voto

michaelmichael Points 3321

Méthode #1

La manière la plus facile serait d'accéder à la page d'administration de votre routeur réseau. Elle contiendra des informations sur les autres appareils du réseau, y compris l'adresse IP.

Méthode #2

Si vous connaissez le nom réseau de l'ordinateur, vous pouvez pinger dans le Terminal. Cela renverra l'adresse IP de l'ordinateur.

Méthode #3

Si vous ne connaissez pas le nom réseau de l'ordinateur, il y a un autre truc que vous pouvez faire en utilisant ping. Trouvez votre adresse IP et votre masque de sous-réseau. Les deux devraient être visibles dans le panneau de 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 valeurs 0 dans le masque de sous-réseau par 255 à la même position relative de l'adresse IP. Par exemple, si vous avez les adresses IP suivantes et le masque de sous-réseau, respectivement :

192.168.1.151

255.255.255.0

Le 0 est dans le dernier champ du masque de sous-réseau, donc remplacez le dernier champ de l'adresse IP par 255 et pinguez-le : ping 192.168.1.255

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

Méthode #4

Le dernier truc est d'utiliser la commande terminal arp -a. Cela affichera l'adresse IP et MAC de tous les appareils sur le réseau qu'il connaît.

Les deux derniers trucs sont issus de cet article Macworld.

9 votes

Méthode # 4 arp -a fonctionnera si, et seulement si, le Mac a déjà réussi à sonder ou était connecté à un hôte. Essayez vous-même en redémarrant votre Mac et en affichant la table arp. Elle sera presque vide. Pour peupler cette table, vous devez exécuter quelque chose comme un scan ping : nmap -sP 192.168.1.0/24

0 votes

Pour une raison quelconque, le ping sur 192.168.1.255 renvoie les adresses de tous les Macs du réseau, mais aucune des machines Linux ?!? Super astuce cependant!

1 votes

ping SOME-PC -4 pour forcer la résolution IPV4.

20voto

user2634333 Points 301

Tapez la commande

  arp -a

Cela vous montrera toutes les connexions une par une.

0 votes

Cela ne semble pas fonctionner pour certains appareils. Je ne suis pas sûr si c'est parce que les appareils ne sont pas "écoutés" ou si c'est à cause de différents systèmes d'exploitation mais je suis en train d'essayer maintenant et arp -a ne détecte pas l'une de mes boîtes Linux.

0 votes

La première fois que vous allez parler à un autre appareil sur votre ordinateur, votre ordinateur doit résoudre IP -> MAC, et donc il diffuse "qui a l'IP xxx.yyy.zzz.aaa?", et le propriétaire de cette IP répond (diffuse) avec "moi!", et bien sûr ce paquet contient une MAC source. Si cette transaction n'a pas eu lieu lorsque votre appareil était sur le réseau, il n'aura pas d'entrée ARP pour celui-ci. En conséquence: tous les appareils ne figurent pas dans la table ARP, mais peuvent apparaître dans les tables ARP d'autres appareils.

7voto

Bruno Bronosky Points 541

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

Beaucoup de réseaux

Eh bien, tout d'abord, votre ordinateur est probablement sur beaucoup de réseaux. Vous pouvez voir cela avec la commande ifconfig. Il y a beaucoup d'informations là-dedans, mais la plupart sont écrasantes, donc j'aime les filtrer ainsi :

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

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

Le premier champ des lignes alignées à gauche sont les noms des interfaces réseau. Votre wifi est probablement en0. Mon VPN TunnelBlick vers AWS est utun1. Mes Préférences Système > Partage > Partage Internet a créé bridge100 pour le RaspberryPi que j'ai connecté à Internet via mon dongle ethernet sur mon MacBook Pro.

Supposer IPv4

Parce que vous avez demandé des adresses IP, je suppose que les adresses IPv4 sont celles qui vous intéressent. J'ai utilisé "inet " (avec un espace) pour bloquer les entrées "inet6" pour IPv6. Si vous vouliez IPv6, vous connaissez probablement mieux les réseaux que moi et je devrais vous poser des questions.

Trouver les hôtes

Concentrons-nous sur ce bridge100 et apportons-vous un peu de trafic Google. Beaucoup de gens se retrouvent dans cette situation quand ils veulent se connecter en SSH ou RDC à un ordinateur sans tête (comme un RaspberryPi) soit sur leur réseau soit connecté via le Partage Internet. C'est particulièrement difficile lorsque vous n'avez pas d'historique de connexion (table arp) avec l'appareil. Pour cela, vous pouvez utiliser sudo nmap -sn 192.168.3.0/24, qui est la valeur de l'inet de bridge100 (192.168.3.1) avec le dernier chiffre remplacé par "0/24". Cependant, nmap n'est pas standard sur OSX, donc nous pouvons 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

De là, vous pouvez supposer que mon RaspberryPi a obtenu l'IP 192.168.3.6 pour une raison quelconque. La dernière fois que je l'ai connecté, j'étais sur un sous-réseau différent et il a obtenu 192.168.2.3. Cette astuce nmap est bien meilleure que de taper ping 192.168.3.2 ... ping 192.168.3.6 jusqu'à ce que vous le trouviez.

J'espère que cela vous aide.

3voto

Florian Bidabé Points 362

Ce script devrait vous donner ce que vous cherchez très rapidement et nécessite d'avoir nmap installé. L'avantage est que si votre hôte ne répond pas aux sondes ping, nmap trouverait quand même l'hôte alors que d'autres outils ne le feraient pas.

#!/bin/bash
i="en1" # modifiez ceci pour correspondre à votre interface réseau
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"

Enregistrez ce script sous lookup.sh et appelez-le (avec l'option pour l'anglais) avec

LANG=c bash lookup.sh

0 votes

Comment enregistrez-vous et exécutez-vous cela?

0 votes

Vous collez ceci dans TextEditor, et enregistrez et nommez ce fichier "qnmap". Vous déplacez ensuite ce fichier dans /usr/bin (Maintenez Commande + Majuscule + G, ou Finder / Aller / Aller au dossier : /usr/bin). Ouvrez le terminal, tapez "sudo chmod a+x /usr/bin/qnmap". Tapez "qnmap" dans le terminal et attendez le résultat.

0 votes

Ok. J'obtiens cette erreur: /usr/bin/qnmap: ligne 2: =en1: commande introuvable Il semble que le signe dollar avant le i ne devrait pas être là.

3voto

KenB Points 256

Il existe quelques autres outils qui n'ont pas encore été mentionnés pour découvrir des informations sur les adresses IP, en supposant que vous avez 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 votre réseau local sont sous la forme host-name.local donc dans votre exemple initial vous chercheriez computer2.local

Le premier:

    dscacheutil -q host -a 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.com par 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 .local
    % dig @224.0.0.251 -p 5353 -x 

Pour obtenir uniquement l'adresse IP de dig vous pouvez essayer:

    % dig +short @224.0.0.251 -p 5353 .local

0 votes

Bonne mais elle nécessite de connaître l'adresse IP ou le nom multicastDNS de l'ordinateur (.local).

0 votes

BonjourBrowser est une belle application GUI pour cela.

0 votes

@FlorianBidabe - Pourquoi dis-tu que tu as besoin de 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.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X