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.
arp
Sie 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.
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.arp
Der 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.arp -a
. Sie haben wahrscheinlich nicht so viele Schnittstellen, die übersetzt sind!-i bridge100
-i bridge100
ifconfig
die Interfaces auflisten, dann arp -i <bridge interface> -a
:)InternetSharing
protokolliert, welche Adresse eine DHCP-Lease erhält innerhalb von:
/var/log/system.log
Technisch gesehen ist es der bootpd
Daemon, 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, bootpd
die lautet:
/etc/bootptab
mit allen bekannten MAC-Adressen.
In Big Sur (und wahrscheinlich für ein paar Versionen davor) scheint /var/log/system.log
standardmäßig kein Protokolleintrag mehr geschrieben zu werden, zumindest für Mietverlängerungen.
Die arp
Methode 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 ping
oder übergeben nmap
.
Wie in dieser Antwort beschrieben , könnte eine einzeilige Verwendung nmap
sein:
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 ndp
Sie für IPv6 und arp
fü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 ping6
oder 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
daviesgeek