У меня есть простой метод, который я использую в четырех подсетях, чтобы определить, какие зарегистрированные IP-адреса действительно активны, а какие можно удалить.
Первоначально, Я просматриваю список доменных имен с помощью этой команды:
sudo nmap -sS -O -v oN $filename $name
$ filename
- мой выходной файл для этого IP, а $ name
- это доменное имя, которое было прочитано.
Отсюда , для всех IP-адресов, которые сообщили «хост не работает», я запускаю эту команду:
sudo nmap -Pn -sS -O -v -oN $filename $name
Обратите внимание, что единственная разница здесь заключается в том, что я теперь предполагаю, что хост включен, просто чтобы увидеть, что вернется.
Однако во всех случаях, которые я видел до сих пор, все сканируемые порты фильтруются, и, поскольку хост предполагается, что работает, я не Нет способа проверить, что он на самом деле работает после запуска второго сканирования.
Есть другие идеи?
1) Надеюсь, вам не понадобится пассивно собирать эту информацию.
Вы можете прослушивать трафик с помощью чего-нибудь вроде tcpdump, wireshark, записи в журнал брандмауэра и т.д.... со временем собирая информацию по мере того, как системы передают данные или иным образом делают свое дело.
2) Коммутаторы
Если у вас есть аккуратные коммутаторы, они могут сказать вам кучу.
3) ARP
Брандмауэрные системы могут по-прежнему отвечать на ARP-запросы, поэтому вы можете заставить их показать себя. Вам действительно нужно только знать, что IP-адрес используется правильно? Нет, если он на что-нибудь ответит.
Возможно, это сработает...
# arping -I enp0s31f6 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.122 enp0s31f6
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.143ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.011ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.006ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.090ms
^CSent 4 probes (1 broadcast(s))
Received 4 response(s)
Или более того, в комбинации с использованием nmap или чего-то еще для попытки соединения, затем протоколированием ARP-ответа одновременно с wireshark и т.д.....
Наконец, nmap имеет Arp-режим. Я никогда не пробовал.
https://nmap.org/book/nping-man-arp-mode.html
4) DHCP
Если какие-либо адреса являются DHCP-адресами, то DHCP-аренда покажет, когда они были в последний раз обновлены.
Если Nmap сообщает «хост не работает», то с высокой вероятностью можно предположить, что нет хоста, использующего этот IP-адрес. Зонды, которые были выбраны для обнаружения хоста по умолчанию , получат ответ от подавляющего большинства сетевых систем, и даже лучше для систем с прямым подключением (одна и та же сеть) из-за использования зондов ARP, которые являются предпосылкой для IP-связи по каналам в стиле Ethernet. То есть, если он не ответит на запрос ARP, у него не может быть IP-адреса.
Вы говорите: «поскольку предполагается, что хост работает, у меня нет способа проверить, что он на самом деле вверх ", но правда в том, что, вероятно, не вверх. Фактически, если все порты отфильтрованы, он почти окончательно не работает. Во всех смыслах и целях ничто не желает связываться с использованием этого IP-адреса, что и означает «отключение».
Наконец, ваше сканирование будет намного быстрее, если вы разрешите Nmap сканировать хосты в параллельно, указав несколько целевых спецификаций в командной строке или с помощью параметра входного файла -iL
вместо использования цикла оболочки для сканирования каждой из них по отдельности. Даже если вы используете фоновый режим ( &
) для запуска параллельных процессов nmap
, вы не сможете превзойти скорость собственного адаптивного параллелизма Nmap.