从nmap中删除新的指纹检测消息

我每天运行一次我的主机的nmap扫描来检查打开的端口。

sudo nmap -f -sS -sV --log-errors -append-output -p1-9999 host.com 

但是随着输出,我得到了这样的无法识别的端口指纹提交的长长的列表

 ==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)============== SF-Port4000-TCP:V=5.21%I=7%D=2/9%Time=4F30CAC%P=x86_64-redhat-linux-gnu%r SF::\r\nERR\x20UNKNOWN_COMMAND\x20Unknown\+server\+commandCSeq:\r\nERR\x20 ------------------------------------------- 

如何从我的nmap报告中删除这些内容?

除了在Unix评论员build议的评论中提交指纹以外,没有办法让Nmap输出这些信息。 沿着这些路线,你可以尝试使用最新版本的Nmap(5.51或5.61TEST5)。 自您使用的版本以来,已增加了700多个新的服务指纹。

要从您的扫描结果中去除不需要的输出,请尝试下面的Perl单行命令:

 perl -ne 'if(/NEXT SERVICE FINGERPRINT/){$f=1}else{$f=0 if $f and not /^SF/}print unless $f' 

这将剥离指纹。 如果您担心parsing输出,我鼓励您使用XML输出,因为正常输出的结构可能会从版本更改为版本。

您可能会考虑使用XML输出格式并parsing(它有一个Perl库来parsing它,但任何XMLparsing器都可以)而不是默认的半结构化文本输出。 在默认的输出格式,我不知道有一种方法来抑制这些消息。