浅谈端口扫描原理

这篇具有很好参考价值的文章主要介绍了浅谈端口扫描原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、端口扫描简介

端口扫描,顾名思义,就是逐个对一段端口或指定的端口进行扫描。通过扫描结果可以知道一台计算机上都提供了哪些服务,然后就可以通过所提供的这些服务的己知漏洞就可进行攻击。其原理是当一个主机向远端一个服务器的某一个端口提出建立一个连接的请求,如果对方有此项服务,就会应答,如果对方未安装此项服务时,即使你向相应的端口发出请求,对方仍无应答,利用这个原理,如果对所有熟知端口或自己选定的某个范围内的熟知端口分别建立连接,并记录下远端服务器所给予的应答,通过查看一记录就可以知道目标服务器上都安装了哪些服务,这就是端口扫描,通过端口扫描,就可以搜集到很多关于目标主机的各种很有参考价值的信息。例如,对方是否提供FTP服务、WWW服务或其它服务。

二、端口状态

Nmap探测一个端口时可能得到以下六种端口状态:

open:端口是开放的。
closed:端口是关闭的。
filtered:端口被防火墙、IDS、IPS等屏蔽,无法确定其状态。
unfiltered:端口没有被屏蔽,但其是否开放需要进一步确定。
open|filtered:端口是开放的或被屏蔽。
closed|filtered :端口是关闭的或被屏蔽。

三、端口扫描方式

以下是三种常见的端口扫描方式:

1. 全连接扫描

全连接扫描是最传统且最直接的方法。它完全模拟客户端发起TCP连接的过程,通过执行完整的三次握手来确定端口是否开放。扫描器会调用操作系统级别的connect()函数来尝试与目标主机的某个端口建立连接。如果端口开放并监听连接,目标主机将回应一个ACK确认数据包,从而建立起连接。这种方式相对容易被防火墙和IDS(入侵检测系统)捕获。

2. 半连接扫描

半连接扫描,又称SYN扫描,是为了减少痕迹和避免引起警报而设计的更隐蔽的扫描方式。扫描器只发起TCP连接的第一次握手,即发送一个SYN数据包。如果目标端口开放,它会回应一个SYN+ACK数据包。这时,扫描器并不会完成第三次握手(即不发送ACK),而是发送一个RST(复位)数据包来终止连接。这样就不需要建立完整的连接,降低了被检测的风险。

3. 秘密扫描

“秘密扫描”通常指的是那些旨在最大程度地降低被目标系统察觉的扫描技术。除了SYN扫描之外,还有一些更隐蔽的扫描方式,例如FIN扫描、Xmas Tree扫描、Null扫描等,这些扫描方式通过发送非标准的TCP数据包(如只有FIN标志位的包或多个标志位同时置位的包)来探测端口状态,基于目标主机对这些异常数据包的不同响应来判断端口是否开放。这些扫描方式的目的在于尽量减少在目标主机上产生的日志信息,以及避免触发防火墙规则或入侵检测系统的警报。

四、常用端口扫描方法及原理

1、TCP CONNECT SCAN

原理很简单,与目标端口建立3次握手,如果成功建立则为open,收到RST则为close,此方法为全连接扫描。

浅谈端口扫描原理

 2、TCP SYN SCAN

也称为TCP半连接扫描,只发送三次握手的第一次SYN报文段,如果收到ACK+SYN则为open,收到RST则为close,这种好处是不必等待三次握手完全完成,速度快且不容易被防火墙记录进日志。

浅谈端口扫描原理

 探测结果及状态如下:

浅谈端口扫描原理

 3、TCP FIN/Xmas Tree/NULL SCAN

这几种探测方式原理相同,只是发送包的标志位不同。

FIN扫描:FIN标志位为1,其余标志位为0。

Xmas Tree扫描:也被称为Christmas Tree(圣诞树)扫描,它会设置FIN、URG和PSH标志位为1,其余标志为0。

NULL扫描:所有标志位都被设置为0。

根据规定,理论上不会将不设置SYN,RST,或者ACK位的报文发送到开放端口,如果您确实收到了,丢弃该报文。当端口关闭时,任何不包含SYN,RST,或者ACK位的报文会导致一个RST返回。而当端口开放时,应该没有任何响应。

浅谈端口扫描原理

  探测结果及状态如下:

浅谈端口扫描原理

 4、TCP ACK SCAN

当发送给对方一个含有 ACK 标志的TCP报文的时候,接收方会认为发生了错误(因为tcp建立连接时第一次握手报文不含ACK标志),接收方会返回含有RST标志的报文,无论端口是开放或者关闭。所以,不能使用TCP ACK扫描来确定端口是否开放或者关闭。但是可以利用它来扫描防火墙的配置,用它来发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。

向服务端发送一个带有 ACK 标识的数据包,如果收到带有 RST 标识的响应,则说明服务端存在状态防火墙。当没有收到任何响应或者收到ICMP错误响应时表明该端口处于filtered状态。

 浅谈端口扫描原理

  5、TCP WINDOW SCAN

TCP 窗口扫描的流程类似于 ACK 扫描,都是向服务端发送带有 ACK 标识的数据包,不同的在于 TCP 窗口扫描会检查收到的 RST 数据包中的窗口大小。

如果返回RST数据包说明没有防火墙过滤,端口开放或关闭根据RST包中的窗口大小判断。

如果 RST 数据包中的窗口大小不为零,则说明目标端口是开放的。如果 RST 数据包中的窗口大小为零,则说明目标端口处于关闭状态。

浅谈端口扫描原理

 浅谈端口扫描原理

   探测结果及状态如下:

