Aktive Verbindungen zu "Internetfreigabe" anzeigen

Wie kann ich eine Liste der Geräte anzeigen, die über die Internetfreigabe (wenn aktiviert) mit meinem Apple-Laptop verbunden sind? Wenn keine Liste vorhanden ist, protokolliert die Internetfreigabe DHCP-Anforderungen und wenn ja, wo? Danke.

Gute Frage!!

Antworten (4)

arpSie können es auf der Befehlszeile versuchen :

NAME

arp – Anzeige und Steuerung der Adressauflösung

BEZEICHNUNG

Das Dienstprogramm arp zeigt die vom Adressauflösungsprotokoll (arp(4)) verwendeten Internet-zu-Ethernet-Adressübersetzungstabellen an und ändert sie. Ohne Flags zeigt das Programm den aktuellen ARP-Eintrag für den Hostnamen an. Der Host kann nach Name oder Nummer unter Verwendung der Internet-Punktnotation angegeben werden.

ZB für Internet-Sharing von Ethernet zum Flughafen verwende ich:

arp -i en1 -a

Dadurch werden alle über WLAN verbundenen Clients aufgelistet.

Nur ein Tipp: Wenn Sie sich nicht sicher sind, welche Schnittstelle verwendet wird, können Sie jederzeit eingeben ifconfig, um alle aufzulisten. Mein MBP ist über WLAN mit dem Internet verbunden, und ich teile das Internet über ein Ethernet-Kabel mit einem Himbeer-Pi. Ich musste verwenden -i bridge0, um die IP-Adresse des Geräts zu sehen.
arpDer Befehl gibt Ihnen eine Momentaufnahme eines Zustands, der sich möglicherweise schnell ändert, insbesondere wenn Sie nach einem Wi-Fi-Netzwerk suchen, in dem Geräte möglicherweise zeitweise eine Verbindung herstellen, da sie sich an der Grenze des drahtlosen Zugriffsbereichs befinden.
Ich denke, ein nützlicher Anfangspunkt hier könnte ein bare sein arp -a. Sie haben wahrscheinlich nicht so viele Schnittstellen, die übersetzt sind!
@smessing genau das mache ich - danke!
In meinem Fall ist es-i bridge100
Für mich ist es-i bridge100
Erstmal ifconfigdie Interfaces auflisten, dann arp -i <bridge interface> -a:)

InternetSharingprotokolliert, welche Adresse eine DHCP-Lease erhält innerhalb von:

/var/log/system.log

Technisch gesehen ist es der bootpdDaemon, der sich um diesen Teil des Netzwerkzugriffs kümmert.

Mit diesem Befehl können Sie verfolgen, wer jetzt Zugriff auf Ihr Netzwerk erhält:

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

und für Mavericks, Yosemite & El Capitan:

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

Mit diesem Befehl können Sie anzeigen, wer sich wann mit Ihrem Netzwerk verbunden hat:

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

und für Mavericks, Yosemite & El Capitan:

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

Wenn Sie es in der Vergangenheit weiter verfolgen müssen, lautet der Befehl:

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

und für Mavericks, Yosemite & El Capitan:

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

Wenn Sie schließlich in diesen Protokolldateien bekannte Geräte sofort von ungebetenen unterscheiden möchten, besteht die Methode darin, die Konfigurationsdatei zu füllen, bootpddie lautet:

/etc/bootptab

mit allen bekannten MAC-Adressen.

Ab (mindestens) Mavericks protokolliert bootpd Verbindungen zu einer Bridge und nicht zum physischen Netzwerkgerät. Sie sollten also nach „boodpf.*[bridge.*]“ suchen, um Verbindungsversuche zu finden. arp listet weiterhin Verbindungen zu zB '-i en1' sowie zu zB '-i bridge100' auf.

In Big Sur (und wahrscheinlich für ein paar Versionen davor) scheint /var/log/system.logstandardmäßig kein Protokolleintrag mehr geschrieben zu werden, zumindest für Mietverlängerungen.

Die arpMethode in dieser Antwort ist immer noch nützlich, aber ein Umweg, um dorthin zu gelangen, da sie alle Hosts enthält, die kürzlich kontaktiert wurden. Dies kann dazu führen, dass abhängig von der jüngsten Aktivität entweder zusätzliche Hosts angezeigt werden (dh solche, die nicht mit einem Internet-Sharing-Lease verbunden sind) oder nicht alle Hosts (wenn ihnen in letzter Zeit kein Paket gesendet wurde).

Eine direktere Methode besteht darin, die Leases-Datenbank unter zu überprüfen /var/db/dhcpd_leases. Dadurch werden alle aktuellen Leases angezeigt, jedoch auch Hosts, die noch eine aktuelle Lease haben, aber derzeit nicht verbunden sind. Um auch nach einer aktiven Verbindung zu suchen, können Sie die mit der Lease verknüpfte IP-Adresse an etwas wie pingoder übergeben nmap.

Wie in dieser Antwort beschrieben , könnte eine einzeilige Verwendung nmapsein:

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

Wenn Sie nicht verwenden möchten nmap, können Sie etwas Ähnliches mit tun ping:

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

Dadurch wird ein Ping an jede IP-Adresse gesendet, für die ein DHCP-Lease vorhanden ist.

Verwenden ndpSie für IPv6 und arpfür IPv4 im Terminal

ndp -a

arp -a

Einzelheiten und Optionen finden Sie auf den Handbuchseiten. Ich bin neu in diesen Bereichen und habe versucht, dieselbe Frage herauszufinden, die über mehrere Antworten verteilt zu sein scheint, über einen langen Zeitraum (IPv4 nicht einschließlich IPv6). Beachten Sie auch, dass Sie dies tun können pingen Sie die IPv4-Broadcast-Adresse direkt an, um zu sehen, wer antwortet. Ich weiß noch nicht, ob eine ungefähre Entsprechung mit der Verwendung von IPv6 möglich ping6oder sogar relevant ist. siehe auch https://superuser.com/questions/969831/why-is-arp-replaced-by-ndp-in-ipv6 und evtl. auch https://serverfault.com/questions/648140/how-to-scan- ipv6-enabled-hosts-on-my-lan und https://superuser.com/questions/495026/ipv6-find-all-hosts-in-a-prefix