加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 安全 > 正文

非中间人就不能劫持TCP了吗

发布时间:2022-07-27 10:47:15 所属栏目:安全 来源:互联网
导读:TCP的初始序列号 Hi,我是Robert,上回说到我费了老大劲才考上了Linux帝国的公务员,被分配到了网络部协议栈大厦的传输层工作。 上班第一天,主管就让我处理一个新的TCP连接练练手。虽然我理论背的滚瓜烂熟,不过还没有实际上手处理过TCP数据包,竟有些紧张
  TCP的初始序列号
 
  Hi,我是Robert,上回说到我费了老大劲才考上了Linux帝国的公务员,被分配到了网络部协议栈大厦的传输层工作。
 
  上班第一天,主管就让我处理一个新的TCP连接练练手。虽然我理论背的滚瓜烂熟,不过还没有实际上手处理过TCP数据包,竟有些紧张起来。
 
  接过这个请求连接的数据包后,我准备了一个响应包,将SYN标记和ACK标记都点亮后,接下来就犯了难了。这个确认号ACK我倒是知道是对方的序列号+1,不过我回复的序列号该是多少呢?
 
  这可难不倒我,脱口而出:“肯定是这家伙在半道上监听了网络通信,拿到了他们通信的序列号和确认号,然后就能伪造一方进行通信了”
 
  Cerf摇了摇头,“非也,这家伙不是中间人,没有监听通信哦”
 
  这下我倒是蒙了,皱起了眉头,“不是中间人,那就没办法知道序列号了,不知道序列号的前提下,怎么能冒充呢?”
 
  听到我的问题,Cerf会心一笑,“这家伙太聪明了,在冒充之前,他先和服务器建立过连接,拿到了服务器的初始序列号。因为这个序列号是每4ms加1,所以后面掐着时间推算一下,就能算到后面建立连接的时候,服务器新的ISN是什么”
 
  我恍然大悟,“这家伙真鸡贼,那看来这个ISN不能这样简单设定。”
 
  “所以啊,我刚刚制止了你,现在RFC出了新规定1948号文件,规定ISN要这么算:”
 
  ISN = M + F(localhost, localport, remotehost, remoteport)
 
  “M就是你刚刚看那个计数器,在此基础之上,还增加了一个F,把通信双方的IP和端口,也就是四元组信息做一个运算,得到一个值加在计数器之上,增加ISN的不可预测性”
 
  我点了点头,“这个F一般用什么算法呢?”
 
  “在咱们Linux帝国,之前用过MD4算法,后来升级成MD5算法了”
 
  “感谢Cerf,要不是你我就要犯错误了”
 
  Cerf拍拍我的肩,语重心长的说:“你还要不停学习啊,考上帝国公务员只是第一步”。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读