浅谈端口扫描原理

 6、UDP SCAN

UDP扫描比较简单,一般如果返回ICMP port unreachable说明端口是关闭的,而如果没有回应或有回应(有些UDP服务是有回应的但不常见)则认为是open,但由于UDP的不可靠性,无法判断报文段是丢了还是没有回应,所以一般扫描器会发送多次,然后根据结果再判断。这也是为什么UDP扫描这么慢的原因。

浅谈端口扫描原理

 

虽然因特网上最流行的服务运行在TCP协议上,但UDP服务被广泛部署。 DNS,SNMP和DHCP(注册端口53,161 / 162和67/68)是最常见的三种。 由于UDP扫描通常比TCP更慢且更困难,因此某些安全审核员会忽略这些端口。 这是一个错误,因为可利用的UDP服务非常普遍,攻击者肯定不会忽略整个协议。

UDP扫描通过向每个目标端口发送UDP数据包来工作。 对于大多数端口,此数据包将为空(无有效负载),但对于一些更常见的端口,将发送特定于协议的有效负载。 根据响应或缺少响应,端口被分配给四种状态之一,如下表所示:

浅谈端口扫描原理文章来源地址https://www.toymoban.com/news/detail-856722.html

到了这里,关于浅谈端口扫描原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 主动扫描-Nmap-端口、系统、服务扫描

    目录 一、使用Nmap进行端口扫描 1、关于端口的介绍 ① 个数 ② 作用 ③ 分类 2、Nmap中的各种端口扫描技术 ① SYN扫描 ② Connect扫描 ③ UDP扫描 ④ 端口扫描范围的确定 二、使用Nmap扫描目标系统 1、识别原理 2、参数与意义  3、远程判断目标系统的方法 三、使用Nmap扫描目标服务

    2024年02月09日
    浏览(45)
  • 网络扫描,端口扫描,漏洞扫描,带你认识nmap

    nmap是一款用于网络发现和安全评估的开源工具。它可以扫描网络主机,了解主机的开放端口和服务信息,甚至可以对操作系统进行识别。 以下是nmap主要用途: 网络发现:nmap可以扫描网络上的主机,了解主机的IP地址、MAC地址等信息。 端口扫描:nmap可以扫描网络上的主机,

    2024年02月13日
    浏览(48)
  • python3-端口扫描(TCP connect扫描,SYN扫描,FIN扫描)

    利用python3进行端口扫描,TCP的方式有connect扫描,SYN扫描,FIN扫描,NULL扫描,ACK扫描,Xmas,windows扫描。本次展示前三种,代码仅供参数: 扫描方式 1:TCP connect扫描 扫描端与目标主机建立tcp连接,完成三次握手后,扫描端主动关闭连接(缺点:目标主机会记录下连接内容) 扫

    2023年04月08日
    浏览(47)
  • 如何扫描网址ip的特定端口或扫描全部网段

    一 nc sudo apt install netcat-openbsd 或sudo apt install ncat 二 telnet sudo apt install telnet 转义符为 ‘^]’. ctrl + ] 之后quit 或 q 三 nmap 扫描TCP开放端口 扫描UDP开放端口 需root权限 nmap 扫描整个网段

    2024年01月18日
    浏览(38)
  • 扫描内网端口

    简介 端口是一切网络入侵的入口。通过对内网主机进行端口扫描,测试人员可以确定目标主机上开放的服务类型、服务版本,并查找相应的漏洞进行攻击。测试人员可以根据目标主机的情况,上传工具进行扫描,也可以借助内网代理或路由转发对目标主机发起扫描。 1利用

    2024年02月01日
    浏览(28)
  • MSF---端口扫描

    一: Nmapdb_nmap 可以使用db_nmap命令对我们的目标运行Nmap,扫描之后的结果会自动存储在我们的数据库中。并可以以xml格式对扫描结果进行导出。在msf中也可以直接运行nmap命令,但结果不会导入到msf数据库中。nmap的-oA参数可以导出三种格式的扫描文件(xml, grepable, normal)。这三种

    2024年02月12日
    浏览(42)
  • 扫描网络端口

         本次实验通过在理解扫描器原理的基础上,利用Java开发环境来编程实现一款简易的扫描器,熟悉主机及端口扫描工具。       编写程序扫描网络端口,查看状态 -- 关闭或者开启,同时要设置端口关闭或者开启功能,并且能够扫描到开启或者关闭的端口。 1. 端口介绍

    2024年02月02日
    浏览(28)
  • 网络安全之端口扫描

    1、扫描三步曲 一个完整的网络安全扫描分为三个阶段: 第一阶段:发现目标主机或网络 (端口扫描) 第二阶段:发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设

    2024年02月13日
    浏览(40)
  • 16.1 Socket 端口扫描技术

    端口扫描是一种网络安全测试技术,该技术可用于确定对端主机中开放的服务,从而在渗透中实现信息搜集,其主要原理是通过发送一系列的网络请求来探测特定主机上开放的 TCP/IP 端口。具体来说,端口扫描程序将从指定的起始端口开始,向目标主机发送一条 TCP 或 UDP 消息

    2024年02月08日
    浏览(89)
  • Nmap扫描器主机、端口、版本、OS、漏洞扫描基本用法

    操作系统:kali 1、批量Ping扫描:  批量扫描一个网段的主机存活数。 扫描IP地址范围:  可以指定一个IP地址范围   2、跳过Ping探测:   有些主机关闭了ping检测,所以可以使用 -P0 跳过ping的探测,可以加快扫描速度。 3、计算网段主机IP  -sL      仅列出指定网段上的每台主机,不

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包