Как мне получить 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
Надеюсь, поможет;)