端口扫描原理.ppt

上传人:本田雅阁 文档编号:2503379 上传时间:2019-04-04 格式:PPT 页数:22 大小:1.26MB
返回 下载 相关 举报
端口扫描原理.ppt_第1页
第1页 / 共22页
端口扫描原理.ppt_第2页
第2页 / 共22页
端口扫描原理.ppt_第3页
第3页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《端口扫描原理.ppt》由会员分享,可在线阅读,更多相关《端口扫描原理.ppt(22页珍藏版)》请在三一文库上搜索。

1、端口扫描原理,端口扫描,端口扫描是通过与目标系统的TCP/IP端口连接,查看该系统处于监听或运行状态的服务。 一项自动探测本地和远程系统端口开放情况的策略及方法,它使系统用户了解系统目前向外界提供了哪些服务,从而为管理或攻击提供了一种手段。,端口扫描,原理 1)向目标主机的TCP/IP服务端口发送探测数据包,记录目标主机的响应。 2)分析响应,判断服务端口是打开还是关闭,得知端口提供的服务或信息。 端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包对本地主机的运行情况进行监视,查找内在弱点。,端口扫描,1、TCP概述 2、TCP扫描 1)全连接扫描 2)半连接扫描(TCP SYN扫描)

2、 3)TCP FIN扫描(秘密扫描) 4)TCP Xmas和TCP null 5)间接扫描 3、UDP扫描 4、防范,TCP 协议概述,源端口和目的端口字段各占2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,序号字段占4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,确认号字段占4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,数据偏移占4 bit,它指出TCP 报文段的数据起始处距离TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是32 bit 字(

3、4 字节为计算单位)。,保留字段占6 bit,保留为今后使用,但目前应置为0。,紧急比特URG 当URG =1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。,确认比特ACK 只有当ACK =1 时确认号字段才有效。当ACK =0 时,确认号无效。,推送比特PSH (PuSH) 接收TCP 收到推送比特置1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。,复位比特RST (ReSeT) 当RST =1 时,表明TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。,同步比特S

4、YN 同步比特SYN 置为1,就表示这是一个连接请求或连接接受报文。,终止比特FIN (FINal) 用来释放一个连接。当FIN =1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,窗口字段占2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。,检验和占2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP 报文段的前面加上12 字节的伪首部。,紧急指针字段占16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。,选项字段长度可

5、变。TCP 只规定了一种选项,即最大报文段长度MSS (Maximum Segment Size)。MSS 告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS 个字节。”,MSS 是TCP 报文段中的数据字段的最大长度。数据字段加上TCP 首部才等于整个的TCP 报文段。,填充字段这是为了使整个首部长度是4 字节的整数倍。,用三次握手建立TCP连接, A 的TCP 向B 发出连接请求报文段,其首部中的同步比特SYN 应置为1,并选择序号x,表明传送数据时的第一个数据字节的序号是x。 B 的TCP 收到连接请求报文段后,如同意,则发回确认。 B 在确认报文段中应将SYN 置为

6、1,其确认号应为x +1,同时也为自己选择序号y。 A 收到此报文段后,向B 给出确认,其确认号应为y +1。 A 的TCP 通知上层应用进程,连接已经建立。 当运行服务器进程的主机B 的TCP 收到主机A 的确认后,也通知其上层应用进程,连接已经建立。,建立TCP 连接,从A 到B 的连接就释放了,连接处于半关闭状态。相当于A 向B 说:“我已经没有数据要发送了。但你如果还发送数据,我仍接收。”,释放TCP连接,TCP扫描,思路: 通过穷举法,依次判断哪些端口在开放。 依次判1-1024端口是否开放。,客户端,服务器端,端口开放,TCP扫描,1)全连接扫描 是TCP端口扫描的基础,通过完整的

7、三次握手与目标主机的指定端口建立一次完整的连接。,客户端,服务器端,端口开放,TCP扫描,2)半连接扫描(TCP SYN扫描) 两次握手,客户端,服务器端,端口开放,TCP扫描,3)TCP FIN(秘密扫描) 针对Unix系统,客户端,服务器端,端口开放,TCP扫描,4)TCP Xmas和TCP null 针对Unix系统,是TCP FIN的变种; TCP Xmas扫描打开FIN、URG、PUSH标记 NULL扫描则关闭所有标记。 目的是防止包被过滤。,TCP扫描,5)间接扫描 攻击主机借用第三方IP(欺骗、伪装主机IP)扫描目标主机。,攻 击 主 机,伪 装 主 机 第三方主机,目 标 主

8、机,使用伪装主机IP给目标主机发包,根据端口状态,发回应包给伪装主机,发回应包给目标主机,监控伪装主机的行为,分析目标主机状态,UDP扫描,UDP概述,UDP扫描,为何UDP扫描不容易实现? 1)UDP ICMP端口不可达扫描,UDP扫描,1)UDP ICMP端口不可达扫描 问题:丢包、限定ICMP差错分组的发送频率;需root权限,UDP扫描,2)UDP recvfrom()和write() 扫描 对非root用户不能直接读取“端口不可达”错误,Linux能间接地在它们到达时通知用户: 对一个关闭的端口的第二次调用write()将失败 在非阻塞的UDP套接字上调用recvfrom()时,如果ICMP出错还没有到达时回返回EAGAIN-重试。如果ICMP到达时,返回ECONNREFUSED-连接被拒绝,用来查看端口是否打开。,端口扫描的防范,1)确定SYN包中伪造IP,通过防火墙、路由器拒绝其进入 2)基于状态的防火墙防护 3)进行出口过滤,防止有伪造IP的包的流出,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1