Показывать активные подключения к «Общий доступ к Интернету»

27

Как я могу просмотреть список устройств, которые подключены к моему ноутбуку Apple через Internet Sharing (когда он включен)? Если список не существует, регистрирует ли Internet Sharing запросы DHCP и если да, то где? Спасибо.

getWeberForStackExchange
источник
2
Хороший вопрос!!
daviesgeek

Ответы:

26

Вы можете попробовать arpв командной строке:

НАЗВАНИЕ

arp - разрешение адреса отображения и контроля

ОПИСАНИЕ

В агр утилите отображает и изменяет адрес таблица перевода в Интернете-к-Ethernet , используемый протокол разрешения адресов (ARP (4)). Без флагов программа отображает текущую запись ARP для имени хоста. Хост может быть указан по имени или номеру, используя точку Интернета.

Например, для интернет-обмена из Ethernet в аэропорт я использую:

arp -i en1 -a

Это будет список всех клиентов, подключенных через WLAN.

iolsmit
источник
12
Просто совет: если вы не уверены, какой интерфейс используется, вы всегда можете напечатать, ifconfigчтобы перечислить все из них. Мой MBP подключен к Интернету через Wi-Fi, и я делю интернет с Raspberry Pi через кабель Ethernet. Мне пришлось использовать, -i bridge0чтобы увидеть IP-адрес устройства.
чихание
arpКоманда даст вам снимок состояния, которое может быстро меняться, особенно если вы ищете сеть Wi-Fi, где устройства могут периодически подключаться, потому что они находятся на границе беспроводной сферы доступа.
Дан
3
Я думаю, что полезное место для начала здесь может быть голым arp -a. Возможно, у вас не так много переведенных интерфейсов!
Дэв Кларк
@ smessing это именно то, что я делаю - спасибо!
awidgery
1
В моем случае это-i bridge100
Raptor
11

InternetSharing регистрирует, какой адрес получает аренду DHCP в пределах:

/var/log/system.log

Технически это bootpdдемон, который позаботится об этой части доступа к сети.

Вы можете отслеживать, кто получает доступ к вашей сети сейчас с помощью этой команды:

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

и для Маверикс, Йосемити и Эль-Капитан:

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

Вы можете отобразить, кто и когда подключился к вашей сети с помощью этой команды:

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

и для Маверикс, Йосемити и Эль-Капитан:

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

Если вам нужно отследить это в прошлом, команда:

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

и для Маверикс, Йосемити и Эль-Капитан:

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

Наконец, если вы хотите сразу отличить в этих лог-файлах известные устройства от незваных, необходимо заполнить файл конфигурации, bootpdкоторый:

/etc/bootptab

со всеми известными MAC-адресами.

Дан
источник
2
Начиная с (по крайней мере) Mavericks, bootpd регистрирует подключения к мосту, а не к физическому сетевому устройству, поэтому вам понадобится grep для 'boodpf. * [Bridge. *]', Чтобы найти попытки подключения. arp будет по-прежнему перечислять соединения, например, с -i en1, а также с -i bridge100.
Олфан