没有合适的资源?快使用搜索试试~ 我知道了~
首页网络端口扫描技术研究与实现
网络端口扫描技术研究与实现
5星 · 超过95%的资源 需积分: 18 154 下载量 127 浏览量
更新于2023-07-20
评论
收藏 250KB DOC 举报
0 引言 网络出现故障时,人们总习惯先用ping命令检测目标系统是否有所反应,如果要进一步了解目标系统的网络连接情况,黑客最常使用的一种手段就是端口扫描。ping命令只能检测目标主机是否是激活的(开机状态),而许多时候,如果目标主机或者其防护设备禁止了ping探测包,那么探测者甚至连对方是否处于激活状态都不得而知,这时候,对目标主机进行全面的端口扫描不仅是为了确定其开放的网络服务,而更基本的还在于确定其是否真正处于激活状态。 当然,端口扫描最大的作用是提供目标主机网络服务的清单,许多时候,扫描者不仅获得目标主机对外开放的TCP和UDP端口列表,而且还能通过一些连接测试得到监听端口返回的banners(旗标)信息。这些信息,对于判断监听端口上开放的服务类型以及对应软件版本甚至操作系统类型都有重要作用。 总之,端口扫描是一种非常重要的预攻击探测手段,几乎是所有黑客攻击的通用手段。同时通过端口扫描技术,可以在主机或系统在被攻击前得到一些警告和预报,尽可能在早期预测攻击者的行为并获得一定的证据,从而对攻击进行预警或采取一定的防御措施。
资源详情
资源评论
资源推荐
网络端口扫描技术研究与实现 2008-12-1
网络端口扫描技术研究与实现
0 引言
网络出现故障时,人们总习惯先用 ping 命令检测目标系统是否有所反应,如果要进一步了解目标系
统的网络连接情况,黑客最常使用的一种手段就是端口扫描。ping 命令只能检测目标主机是否是激活的
(开机状态),而许多时候,如果目标主机或者其防护设备禁止了 ping 探测包,那么探测者甚至连对方是否
处于激活状态都不得而知,这时候,对目标主机进行全面的端口扫描不仅是为了确定其开放的网络服务
而更基本的还在于确定其是否真正处于激活状态。
当然,端口扫描最大的作用是提供目标主机网络服务的清单,许多时候,扫描者不仅获得目标主机
对外开放的 TCP 和 UDP 端口列表,而且还能通过一些连接测试得到监听端口返回的 banners(旗标)信息。
这些信息,对于判断监听端口上开放的服务类型以及对应软件版本甚至操作系统类型都有重要作用。
总之,端口扫描是一种非常重要的预攻击探测手段,几乎是所有黑客攻击的通用手段。同时通过端
口扫描技术,可以在主机或系统在被攻击前得到一些警告和预报,尽可能在早期预测攻击者的行为并获
得一定的证据,从而对攻击进行预警或采取一定的防御措施。
1 端口介绍
1.1 端口的概念
TCP/IP 协议虽然规定了各个协议的实现细节,但却并没有确切地规定应用程序如何与协议软件进行
交互。因此实际上所说的服务器和主机之间没有一个一一对应关系,主机是一个硬件的概念,是一台物
理设备,而服务器是指一组软件系统,一台主机上可以装多个服务器来提供服务,而某个服务器也可以
由几台计算机通过软件进行捆绑后实现,一台主机可由 IP 地址区分,而主机上的服务则可以由端口实现。
端口通俗地讲就是一个通信通道的“门”,各种计算机服务和通信都是通过特定的端口与外部计算机进行通
信,像常见的 WWW、FTP、Telnet 服务一样。根据 Berkeley 套接字,端口共用 16bits 来表示,故其范
围为 0-65535 共 65536 个,比如用于浏览网页服务的 80 端口,用于 FTP 服务的 21 端口等等
1.2 端口的分类
逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:
(1) 按端口号分布划分
公认端口(Well Known Ports):这类端口也常称之为“常用端口”。这类端口的端口号从 0 到 1023,它
们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口不可再重新
定义它的作用对象。例如,80 号端口实际上总是 HTTP 通信所使用的,而 23 号端口则是 Telnet 服务专用
的。这些端口像木马这样的黑客程序通常不会利用。
注册端口(Registered Ports):端口号从 1024 到 49151。它们松散地绑定于一些服务。也就是说有许
多服务绑定于这些端口,这些端口同样用于许多其他目的。这些端口多数没有明确的定义服务对象,不
同程序可根据实际需要自己定义,一些远程控制软件和木马程序中都会有这些端口的定义的。记住这些
常见的程序端口在木马程序的防护和查杀上是非常有必要的。
动态和/或私有端口(Dynamic and/or Private Ports):端口号从 49152 到 65535。理论上,不应为服务
分配这些端口。实际上,有些较为特殊的程序,特别是一些木马程序就非常喜欢用这些端口,因为这些
端口常常不被引起注意,容易隐蔽。
(2) 按协议类型划分
按协议类型划分,可以分为 TCP、UDP、IP 和 ICMP(Internet 控制消息协议)等端口。下面主要介绍
TCP 和 UDP 端口:
第 1 页 共 11 页
网络端口扫描技术研究与实现 2008-12-1
TCP 端口:即传输控制协议端口,需要在客户端和服务器之间建立三次握手连接,这样可以提供可
靠的数据传输。常见的包括 FTP 服务的 21 端口,Telnet 服务的 23 端口,SMTP 服务的 25 端口,以及
HTTP 服务的 80 端口等。
UDP 端口:即用户数据报协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常
见的有 DNS 服务的 53 端口,SNMP(简单网络管理协议)服务的 161 端口,QQ 使用的 8000 和 4000
端口等。
1.3 常见端口介绍
表 1 常见端口介绍
端口号 服务 传输方式 意义
7 Echo UDP/ TCP 回送
21 FTP TCP 文件传输协议
22 SSH UDP/ TCP 远程登录协议(SSH)
23 Telnet TCP 远程登录
25 SMTP TCP 简单邮件传输协议
53 DNS UDP/ TCP 域名服务
80 HTTP TCP WEB 服务
110 POP3 UDP/ TCP 邮局协议—用于接收邮件
161 SNMP UDP 简单网络管理协议
2 端口扫描的概念
2.1 端口扫描的原理
端口扫描,顾名思义,就是逐个对一段端口或指定的端口进行扫描。通过扫描结果可以知道一台计
算机上都提供了哪些服务,然后就可以通过所提供的这些服务的已知漏洞就可以进行攻击。
其原理是当一个主机向远端一个服务器的某一端口提出一个建立连接的请求,如果对方有此项服务,
就会应答,利用这个原理,如果对所有熟知的端口或自己选定的某个范围内的熟知端口分别建立连接,
并记录下远端服务器所给予的应答,通过查看记录就可以搜集到目标服务器上都安装了哪些服务,这就
是端口扫描,通过端口扫描,就可以搜集到很多关于目标主机的各种很多有参考价值的信息,还可以发
现一些漏洞。
通常进行端口扫描的工具目前主要采用的是端口扫描软件,也称之为 “端口扫描器”。端口扫描器也是
一种程序,它可以对目标主机的端口进行连接,并记录目标端口的应答。端口扫描器通过选用远程 TCP/
IP 协议不同的端口的服务,记录目标计算机端口给予回答的方法,可以收集到很多关于目标计算机的各
种有用信息(比如是否有端口在侦听,是否允许匿名登录,是否有可写的 FTP 目录,是否能用 Telnet
等)。但扫描器并不是一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标主机的某些内在的
弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞,但它不会提供进入
一个系统的详细步骤。
2.2 端口扫描的目的
端口扫描主要是为三大类用户服务的:网络管理员、黑客、普通用户。他们对网络使用的角度不同,
所以所进行端口扫描的目的也各不相同,具体的目的如表 2 所示。
表 2 端口扫描用户类型及目的
端口扫描服务类别 扫描目的
网络管理员 关掉不用的端口,安装有漏洞端口补丁程序
黑客 利用打开的端口获取信息,为进行攻击做准备
普通用户 查找服务器是否提供某一服务
第 2 页 共 11 页
网络端口扫描技术研究与实现 2008-12-1
3 端口扫描技术
3.1 端口扫描技术的基础
端口这个概念是在传输层提出的,是传输层标志服务的手段。传输层有两个重要的协议:传输控制
协议(TCP)和用户数据报协议(UDP)。
3.1.1 TCP 报文格式
TCP 是一种面向连接的、可靠的、基于字节流的运输层通信协议,它最主要的工作流程就是通过三
次握手建立连接,通过面向连接来传输数据,最后再释放连接。
图 1 TCP 报文段的格式
图 1 中的标志位的含义分别为:
SYN—用来建立连接,让连接双方同步序列号。如果 SYN=1,ACK=0,为连接请求;如果
SYN=1,ACK=1,为接受连接。
FIN—用来释放一个连接。
RST—用来复位一个连接,当 RST=1 时,表明出现严重差错,必须释放连接,重建连接。
URG—紧急数据标志,URG=1 时,表示数据包中含紧急数据,紧急指针有效。
ACK—确认标志位。ACK=I 时确认号有效,ACK=0 时确认号无效。
PSH—如果置位,接收端应尽快把数据传送给应用层。
3.1.2 TCP 发送报文与响应报文的关系
(1) 当一个 SYN 或者 FIN 数据包到达一个关闭的端口,TCP 丢弃数据包同时发送一个 RST 数据包。
(2) 当一个 RST 数据包到达一个监听端口时 RST 被丢弃。
(3) 当一个 RST 数据包到达一个关闭端口时 RST 被丢弃
(4) 当一个包含 ACK 的数据包到达一个监听口时,数据包被丢弃。
(5) 当一个 SYN 位关闭的数据包到达一个监听端口时,数据包被丢弃。
(6) 当一个 SYN 数据包到达一个监听端口时,正常的三阶段建链继续.回答一个 SYN ACK 数据包。
(7) 当一个 FIN 数据包到达一个监听端口时,数据包被丢弃。
(8) 当一个 RST 数据包到达 SYN_RCVD 端口时,目标主机仅仅退回 LISTEN 状态,并且不向应用层
发送任何信号,处理完毕。
3.2 端口扫描的分类
端口扫描技术发展到现在,可以细分为许多类型。端口扫描的分类可以参见图 2 所示。
第 3 页 共 11 页
剩余10页未读,继续阅读
superww058
- 粉丝: 13
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论12