【nmap】常用五种扫描原理详解

您所在的位置:网站首页 称是什么原理 【nmap】常用五种扫描原理详解

【nmap】常用五种扫描原理详解

2024-07-14 06:25| 来源: 网络整理| 查看: 265

端口扫描原理 TCP SYN scanningTCP connect scanningTCP ACK scanning(检测防火墙屏蔽)TCP FIN/Xmas/NULL scanningUDP scanning

本文章涉及计算机网络相关知识,若无基础建议参考以下文章请务必搞懂各包作用: 链接:TCP的运输连接管理:TCP连接建立(三次握手) 链接: TCP的运输连接管理:TCP连接释放(四次挥手) 注:RST包用来关闭异常的TCP连接 在下列场景下会产生RST包: 服务器connect一个不存在的端口,会收到对方服务器的RST响应; 向一个已经关闭的链接发送数据,会收到对方服务器的RST响应; 向一个已经崩溃的对端发送数据(链接以前已经被创建),会收到对方服务器的RST响应; close(sockfd)时,直接丢弃接收缓冲区未读取的数据,并给对方发一个RST。这个是由SO_LINGER选项来控制的; a重启,收到b的keepalive探针,a向b发送rst,通知b。

TCP SYN scanning

这是Nmap默认的扫描方式,通常被称作半开放扫描(Half-open scanning)。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered)。因为该方式仅发送SYN包对目标主机的特定端口,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。 TCP SYN探测到端口关闭: 在这里插入图片描述 TCP SYN探测到端口开放: 在这里插入图片描述

TCP connect scanning

TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑选择的方式。

TCP connect探测到端口关闭: 在这里插入图片描述 TCP connect探测到端口开放: 在这里插入图片描述

TCP ACK scanning(检测防火墙屏蔽)

向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽;没有收到RST包,说明被屏蔽。该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。

TCP ACK探测到端口被屏蔽: 在这里插入图片描述 TCP ACK探测到端口未被屏蔽: 在这里插入图片描述

TCP FIN/Xmas/NULL scanning

这三种扫描方式被称为秘密扫描(Stealthy Scan),因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN包或Xmas tree包/Null包,如果收到对方RST回复包,那么说明该端口是关闭的;没有收到RST包说明端口可能是开放的或被屏蔽的(open|filtered)。

其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有flags都为0的TCP包。

TCP FIN探测到主机端口是关闭的: 在这里插入图片描述 TCP FIN探测到主机端口是开放或屏蔽的: 在这里插入图片描述

UDP scanning

UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。因此,通过反向排除法的方式来断定哪些UDP端口是可能出于开放状态。

UDP端口关闭:traceroute(udp+icmp)原理 在这里插入图片描述 UDP端口开放或被屏蔽: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3