`

常见的端口扫描类型及原理

 
阅读更多

常见的扫描类型有以下几种:

     

秘密扫描

秘密扫描是一种不被审计工具所检测的扫描技术。
它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己。
秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。由于没有包含TCP 3次握手协议的任何部分,所以无法被记录下来,比半连接扫描更为隐蔽。
但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包。现有的秘密扫描有TCP FIN扫描、TCP ACK扫描、NULL扫描、XMAS扫描和SYN/ACK扫描等。 

1、Connect()扫描:

     此扫描试图与每一个TCP端口进行“三次握手”通信。如果能够成功建立接连,则证明端口开发,否则为关闭。准确度很高,但是最容易被防火墙和IDS检测到,并且在目标主机的日志中会记录大量的连接请求以及错误信息。

TCP connect端口扫描服务端与客户端建立连接成功(目标端口开放)的过程:
① Client端发送SYN;
② Server端返回SYN/ACK,表明端口开放;
③ Client端返回ACK,表明连接已建立;
④ Client端主动断开连接。
建立连接成功(目标端口开放)如图所示

TCP connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程:
① Client端发送SYN;
② Server端返回RST/ACK,表明端口未开放。
未建立连接成功(目标端口关闭)如图所示。

优点:实现简单,对操作者的权限没有严格要求(有些类型的端口扫描需要操作者具有root权限),系统中的任何用户都有权力使用这个调用,而且如果想要得到从目标端口返回banners信息,也只能采用这一方法。
另一优点是扫描速度快。如果对每个目标端口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字,从而加速扫描。
缺点:是会在目标主机的日志记录中留下痕迹,易被发现,并且数据包会被过滤掉。目标主机的logs文件会显示一连串的连接和连接出错的服务信息,并且能很快地使它关闭。

2、SYN扫描:

      扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。但是,这种扫描需要有root权限。
    

端口开放:1、Client发送SYN  2、Server端发送SYN/ACK 3、Client发送RST断开(只需要前两步就可以判断端口开放)

端口关闭:1、Client发送SYN  2、Server端回复RST(表示端口关闭)

优点SYN扫描要比TCP Connect()扫描隐蔽一些,SYN仅仅需要发送初始的SYN数据包给目标主机,如果端口开放,则相应SYN-ACK数据包;如果关闭,则响应RST数据包;

3、NULL扫描:

反向扫描----原理是将一个没有设置任何标志位的数据包发送给TCP端口,在正常的通信中至少要设置一个标志位,根据FRC 793的要求,在端口关闭的情况下,若收到一个没有设置标志位的数据字段,那么主机应该舍弃这个分段,并发送一个RST数据包,否则不会响应发起扫描的客户端计算机。也就是说,如果TCP端口处于关闭则响应一个RST数据包,若处于开放则无相应。但是应该知道理由NULL扫描要求所有的主机都符合RFC 793规定,但是windows系统主机不遵从RFC 793标准,且只要收到没有设置任何标志位的数据包时,不管端口是处于开放还是关闭都响应一个RST数据包。但是基于Unix(*nix,如Linux)遵从RFC 793标准,所以可以用NULL扫描。   经过上面的分析,我们知道NULL可以辨别某台主机运行的操作系统是什么操作系统,是为windows呢?还是*nix?

端口开放:Client发送Null,server没有响应

端口关闭:1、Client发送NUll   2、Server回复RST

说明:Null扫描和前面的TCP Connect()和SYN的判断条件正好相反。在前两种扫描中,有响应数据包的表示端口开放,但在NUll扫描中,收到响应数据包表示端口关闭。反向扫描比前两种隐蔽性高些,当精确度也相对低一些。

用途:判断是否为Windows系统还是*nix

4、FIN扫描:

       与NULL有点类似,只是FIN为指示TCP会话结束,在FIN扫描中一个设置了FIN位的数据包被发送后,若响应RST数据包,则表示端口关闭,没有响应则表示开放。此类扫描同样不能准确判断windows系统上端口开发情况。

端口开放:发送FIN,没有响应

端口关闭:1、发送FIN  2、回复RST

5、ACK扫描:

     扫描主机向目标主机发送ACK数据包。根据返回的RST数据包有两种方法可以得到端口的信息。方法一是: 若返回的RST数据包的TTL值小于或等于64,则端口开放,反之端口关闭,如图所示。

6、Xmas-Tree扫描:

通过发送带有下列标志位的tcp数据包

                                URG:指示数据时紧急数据,应立即处理。

                                PSH:强制将数据压入缓冲区。

                                 FIN:在结束TCP会话时使用。

正常情况下,三个标志位不能被同时设置,但在此种扫描中可以用来判断哪些端口关闭还是开放,与上面的反向扫描情况相同,依然不能判断windows平台上的端口。

端口开放:发送URG/PSH/FIN,没有响应

端口关闭:1、发送URG/PSH/FIN,没有响应   2、响应RST

XMAS扫描原理和NULL扫描的类似,将TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发送给目标主机。在目标端口开放的情况下,目标主机将不返回任何信息。

7、Dump扫描:

       也被称为Idle扫描或反向扫描,在扫描主机时应用了第三方僵尸计算机扫描。由僵尸主机向目标主机发送SYN包。目标主机端口开发时回应SYN|ACK,关闭时返回RST,僵尸主机对SYN|ACK回应RST,对RST不做回应。从僵尸主机上进行扫描时,进行的是一个从本地计算机到僵尸主机的、连续的ping操作。查看僵尸主机返回的Echo响应的ID字段,能确定目标主机上哪些端口是开放的还是关闭的。

 

   整理来源:《防御!网络攻击内幕剖析》

  • 大小: 40.5 KB
  • 大小: 16.4 KB
  • 大小: 28.2 KB
  • 大小: 26 KB
  • 大小: 19.2 KB
  • 大小: 11 KB
  • 大小: 13.2 KB
  • 大小: 18.7 KB
  • 大小: 17 KB
  • 大小: 20.7 KB
分享到:
评论

相关推荐

    网络端口扫描

    基于网络的扫描程序根据用户设定的扫描参数,通过网络进行主机扫描、端口扫描和操作系统扫描,发现目标主机、主机提供的服务及使用的操作系统等信息。具体内容如下: 1. 主机扫描。构造ICMP echo请求报文或TCP SYN...

    Python项目开发实战_端口扫描器的实现_编程案例解析实例详解课程教程.pdf

    端口扫描是指通过发送一组端口扫描消息,试图以此...本项目主要实现端口扫描器,先通过端口扫描在渗透中的具体用法,帮助大家理解端口扫描的原理和作用,再利用 Python 编写能进行跨网段、多线程、多端口的端口扫描器。

    C语言C++实战之——《端口扫描与信息探测》原理和实现

    你知道端口扫描吗?侵入计算机,了解计算机网络服务类型,探寻端口弱点!需要完整视频和源码的,关注私信我。

    端口扫描器的设计与实现(Java).zip

    设计题目 端口扫描器的设计与实现(Java) ★★ 已知技术参数和设计要求 1.利用Socket通信机制实现一个多线程的端口扫描器。 2.设计要求: 2.1用户界面:用户可以输入IP地址或IP地址段;输入端口号或端口号...

    端口扫描PortReady1.6

    │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口标识│ │的功能,可以用来...

    端口扫描PortReady 1.6

    │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口标识│ │的功能,可以用来...

    网络信息扫描实验

    1、网络端口扫描原理 一个开放的网络端口就是一条与计算机进行通信的信道,对网络端口的扫描可以得到目标计算机开放的服务程序、运行的系统版本信息,从而为下一步的入侵做好准备。对网络端口的扫描可以通过执行手工...

    XP下的PortReady1.6多线程的端口扫描

    │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口标识│ │的功能,可以用来...

    Web应用安全:Nmap扫描原理与用法.docx

    Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。 一、Nmap介绍 1、Nmap的优点 灵活。支持数十种不同的扫描方式,支持多种目标对象的扫描。 强大。Nmap...

    扫描器篇(五)之scapy构造UDP数据包完成主机发现

    udp协议扫描 ... 原理是ip包头中的protocol部分用于标记上层协议类型,如果数值为0x01的话表示ICMP 代码部分 数据包构造扫描部分 通过python发包神器scapy构造UDP数据包 端口一定要选择没有开放的,不然

    网络安全实验---NMAP扫描.docx

    网络安全实验---NMAP扫描全文共8页,当前为第1页。网络安全实验---NMAP扫描全文共8页,当前为第1页。... 4.Nmap常用命令选项 执行命令:nmap[扫描类型][扫描选项]。常用命令选项见表19-1-3。 表19-1-3

    网络安全技术习题.docx

    简述其工作原理及防范措施 如何防范端口扫描?试列举几种常见的应对方法 何谓操作系统扫描技术?试列举几种操作系统扫描方法 何谓栈指纹技术?主动和被动栈指纹技术有何区别? 如网络安全技术习题全文共7页,当前为...

    微机原理及接口技术

    2.2.2 存储器的结构及访问............... 26 2.2.3 存储器地址的分段................... 27 2.3 8086/8088 I/O 地址空间...................... 28 2.4 高档微处理器.......................................29 ...

    x-scan-v3.3-cn

    首先让我们运行窗口版本看看:窗口分为左右两部分,左面是进行扫描的类型,这包括前面提到的漏洞扫描、端口扫描等基本内容;另一部分是有关扫描范围的设定,xscanner可以支持对多个IP地址的扫描,也就是说使用者可以...

    Nmap实验报告.doc

    本实验使用网络扫描软件Nmap对北邮官网www.bupt.edu.cn(I P地址:10.3.9.254)进行多类型的主机和端口扫描并进行分析。 1. 隐藏扫描(Stealth Scanning) -sS为TCP同步扫描,原理是源主机发送一个TCP同步包...

    微型计算机原理与接口技术(第三版)电子书及答案周荷琴

    13.5.1 扫描仪原理及性能指标 301 13.5.2 数码照相机原理及其应用 302 13.5.3 触摸屏原理及其应用 303 本章小结 303 思考与练习题 304 第14章 D/A及A/D转换器 306 14.1 概述 306 14.2 典型D/A转换器及其应用 307 ...

    网络安全技术原理与实践--第一章-网络安全概论.pptx

    第一章 网络安全概论 网络安全技术原理与实践--第一章-网络安全概论全文共20页,当前为第1页。 1.1 网络安全的定义 物理安全 逻辑安全 操作系统安全 网络数据传输... 网络扫描的技术类型主要包括:主机扫描、端口扫描、

    网络安全技术(1).doc

    14.(个人防火墙)类型的软件能够阻止外部主机对本地计算机的端口扫描。 15.以下属于木马入侵的常见方法是(捆绑欺骗,邮件冒名欺骗,危险下载,打开邮件中 的附件)。 16.局域网中如果某平台计算机收到了ARP欺骗,...

    网络的安全系统技术.doc

    〔个人防火墙〕类型的软件能够阻止外部主机对本地计算机的端口扫描。 15.以下属于木马入侵的常见方法是〔捆绑欺骗,冒名欺骗,危险下载,打开中的附件〕 。 16.局域网中如果某平台计算机收到了ARP欺骗,那么它发出去...

    网络安全技术.doc

    〔个人防火墙〕类型的软件能够阻止外部主机对本地计算机的端口扫描。 15.以下属于木马入侵的常见方法是〔捆绑欺骗,冒名欺骗,危险下载,打开中的附件〕 。 16.局域网中如果某平台计算机收到了ARP欺骗,那么它发出去...

Global site tag (gtag.js) - Google Analytics