Вопрос или проблема
Я пытаюсь выяснить, открыты ли порты TCP 8050 и 86 на различных хостах, поэтому я запускаю
nmap -sT -Pn -p 86,8050 -iL (местоположение входного файла) -oX (местоположение выходного файла).xml
Результаты, которые я получаю, отличаются от тех, что я получаю, сканируя по отдельности, т.е. порты могут отображаться как закрытые при запуске входного списка, но когда я запускаю nmap -sT -Pn -p 8050,86 xxx.xxx.xxx.xxx
для сканирования одного хоста, результаты, как правило, более точные.
Входной список содержит более 100 адресов хостов, поэтому, по очевидным причинам, я предпочел бы не запускать 100 отдельных сканирований.
Какие-либо идеи, почему это может быть так?
Ответ или решение
Когда вы сталкиваетесь с различиями в результатах сканирования Nmap при использовании файла ввода с 100 хостами по сравнению с индивидуальными сканированиями, может быть несколько факторов, объясняющих это поведение. Ниже представлено несколько ключевых аспектов, которые стоит учесть.
1. Сетевая задержка и пропускная способность
При сканировании большого числа хостов за один раз (например, 100) Nmap отправляет запросы одновременно, что может привести к высокой загрузке сети. Если ваша сеть не обладает достаточной пропускной способностью, это может вызвать потерю пакетов и, как следствие, неверные результаты. В отличие от этого, индивидуальное сканирование допускает более целенаправленную и менее загруженную проверку, при этом уменьшая вероятность того, что пакеты будут потеряны.
2. Ограничения на стороне целевых хостов
Некоторые хосты могут иметь встроенные механизмы защиты (например, брандмауэры или системы предотвращения или выявления вторжений), которые ограничивают количество соединений с одного IP-адреса за определённый период времени. Когда вы сканируете сразу 100 хостов, возможно, ваш исходящий трафик превышает допустимый лимит, и такие защиты могут блокировать или отклонять некоторые запросы, что приводит к появлению ложных срабатываний, таких как закрытые порты.
3. Время ожидания между запросами
При использовании большого набора хостов Nmap применяет определённые параметры по умолчанию для таймаутов и числа параллельных подключений. Если вы хотите улучшить результаты сканирования, вы можете настроить параметры с помощью ключей --min-rate
и --max-retries
, чтобы отследить пакеты более эффективно или сократить количество повторных попыток.
4. Распределение нагрузки
Когда сканируются отдельные хосты, информация о том, какие порты открыты, отправляется непосредственно и обрабатывается уникально для каждого хоста. В случае массового сканирования некоторые запросы могут обрабатываться медленнее, и, если хост временно недоступен или занимает долгое время для ответа, Nmap может интерпретировать geopend как закрытые.
5. Разные версии Nmap или конфигурации
Разные версии Nmap или различные конфигурации (например, различия в операционных системах или настройках сети) могут также приводить к несоответствиям в полученных результатах. Убедитесь, что вы используете одну и ту же версию Nmap и настройки в обоих случаях для получения сопоставимых результатов.
Как оптимизировать сканирование
Чтобы свести к минимуму разницу в результатах, рекомендую:
- Запустить Nmap с увеличенным числом повторов и снизить скорость сканирования, чтобы избежать блокировок.
- Применять параметр
--max-retries
для управления количеством повторных попыток при отсутствии ответа. - Спланируйте сканирование на менее загруженное время, чтобы снизить вероятность блокировок на целевых хостах.
- Следить за обновлениями и улучшениями самого Nmap, чтобы использовать его оптимальные функции.
С точки зрения ведения бизнеса, важно тщательно оптимизировать процессы, связанные со сканированием, чтобы вы могли точно мониторить безопасность ваших систем и избегать потери важной информации из-за возможных ошибок в процессе сканирования.