У меня есть три идеи для вас. Все они имеют свою долю сложности, и вы можете смешивать и сочетать их по своему усмотрению. Первый, вероятно, самый простой, но наименее надежный (сам по себе).
1. Обнаружение пассивного MAC
Стандартным способом было бы отслеживать MAC-адреса, которые запрашивают адреса DHCP у маршрутизатора. Большинство маршрутизаторов имеют экран в стиле «Подключенные устройства», который показывает, кто подключается.
Это не автоматически, но вы можете (довольно легко) написать скрипт на Bash / Python, чтобы перетащить страницу маршрутизатора вниз, проанализировать MAC-адреса и проверить их по списку известных / разрешенных MAC-адресов.
Проблема здесь в том, что нет ничего мгновенного. Вы полагаетесь на маршрутизатор, чтобы обновить его страницу, и вы должны опрашивать это часто. Некоторым роутерам это не понравится. У меня дрянной маршрутизатор Edimax, который падает, если вы загружаете более 10 страниц в минуту (жалко!), Поэтому это может не сработать.
MAC-адреса также ужасно подделаны. macchanger
например, позволит вам подделать ваш MAC-адрес в одной команде. Я думаю, что даже сетевой менеджер позволит вам сделать это. Если кто-то не хочет быть обнаруженным, он будет отслеживать сетевой трафик и подделывать одно из действительных (известных) устройств.
2. Активный нюхающий
Именно здесь мы отрываем колеса и копаемся. Вам понадобится запасной радиотранслятор, который может перехватывать трафик к маршрутизатору и обратно (в идеале, довольно близко к нему).
Короче говоря, вы подключаетесь airodump-ng
и наблюдаете за людьми, подключенными к вашей сети. Должна быть предусмотрена возможность создания сценария для этого вывода, чтобы при появлении нового устройства и запуске вашей сети вы могли что- то сделать мгновенно .
Идея состоит в том, что вы запускаете это при загрузке (как root):
airmon-ng start wlan0
airodump-ng --bssid 00:1F:9F:14:6F:EB -w output --output-format csv mon0
Замените BSSID вашей точкой доступа.
Это приводит к автоматическому приращению файла, который можно анализировать на регулярной основе. В приведенной выше версии записывается файл значений, разделенных запятыми, который является довольно простым, но если вы довольны XML (Python может сделать его довольно простым), вы можете посмотреть netxml
формат вывода для airodump.
В любом случае, это дает вам регулярную информацию о том, какие устройства используют сеть (и сколько трафика они отправляют тоже). Это все так же подвержено ошибкам, как и использование таблицы ARP маршрутизатора, но оно работает.
Пока вы находитесь в беспорядочном режиме, если ваш скрипт обнаруживает клиента, которого, по его мнению, не должно быть в сети, вы можете использовать его tcpdump
для траления пакетов и регистрации интересующих обменов (HTTP-запросов и т. Д.). Это больше программирование, но это может быть сделано.
3. Снятие отпечатков пальцев с nmap
Другой способ - это использовать сеть для клиентов nmap
. Обычно вы можете подумать, что это не слишком вам поможет, если кто-то блокирует пинги, он может не появиться.
Я предлагаю вам использовать это в сочетании с любым из двух других методов. 1
даст вам IP-адрес, чтобы вы могли Nmap напрямую. 2
не даст вам IP, но даст вам знать, сколько клиентов nmap
должно ожидать найти в данный момент времени. Убедитесь, что все ваши устройства доступны для пинга.
При nmap
запуске (например, sudo nmap -O 192.168.1.1/24
он попытается найти хосты, а затем выполнит сканирование портов на них, чтобы выяснить, что они из себя представляют). Ваш контрольный список должен включать в себя, как каждое из ваших устройств должно реагировать на nmap
.
Если вы хотите пойти еще дальше, вы можете запустить простой сервер на каждом из ваших компьютеров. Просто то, что приняло соединение, а затем отбросило его. Короче говоря: что-то для nmap
поиска. Если он обнаружит, что это открыто, это, вероятно, ваш компьютер.
4. Защитите свою сеть лучше
На самом деле вы должны сделать это первым, если вы беспокоитесь. Используйте WPA2 / AES. Никогда не используйте WEP (трещины примерно через пять минут).
Если вы все еще волнуетесь, кто-то может узнать ключ (WPA2 требует много данных и вычислительного времени для взлома), перейдите к модели RADIUS. Это структура аутентификации, которая устанавливает одноразовый ключ для каждого пользователя. PITA, чтобы настроить все же.
Но что делать ..?
Если бы я не был доволен вещами, я бы, наверное, вручную посмотрел airodump. Если бы я все еще не был счастлив, я бы начал снимать отпечатки пальцев с того, что видел. Хотя довольно сложно (ни в коем случае не невозможно) писать сценарии.
Самым простым для написания сценария будет очистка маршрутизатора с использованием отпечатков пальцев nmap
. Коротко и просто.