Pokaż aktywne połączenia z „Udostępnianiem Internetu”

27

Jak mogę wyświetlić listę urządzeń podłączonych do mojego laptopa Apple za pośrednictwem usługi Udostępnianie Internetu (jeśli jest włączona)? Jeśli lista nie istnieje, czy Udostępnianie Internetu rejestruje żądania DHCP, a jeśli tak, to gdzie? Dzięki.

getWeberForStackExchange
źródło
2
Dobre pytanie!!
daviesgeek

Odpowiedzi:

26

Możesz spróbować arpw wierszu polecenia:

IMIĘ

arp - wyświetlanie i kontrola rozdzielczości adresu

OPIS

Narzędzie arp wyświetla i modyfikuje tabele translacji adresów z Internetu na Ethernet używane przez protokół rozpoznawania adresów (arp (4)). Bez flag program wyświetla bieżący wpis ARP dla nazwy hosta. Host może być określony według nazwy lub numeru, przy użyciu internetowej notacji kropkowej.

Np. Do udostępniania Internetu z Ethernetu na lotnisko używam:

arp -i en1 -a

Spowoduje to wyświetlenie listy wszystkich klientów połączonych za pośrednictwem sieci WLAN.

iolsmit
źródło
12
Wskazówka: jeśli nie masz pewności, który interfejs jest używany, zawsze możesz wpisać ifconfiglistę wszystkich z nich. Mój MBP jest podłączony do Internetu za pośrednictwem Wi-Fi, a ja udostępniam internet raspberry pi przez kabel Ethernet. Musiałem użyć, -i bridge0aby zobaczyć adres IP urządzenia.
smessing
arppolecenie da migawkę stanu, który może się szybko zmieniać, szczególnie jeśli szukasz sieci Wi-Fi, w której urządzenia mogą się okresowo łączyć, ponieważ znajdują się na granicy sfery dostępu bezprzewodowego.
dan
3
Myślę, że przydatne miejsce na początek może być gołe arp -a. Prawdopodobnie nie masz tylu przetłumaczonych interfejsów!
Dav Clark,
@smessing właśnie to robię - dzięki!
awidgery,
1
W moim przypadku jest to-i bridge100
Raptor
11

InternetSharing rejestruje, który adres otrzymuje dzierżawę DHCP w ramach:

/var/log/system.log

Technicznie jest to bootpddemon, który zajmuje się tą częścią dostępu do sieci.

Za pomocą tego polecenia możesz śledzić, kto uzyskuje dostęp do Twojej sieci:

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

a dla Mavericks, Yosemite i El Capitan:

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

Za pomocą tego polecenia możesz wyświetlić, kto i kiedy podłącza się do Twojej sieci:

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

a dla Mavericks, Yosemite i El Capitan:

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

Jeśli chcesz śledzić go w przeszłości, polecenie to:

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

a dla Mavericks, Yosemite i El Capitan:

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

Wreszcie, jeśli chcesz natychmiast odróżnić w tych plikach dziennika znane urządzenia od nieproszonych, metodą jest wypełnienie pliku konfiguracyjnego, bootpdktórego jest:

/etc/bootptab

ze wszystkimi znanymi adresami MAC.

dan
źródło
2
Począwszy od (przynajmniej) Mavericks, bootpd rejestruje połączenia z mostem, a nie z fizycznym urządzeniem sieciowym, więc będziesz chciał grep dla 'boodpf. * [Bridge. *]' W celu znalezienia prób połączenia. arp nadal będzie wyświetlał listę połączeń z np. „-i en1”, a także np. „-i bridge100”.
Olfan