Я заинтересован в использовании Nmap для обнаружения и определения ОС каждого хоста. Я понимаю, что это делает Nmap, и его можно включать и контролировать, как описано в страница руководства:
Обнаружение ОС включено и управляется следующими параметрами:
-O (включить определение ОС).
Включает обнаружение ОС, как описано выше. В качестве альтернативы вы можете использовать -A, чтобы включить обнаружение ОС вместе с другими вещами. --osscan-limit (Ограничить обнаружение ОС перспективными целями). Обнаружение ОС гораздо эффективнее, если обнаружен хотя бы один открытый и один закрытый TCP-порт. Установите эту опцию, и Nmap даже не будет пытаться обнаружить ОС на хостах, которые не соответствуют этому критерию. Это может значительно сэкономить время, особенно при сканировании -Pn многих хостов. Это имеет значение только тогда, когда обнаружение ОС запрашивается с помощью -O или -A. --osscan-угадать; --fuzzy (Угадайте результаты обнаружения ОС). Когда Nmap не может определить идеальное соответствие ОС, он иногда предлагает возможности, близкие к совпадению. Для того, чтобы по умолчанию Nmap делал это, совпадение должно быть очень близким. Любая из этих (эквивалентных) опций заставляет Nmap гадать более агрессивно. Nmap по-прежнему сообщит вам, когда будет напечатано несовершенное совпадение, и отобразит свой уровень достоверности (процент) для каждого предположения. --max-os-try (Установить максимальное количество попыток обнаружения ОС против цели). Когда Nmap выполняет обнаружение ОС против цели и не может найти идеального совпадения, он обычно повторяет попытку. По умолчанию Nmap пытается пять раз, если условия благоприятны для отправки отпечатков пальцев ОС, и дважды, если условия не так хороши. Указание меньшего значения --max-os-try (например, 1) ускоряет работу Nmap, хотя вы пропускаете повторные попытки, которые потенциально могут идентифицировать ОС. В качестве альтернативы может быть установлено высокое значение, чтобы разрешить еще больше попыток при благоприятных условиях. Это делается редко, кроме как для создания лучших отпечатков пальцев для отправки и интеграции в базу данных ОС Nmap.
У меня вопрос, можно ли отключить часть сканирования портов в процессе обнаружения ОС. Это кажется невозможным, учитывая справочную страницу, но не кажется неразумным в принципе.
Nmap требует как минимум 1 закрытый и 1 открытый порт для надежного соответствия ОС. По умолчанию сканирование портов Nmap сканирует 1000 портов TCP. Вы можете сократить время, необходимое для фазы сканирования портов, за счет уменьшения количества сканируемых портов. Вот хороший набор, который с высокой вероятностью даст 1 открытый и 1 закрытый порт:
nmap -p 22,80,445,65123,56123 -O scanme.nmap.org
Это просканирует только 5 перечисленных портов, что составляет 0,5% от обычного сканирования.
На странице руководства есть опция "-sn" для отключения сканирования портов, но Nmap будет жаловаться на ненадежность определения ОС без сканирования портов.
Пинг не вернет достаточно информации для идентификации ОС. Отпечаток ОС основан на открытых и закрытых портах и ответах на известные порты. Если вы не сканируете некоторые порты, как вы узнаете, какие порты открыты и закрыты, и каков будет ответ?
tl; dr: нет.
У меня вопрос, можно ли отключить часть сканирования портов в процессе обнаружения ОС. Это кажется невозможным, учитывая справочную страницу, но в принципе не кажется необоснованным.
Итак, быстрый ответ: Нет
Ответ на пинг везде довольно стандартный. Вы не можете выполнить удаленное определение ОС на основе ответа ping. Некоторые брандмауэры полностью отключают ответы на ping (скрытый режим). Здесь вы найдете более подробную информацию о пинг псевдоним ICMP или если вы хотите вникнуть в это, попробуйте RFC.
ПРИМЕЧАНИЕ.Если ваша цель - удаленное обнаружение ОС без уведомления, вам лучше читать заголовки HTTP - обычно ваш странный запрос GET теряется в журналах - или попробуйте что-нибудь вроде p0f это делает Пассивный отпечаток ОС. Примечание. POF будет работать, только если вы и хост находитесь в одной сети.
PF также поддерживает эту опцию.