nmap 扫描工具部分原理解释

0x00 namp 部分原理解释

一、主机发现

1.基于ARP
  • nmap -PR + ip地址
  • 原理:nmap向所在网段发送大量ARP请求广播,如果目标主机存活,则会收到ARP响应,若一段时间后没有收到相应,则认为主机死亡。
2.基于ICMP

a.通过ICMP"应答"请求和响应请求(类型值 8 和 0)

  • nmap -PE + ip地址
  • 原理:发送ICMP相应请求,如果得到目标主机回应的ICMP响应,则说明该主机处于活跃状态

b.通过ICMP"时间戳"请求和应答(类型值 13 和 14)

  • nmap -PP + ip地址
  • 原理:发现原理同上只是基于方式不同

c.通过ICMP"地址掩码"请求和响应(类型值 17 和 18 )

  • namp -PM + ip地址
  • 原理:同上

d.总结:基于ICMP协议的主机发现都是基于请求和响应的机制

3.基于TCP(面向端口检测)

a.通过TCP SYN

  • namp -PS + ip地址
  • 原理:基于建立连接,建立连接时会发送SYN请求如果目标端口开放则会返回SYN ACK应答,若端口关闭则会返回RST数据包。释放连接也是发送RST数据包,由于只是探测主机是否存活 Nmap不会真正的建立连接

b.通过TCP ACK

  • nmap -PA + ip地址
  • 原理:同上基于TCP三次握手建立连接
4.基于UDP(面向端口检测)
  • nmap -PU + ip地址
  • 原理:当一个端口收到UDP数据包的时候,如果它是关闭的,就会给源端发送一个ICMP端口不可达数据包,如果它是开放的,就会忽略这个数据包,也就是丢弃不回复任何信息
5.基于SCTP(由于有些主机不支持此协议所以回可能错误报告)
  • namp -PY + ip地址
  • 原理:与TCP原理相似都是基于建立连接,但两个协议存在较大区别,如有兴趣课自行搜索
6.基于IP(配合 “-PO选择协议 --data-length 指定长度” 选项使用)
  • namp -sP + ip地址
  • 原理:所有TCP、UDP、ICMP及IGMP数据都是以IP数据包格式传输

“拓展” :–packet-trace 可以帮助查看发送的数据包

二、端口扫描(-F -p --top-ports)

1.SYN扫描(root权限)
  • namp -sS + ip地址
  • 原理:首先Nmap会向目标主机的一个端口发送请求连接的SYN数据包,而目标主机在接收到这个SYN数据包后会以SYN ACK进行应答,Nmap在收到SYN ACK后会发送RST包请求断开连接而不是ACK应答。这样三次握手就没法完成,无法建立正常的TCP连接,而系统日志中也不会有记录。
2.Connect扫描
  • nmap -sT + ip地址
  • 原理:这种方式和SYN扫描方式很像,只是建立了TCP连接,完成了三次握手。
3.UDP扫描
  • nmap -sU + ip地址
  • 原理:Namp 向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。
4.TCP FIN扫描
  • namp -sF + ip地址
  • 原理:Nmap向目标端口发送一个FIN数据包,按照RFC793规定,对于所有关闭的端口,目标系统应返回RST标志
5.NULL扫描
  • nmap -sN +ip地址
  • 原理:Nmap向目标端口发送一个不包含任何标志的数据包。按照RFC793规定,对于所有关闭的端口,目标系统应该返回RST标志
6.Xmas Tree扫描
  • nmap -sX + ip地址
  • 原理:TCP Xmas Tree向目标端口发送一个含有FIN URG PUSH标志的数据包。按照RFC793规定,对于所有关闭的端口,目标系统应返回RST标志
7.idel 扫描
  • nmap
  • 原理:详见nmap诸神之眼p45

三、操作系统检测

  • nmap -O + ip地址
  • 原理:利用探针数据包来查看目标主机的响应数据,分析操作系统的"指纹"确定操作系统,这些探针利用了TCP、UDP、ICMP等各种协议,经过巧妙地设计,发现操作系统的细微差别。

四、服务及版本扫描

  • nmap -sV + ip地址
  • 原理:进行端口扫描,默认为SYN扫描,进行服务识别,发送探针报文得到返回值确认服务,进行版本识别,发送探针报文,得到返回的报文信息,分析出服务的版本

【参考书籍】:nmap诸神之眼

【推荐网站】:nmap 中文手册

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值