背景知识:
Nmap可以用来扫描一个网络,监控服务、帮助列出网络主机等等。Nmap能提供操作系统的类型,开放的端口等信息,取决于Nmap的配置,如果还不够,可以使用Nmap脚本引擎扩展Nmap功能
Nmap家族包括:
ZenMap-----(Nmap的图形界面)
Ncat------(基于netcat,但是扩展了很多功能,例:ncat链,SSL支持。支持二进制)
Ncrack-------(用来测试部署的认证系统和密码强度,支持常用协议)
Ddiff------(可用于网络基线测量,对比Nmap扫描之间的差别)
Nping-------(允许将自己构造的数据包整合在整个过程中,并能对原始数据包进行操控
命令–help
Nmap命令语法为:nmap -{types} -{options} {target}
例子
Nmap有很强大的功能,它不仅可以快速扫描网络,而且还可以隐藏IP,从而找出服务类型,与映射防火墙规则
保持隐蔽:
网络扫描工程包括发送特殊构造的数据报文给目标主机和对返回结果基于某种标准的检查。基于结果可以知道网络中拿一台主机在线,开放的服务以及版本。
在扫描网络中会遇到防火墙来捕捉异常行为,例如:发送了多少数据包以及发送的速度,流量是否异常等,防火墙检测到可能会断开连接。这时就需要做一些措施
控制时间:
-T(0~5):能让你控制扫描的进度。0是最慢的扫描,5是最快的。只能在局域网中使用。
-max-hostgroup :可以将扫描的主机数量限制在一次一个。但是IDS还会结合探测的数量作为检测的特征。
-max-paralleism 10:一次只允许探测10个请求。使用这个选项控制探测数量
-scan-delay 允许你在两个探测之间停顿
nmap -p0 -n -sS --max_hostgroup 1 --max_retries 0 --max_parallelism 10 192.168.20.0/24
转发的上线书将会下降,端口也会随之减少。当扫描结束时,就会得到扫描结果
(–scan_delay与–max_parallelism不能同时使用,互不兼容)
僵尸扫描
僵尸扫描–
不被检测到的概率很小,我们需要转嫁责任。
可以使用空闲扫描,让一个僵尸主机承担我们的扫描任务。使用空闲扫描第一步寻找可能的僵尸主机
nmap -v -O -Pn -n 192.168.220.1
扫描僵尸主机存活,难度越高成功率越低。
空闲扫描的原理:
1.向僵尸主机IP地址发送ID(IPID)的RST报文。
2.发送使用僵尸主机IP地址的伪造数据包给目标主机
3.如果目标端口关闭,会给僵尸主机发送RST响应报文。如果端口开放,将会向僵尸主机发送SYN/ACK报文,僵尸主机发现这个非法连接响应,因此向目标主机发送RST报文,同时IPID号开始增长。
4.通过向僵尸主机发送另一个SYN/ACK以退出上述循环并检测僵尸主机RST报文中IPID是否每次增长2,同时目标主机的RST每次增长1
5.反复重复以上步骤知道检测完主机的所有端口
命令:nmap -p 23,50,80,1780,5000 -Pn -sI 192.168.1.88 192.168.1.111
-P 对已知端口进行扫描, -Pn不适用ping,-sI 启动空闲扫描 僵尸主机:192.168.1.88 目标机:192.168.1.111