Разрабатываю систему для определения актуального состояния сети. Одна часть - получить все IP-адреса и соответствующие им MAC-адреса. Сейчас я использую arping в режиме DAD (Duplicate Address Discovery). Я отправляю arping для всех возможных IP в диапазонах, которые мы используем. Если хост работает, он отвечает, и я получаю его MAC. Если хост не работает, таймауты arping. Режим DAD великолепен, потому что мне не нужно иметь локальный IP-адрес из каждого диапазона, который мы используем. С другой стороны, arping может обрабатывать только одну цель, поэтому ожидание тайм-аута неиспользуемых IP-адресов занимает много времени (в большинстве диапазонов не используется 90% адресов).
Я попробовал nmap, у него хороший режим арпинга, который может проверить весь диапазон / 24 за 2 секунды. К сожалению, мне не удалось найти, как заставить его использовать режим DAD, и он не работает в диапазонах, в которых на локальном компьютере нет IP.
Итак, мой вопрос: можно ли переключить nmap в режим DAD или есть какой-либо другой инструмент, который может отправлять (и получать) запросы DAD ARP параллельно? Другие варианты - это попытаться взломать nmap для использования DAD или написать собственный инструмент (возможно, на основе кода arping). Или я мог бы запускать arpings параллельно, но я как бы боюсь порождать 1000 процессов.
Похоже, что arp-scan (т.е. http://www.nta-monitor.com/wiki/index.php/Arp-scan_User_Guide ) - именно тот инструмент, который мне нужен. Мне нужно изучить его более глубоко, но на первый взгляд кажется, что он делает именно то, что я хочу ...