我目前每天使用以下脚本对 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。 =)
最佳答案
看起来向下主机列表是设计使然,或者至少,我也无法关闭此功能。
过滤 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
匹配似乎是不贪心的,这是应该的,但要小心并检查一下。
关于linux - 如何让 nmap 不记录已关闭的主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173021/