Nmap常用命令总结「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。
1. nmap -sT 192.168.96.4 //TCP连接扫描,不安全,慢
2. nmap -sS 192.168.96.4 //SYN扫描,使用最频繁,安全,快
3. nmap -Pn 192.168.96.4 //目标机禁用ping,绕过ping扫描
4. nmap -sU 192.168.96.4 //UDP扫描,慢,可得到有价值的服务器程序
5. nmap -sI 僵尸ip 目标ip //使用僵尸机对目标机发送数据包
6. nmap -sA 192.168.96.4 //检测哪些端口被屏蔽
7. nmap 192.168.96.4 -p <portnumber> //对指定端口扫描
8. nmap 192.168.96.1/24 //对整个网段的主机进行扫描
9. nmap 192.168.96.4 -oX myscan.xml //对扫描结果另存在myscan.xml
10. nmap -T1~6 192.168.96.4 //设置扫描速度,一般T4足够。
11. nmap -sV 192.168.96.4 //对端口上的服务程序版本进行扫描
12. nmap -O 192.168.96.4 //对目标主机的操作系统进行扫描
13. nmap -sC <scirptfile> 192.168.96.4 //使用脚本进行扫描,耗时长
14. nmap -A 192.168.96.4 //强力扫描,耗时长
15. nmap -6 ipv6地址 //对ipv6地址的主机进行扫描
16. nmap -f 192.168.96.4 //使用小数据包发送,避免被识别出
17. nmap –mtu <size> 192.168.96.4 //发送的包大小,最大传输单元必须是8的整数
18. nmap -D <假ip> 192.168.96.4 //发送参杂着假ip的数据包检测
19. nmap –source-port <portnumber> //针对防火墙只允许的源端口
20. nmap –data-length: <length> 192.168.96.4 //改变发生数据包的默认的长度,避免被识别出来是nmap发送的。
21. nmap -v 192.168.96.4 //显示冗余信息(扫描细节)
22. nmap -sn 192.168.96.4 //对目标进行ping检测,不进行端口扫描(会发送四种报文确定目标是否存活,)
23. nmap -sP 192.168.96.4 //仅仅对目标进行ping检测。
24. nmap -n/-p 192.168.96.4 //-n表示不进行dns解析,-p表示要
25. nmap –system-dns 192.168.96.4 //扫描指定系统的dns服务器
26. nmap –traceroute 192.168.96.4 //追踪每个路由节点。
27. nmap -PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。
28. nmap -sP 192.168.96.4 //主机存活性扫描,arp直连方式。
29. nmap -iR [number] //对随机生成number个地址进行扫描。
实验操作
- TCP扫描选项:
- TCP连接扫描(-sT):nmap -sT 192.168.96.4
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/4535076e5e2159454457ae7d8cff80eb.png)
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/afc2b8c6e9122f8539af631add1ea917.png)
原理:通过对每个端口进行tcp连接来确定端口是否存在。
优点:精准度较高。
缺点:由于在检测每个端口时都需要进行三次握手,所以速度较慢,同时由于需要建立连接,可能会被目标主机记录下来,所以安全性不高。(注:当系统权限不够时,默认使用的-sT扫描即nmap 目标ip)。
- SYN扫描(-sS): nmap -sS 192.168.96.4 //使用频率最高
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/1522997f2e7bd268c55c84c9f6aee806.png)
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/3e57ef6ef6accd2678307209b9cd2f60.png)
原理:SYN扫描也称半开连接,发送带有SYN标志位的数据包进行端口检测,如果主机回复SYN/ACK包,表示该端口处于开放状态,若回复RST/ACK包,表示该端口处于关闭状态,如果未响应或发送了ICMP unreachable信息则表明这个端口被屏蔽了。
SYN/ACK————————>开放
RST/ACK————————>关闭
ICMP unreachable————>屏蔽
优点:由于没有进行TCP三次握手连接,所以安全性(隐蔽性)高,扫描速度快,(注在有权限的情况下nmap默认使用的是该选项进行扫描(-sS))。
- 对控制位/标志位扫描
补充:
SYN:同步标志位。
ACK:确认数据包,对收到了数据包进行确认。
RST:重置连接的标识位。
FIN:完成标志位,完成并以正常方式关闭连接。
PSH:告诉接收方应当把缓冲区的数据立即推送给应用程序,不需 要等待。
TCP NULL (-sN): 扫描不设置任何控制位
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/141f9c41b8984c02822f67720d733c19.png)
FIN (-sF): 扫描仅设置FIN标志位。
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/6dcb6279fecbf547bbfd28aa807c81ae.png)
XMAS (-sX): 扫描设置FIN、PSH和URG标识位。
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/70e76d770c425b6cb0c100fc199465a2.png)
若目标主机回复了RST(重置连接)标志位,表示该端口关闭;
若目标主机无回应,则该端口处于打开|过滤状态。
- TCP ACK扫描:(-sA):
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/d12d2e0fd041e6bfaf9879f9c984e0d5.png)
检测目标主机哪些端口被防火墙屏蔽,数据包只有一个ACK标识位。
- TCP Idle扫描:(-sI ) //大写的i
-sI <zombiehost[:probeport]>: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
若目标系统中有ids(入侵检测系统),则会认为僵尸机为发起扫描的主机,而不是本机。
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/6933792675c261e9974423e50036c46b.png)
- . UDP扫描选项
UDP扫描仅有一种扫描方式(-sU)
扫描速度慢,扫描结果可靠度低,没TCP高,但UDP端口代表着可能有很大价值的服务程序。
优化性能问题:可用—host-timeout跳过响应过慢的主机;
可在防火墙后面扫描;并发扫描;优先扫描常用端口。
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/ee0ec9654658f5cb3f5d467f0733339e.png)
(3). 目标端口选项
1. -p 端口范围:后接指定端口,若扫描1~2024号端口,则用 -p 1-2024
2. -F(快速扫描):仅扫描常用的100个端口。
3. -r(顺序扫描):按照从小到大的顺序进行端口扫描。
(4). 输出选项
1.xml文件(-oX)
例: nmap 192.168.96.4 -oX myscan.xml
//表示扫描目标主机结果保存至myscan.xml文件中
xsltproc myscan.xml -o myscan.html
//将myscan.xml的.xml文件转换成.html文件
2.扫描外部文件(-iL)
例:nmap -iL 文件名
(5). 常用选项
1.扫描速度(-T):有-T1 -T2 -T3 -T4 -T5 -T6 依次速度越快。
默认通常情况下无需选择扫描速度选项,除非想进行更隐匿或更快速的扫描,越快越容易被防火墙过滤或屏蔽,网络良好情况下T4足够。
2.识别端口服务程序版本信息(-sV): nmap -sV 192.168.96.4
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/be22a7912db8ea91eb38028879e10053.png)
3.识别操作系统(-O)大写的字母O:nmap -O 192.168.96.4
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/053b5a6401d77ebc9df9a09e6b95a4b2.png)
4.禁用主机检测(-Pn),目标主机屏蔽了ping请求可用
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/52162f22389530ed6e7afc95160ca5b2.png)
- 强力检测(-A),将会扫描检测服务版本(-sV)、操作系统(-O)、脚本扫描(-sC)、Traceroute(–traceroute),该扫描耗时较长
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/d4df3867114084db703caeb28f1d3d6e.png)
可以看出扫描结果还是比较详细的,但是耗时近3分钟,还是比较费时间的。
7. 扫描IPv6主机(-6):
nmap -6 ipv6地址
8. 使用脚本扫描(-sC),比较耗时。
可–script <filename> 指定文件脚本
Nmap -sC 192.168.96.4 (默认类NSE脚本)
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/71c3b627c2a63e3ebe94a18c7417e6c8.png)
9. 规避检测的选项
-f (使用小数据包):避免对方识别出我们探测的数据包,使用8字 节或者更小的数据包。
— mtu (调整包的大小),最大传输单元必须的8的整倍数。
-D (诱饵),指定假的IP,使用后在发送数据包时会参杂着假的 地址,可使用RND:number,number为生成随机假IP的数量,注:使用过多会导致网络拥堵。
![Nmap常用命令总结「建议收藏」](https://ask.qcloudimg.com/http-save/yehe-8223537/a090bd84bbdcc8364e9ac57f7aab83ac.png)
–source-port <portnumber>或者-g(模拟源端口):针对防火墙只允许某些源端口的入站流量。
–data-length:改变发送数据包的默认数据长度,避免被识别出来是nmap的扫描数据。
- 若有错误或不妥之处劳烦大伙们指出,虚心求教,收到后及时改正!!