Как мне получить nmap, чтобы не регистрировать отключенные хосты?

В настоящее время я ежедневно запускаю сканирование для 16 различных /24 с использованием следующего сценария:

#!/bin/sh
TODAY=`date +"%d-%m-%y"`
OPTIONS="--open --reason -oX /var/log/nmap/XXX/scan-$TODAY.xml -F x.x.x.0/24"
nmap $OPTIONS
rm /var/log/nmap/XXX/yesterday.xml
mv /var/log/nmap/XXX/today.xml /var/log/nmap/XXX/yesterday.xml
ln -s /var/log/nmap/XXX/scan-$TODAY.xml /var/log/nmap/XXX/today.xml

Если я запускаю команду nmap вне сценария и позволяю ей выводить данные на консоль, она не отображает какие-либо неработающие хосты, но когда я использую флаг -oX для вывода в файл xml, чтобы позже его можно было найти, хосты, которые не работают, перечислены.

Как мне заставить nmap игнорировать эти хосты, не регистрировать их и т. Д.? Спасибо!

Изменить: Просто чтобы убедиться, что мы все на одной странице, компания, в которой я работаю, владеет всеми /24, которые я сканирую. знак равно

2 ответа

Решение

Похоже, что внизу список хостов задуман, или, по крайней мере, я не смог отключить эту функцию.

Будет ли приемлемым фильтровать вывод nmap для удаления ненужных записей?

OPTIONS="--open --reason -oX - -F x.x.x.0/24"
nmap $OPTIONS \
    | sed -e '/<host><status state="down" reason="no-response"\/>/,/<\/host>/d' \
    > /var/log/nmap/XXX/scan-$TODAY.xml

Совпадение кажется несносным, как и должно быть, но будьте осторожны и проверьте это.

Я думаю, что это связано со сканированием портов. Если вас не интересует сканирование портов, вы можете удалить хосты с помощью этой команды:

nmap -sn xxxx/24 -oX /var/log/nmap/XXX/scan-$TODAY.xml

На самом деле, вопреки вашей цели, мне действительно нужно было знать, какие хосты отключены, и я понял, что -v достаточно для выполнения работы:

nmap -v -sn xxxx/24 -oX /var/log/nmap/XXX/scan-$TODAY.xml

Надеюсь, поможет;)

Другие вопросы по тегам