【nmap】
基本用法
-A 扫描操作系统信息和路由跟踪
-O 探测操作系统信息
-v 表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态
-sV 识别端口运行的服务
-sA 探测该主机是否使用了包过滤器或防火墙
-PN 扫描主机检测是否有防火墙保护(主机禁止ping时,nmap默认主机关机。此时使用-pn后nmap会默认主机开机然后进行检测)
-sP 找出网络中的在线主机
-F 执行快速扫描
-r 顺序扫描端口
-sN 执行TCP空扫描以骗过防火墙
-sS 执行一次隐蔽的扫描
-p 指定端口
-sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况
-script <脚本> : 指定扫描脚本
-iL 1.txt : 批量扫描1.txt中的目标地址
-F : 快速模式,仅扫描TOP 100的端口
-S <IP>: 伪装成其他 IP 地址
--traceroute : 追踪每个经过的路由节点
状态解释
扫描出端口的六个状态:
1、open:端口开放
2、closed:端口关闭
3、filtered:端口被屏蔽,无法确定其状态
4、unfiltered:端口没有被屏蔽,但是是否开放需要进一步确定
5、open|filtered:端口是开放或被屏蔽
6、closed|filtered:端口是关闭或被屏蔽
高级用法
个人常用
1、列出端口相关的信息,有漏洞信息会给出漏洞编号如CVE,MS
root@kali:~# nmap 192.168.0.108 --script=vuln -sV
root@kali:~# nmap --script vulscan -sV 192.168.0.108
2、探测是否有防火墙
root@kali:~# nmap --script=firewalk --traceroute 192.168.0.108
3、尝试绕过防火墙或其他安全设备。mtu选项使用时后面的参数必须是8的整倍数
root@kali:~# nmap 192.168.0.108 -f
root@kali:~# nmap 192.168.0.108 --mtu 8
4、隐藏的扫描
root@kali:~# nmap -sS 192.168.0.108
5、尝试欺骗防火墙或者其他安全设备
用一组自定义IP来隐藏自己真实IP,-D选项使用时保证IP是存活,否则可能遭遇目标主机SYN泛洪攻击。使用RND参数随机生成IP
root@kali:~# nmap 192.168.0.108 -D IP,IP
root@kali:~# nmap 192.169.0.108 -D RND:3
6、将结果输出到文档,可以结合管道符‘|’将结果作为输入给其他命令或者工具【nikto一款扫描器】
root@kali:~# nmap -sS 192.168.0.108 -oG ~/Desktop/nmap.txt
root@kali:~# nmap -p80 192.168.0.108 -oG ~/Desktop/nmap.txt | nikto -h ~/Desktop/nmap.txt
7、在分析网站是否有CDN或者尝试寻找真实IP时会使用
root@kali:~# nmap www.baidu.com --traceroute
一般情况这几个足够了
-A
-O
-sV
--script=vuln
-F
--traceroute