有没有给我讲tcp阻断是咋回事 然后我

 我来答
cooldragoon
2018-10-18 · TA获得超过673个赞
知道小有建树答主
回答量:876
采纳率:66%
帮助的人:244万
展开全部
第一种情况是阻断未建立起来的连接
TCP的建立要经过3次握手,假设客户端C向服务器S请求连接
1、C发送带有SEQ_C(随机)初始序列号的SYN报文给S
2、S回复带有SEQ_S(随机)初始序列号和确认序列号ACK_S(必须是SEQ_C+1)的SYN报文给C
3、C回复确认序列号ACK_C(取值为SEQ_S)给S
整个过程如果正确的话,连接将会建立。
通常需要进行阻断的情况是审计控制系统旁路监听内网。旁路监听的方式一般是将主交换机的数据镜像到控制系统,控制系统可以采用libpcap捕获数据包

在这种情况下要阻断tcp连接的建立只要在监听到第一次握手的时候,控制系统伪造服务器发起第二次握手回应,就能阻断客户端与服务器连接的建立。因为我们的系统在内网,发出的报文肯定比服务器快,这样客户端接收到我们伪造的报文以后会回应第三次握手,当服务器真正的报文到达的时候客户端将不再处理,此时客户端再向服务器请求数据,因为seq号和ack号出错,服务器不会受理客户端的请求。

第二种情况是阻断已经建立起来的连接
对于已经建立起来的连接只要伪造服务器发送rst包迫使客户端重新进行连接,或者fin包直接中断连接。

正常通行中的tcp报文seq和ack存在如下关系,假设C向S请求数据,seq是seq1,ack是ack1,服务器返回给客户端的seq2和ack2必须存在这种关系:

seq2 = ack1

ack2 = seq1+datalen(服务返回报文的长度,不包括ip头和tcp头)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式