nmap
常用参数无非就那几个,但是在不同场景下,综合扫描速度和探测目标,用不同的参数组合应对。
在扫描参数中 -A
== -sC -sV -O -traceroute
,代表 脚本扫描、服务探测、系统探测、路由追踪。
-sC -sV -O
-A
预期 -A
只会多出 1~2 个路由追踪的结果,有时候不一定,比如上面右边多出了 5 个结果:
跳
Device type
、Running
、OS CPE
属于 -O
参数的输出,即 操作系统探测
,有时候这三个结果不会出现,出现的原因我理解是由于扫描不精确导致输出一些枚举项。Network Distance
、TRACEROUTE
属于 -traceroute
参数的输出。做了一下样本不多的扫描速度比较。
同样的环境下执行,扫描靶机全端口,已知只有 5 个开放端口。
nmap -p- 10.10.10.3
nmap -A -p- 10.10.10.3
执行时间:306.66
vs 399.79
初步判断,后者多出来的时间是花在服务检测上面,对经过探测未开放的端口不会做服务检测。
所以 先扫开放再扫服务 并不会比 直接扫服务 要快。
扫 UDP 的时候非常慢,还没对比过,可能这个靶机的 vpn 不行。
nmap -A -p- IP
就好。默认扫描中,每个端口的扫描会发出不止一次请求,具体多少不知道。
当要 加速扫描
、或者 执行某些特定的对端口的序列请求
的时候(比如 knock knock
按顺序请求端口开启防火墙),就要修改这个参数。
# 比如为了加速,设置为1
nmap -A -p- -oA xx.nmap 10.10.10.3 --man-retries 1
可以加载酷炫的输出模板。
https://github.com/honze-net/nmap-bootstrap-xsl
nmap -A -p- -oA xx.nmap --stylesheet tools/nmap-bootstrap.xsl 10.10.10.3