34 votes

Afficher les connexions actives à "Partage de l'Internet

Comment puis-je afficher une liste des appareils qui sont connectés à mon ordinateur portable Apple via le partage d'Internet (lorsqu'il est activé) ? Si une liste n'existe pas, est-ce que le Partage d'Internet enregistre les requêtes DHCP et si oui, où ? Merci.

2 votes

Bonne question !

33voto

iolsmit Points 4325

Vous pouvez essayer arp sur la ligne de commande :

NOM

arp -- affichage et contrôle de la résolution de l'adresse

DESCRIPTION

Le site arp affiche et modifie les tables de traduction d'adresses Internet vers Ethernet utilisées par le protocole de résolution d'adresses (arp(4)). Sans drapeau, le programme affiche l'entrée ARP actuelle pour le nom d'hôte. L'hôte peut être spécifié par un nom ou par un nombre, en utilisant la notation par points Internet.

Par exemple, pour le partage de l'internet d'Ethernet à Airport, j'utilise :

arp -i en1 -a

La liste de tous les clients connectés via WLAN est affichée.

13 votes

Un conseil : si vous n'êtes pas sûr de l'interface utilisée, vous pouvez toujours taper ifconfig pour les énumérer tous. Mon MBP est connecté à l'internet via wifi, et je partage l'internet avec un raspberry pi via un câble ethernet. J'ai dû utiliser -i bridge0 pour voir l'adresse IP de l'appareil.

1 votes

arp La commande vous donnera un aperçu d'un état qui pourrait changer rapidement, notamment si vous cherchez un réseau Wi-Fi où les appareils peuvent se connecter par intermittence parce qu'ils se trouvent à la limite de la sphère d'accès sans fil.

3 votes

Je pense qu'un endroit utile pour commencer ici pourrait être un arp -a . Vous n'avez probablement pas tant d'interfaces qui sont traduites !

13voto

Rich Points 2429

InternetSharing enregistre quelle adresse reçoit un bail DHCP :

/var/log/system.log

Techniquement, c'est le bootpd qui s'occupe de cette partie de l'accès au réseau.

Vous pouvez suivre qui a accès à votre réseau maintenant avec cette commande :

tail -f /var/log/system.log | grep 'bootpd.*\[en.\]'

et pour Mavericks, Yosemite et El Capitan :

tail -f /var/log/system.log | grep 'bootpd.*\[bridge.\]'

Vous pouvez afficher qui s'est connecté et quand à votre réseau avec cette commande :

grep 'bootpd.*\[en.\]' /var/log/system.log

et pour Mavericks, Yosemite et El Capitan :

grep 'bootpd.*\[bridge.\]' /var/log/system.log

Si vous avez besoin de remonter plus loin dans le passé, la commande est :

bzgrep 'bootpd.*\[en.\]' `ls -tr /var/log/system.log.*.bz2`

et pour Mavericks, Yosemite et El Capitan :

bzgrep 'bootpd.*\[bridge.\]' `ls -tr /var/log/system.log.*.bz2`

Enfin, si vous souhaitez distinguer immédiatement dans ces fichiers journaux les périphériques connus de ceux qui ne sont pas invités, la méthode consiste à remplir le fichier de configuration de bootpd qui est :

/etc/bootptab

avec toutes les adresses MAC connues.

2 votes

Depuis (au moins) Mavericks, bootpd enregistre les connexions à un pont plutôt qu'au périphérique réseau physique, vous devrez donc rechercher 'boodpf.*[bridge.*]' dans le champ grep afin de trouver les tentatives de connexion. arp listera toujours les connexions à '-i en1', ainsi qu'à '-i bridge100'.

3voto

Heath Raftery Points 425

Dans Big Sur (et probablement pour quelques versions antérieures), il ne semble plus y avoir d'entrée de journal écrite dans le fichier /var/log/system.log par défaut, au moins pour les renouvellements de bail.

Le site arp dans ce réponse est toujours utile, mais c'est un moyen détourné d'y parvenir puisqu'il inclut tous les hôtes qui ont été contactés récemment. Cela peut avoir pour conséquence d'afficher soit des hôtes supplémentaires (c'est-à-dire ceux qui ne sont pas associés à un bail de partage d'Internet), soit pas tous les hôtes (s'ils n'ont pas reçu de paquet récemment), en fonction de l'activité récente.

Une méthode plus directe consiste à consulter la base de données des baux à l'adresse suivante /var/db/dhcpd_leases . Cela montrera tous les baux en cours, mais cela inclut les hôtes qui ont toujours un bail en cours mais qui ne sont pas actuellement connectés. Pour vérifier également une connexion active, vous pouvez passer l'adresse IP associée au bail à quelque chose comme ping ou nmap .

Comme décrit dans cette réponse une ligne utilisant nmap pourrait être :

grep ip_address /private/var/db/dhcpd_leases | cut -d= -f2 | nmap -iL - -sn

Si vous ne voulez pas utiliser nmap vous pouvez faire quelque chose de similaire avec ping :

grep ip_address /private/var/db/dhcpd_leases | cut -d= -f2 | xargs -L1 ping -c 1

Cela enverra un ping à chaque adresse IP pour laquelle il y a un bail DHCP.

0voto

jimmont Points 612

Utiliser ndp pour ipv6 et arp pour ipv4 dans le terminal

ndp -a

arp -a

voir les pages de manuel pour les détails et les options, je suis nouveau dans ce domaine et j'essayais de répondre à la même question qui semble s'étendre sur plusieurs réponses, sur une longue période de temps (ipv4 non inclusif d'ipv6) notez aussi que vous pouvez ping l'adresse de diffusion ipv4 directement pour voir qui répond, je ne sais pas encore si un équivalent approximatif est possible avec ipv6 en utilisant ping6 ou même pertinent. voir aussi https://superuser.com/questions/969831/why-is-arp-replaced-by-ndp-in-ipv6 et peut-être aussi https://serverfault.com/questions/648140/how-to-scan-ipv6-enabled-hosts-on-my-lan y https://superuser.com/questions/495026/ipv6-find-all-hosts-in-a-prefix

0voto

Haentz Points 302

Pour faire suite à l'article de @iolsmit répondre Voici un rapide 1-liner qui permet d'extraire les résultats d'arp pour toutes les interfaces connectées sur votre système. Ainsi, vous n'aurez pas à vous demander quelle interface utilise votre adaptateur Ethernet Thunderbolt (est-ce que c'est en7 ou en11 ?)

for i in $(ifconfig -l); do a=$(arp -i $i -a); [[ -n $a ]] && printf '\n==> %s\n%s\n' "$i" "$a"; done

Pour plus de commodité, vous pouvez enregistrer ce document sous la forme suivante arpdump dans votre $PATH pour pouvoir l'utiliser chaque fois que vous en avez besoin.

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