djjnet
驱动牛犊
驱动牛犊
  • 注册日期2005-12-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望117点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
阅读:1786回复:3

想修改TCP SYC包的包头信息,请各位贡献思路,多谢

楼主#
更多 发布于:2008-05-13 16:11
想修改TCP SYC包的包头信息,请各位贡献思路,将基本原理大致说一下,多谢。
耐性好的多说点,耐性不好的一句也成,多谢您的指点。
boywhp
驱动中牛
驱动中牛
  • 注册日期2007-08-09
  • 最后登录2015-04-24
  • 粉丝2
  • 关注0
  • 积分1105分
  • 威望515点
  • 贡献值0点
  • 好评度254点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2008-05-13 16:43
SYN?这个还有原理?
tcp_hdr  = packet->tcp;
tcp_hdr.src_ip = ...
.....
tcp_checksum(packet)
djjnet
驱动牛犊
驱动牛犊
  • 注册日期2005-12-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望117点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-05-14 09:36
楼上的大哥,这段代码是哪里的?我好研究一下。多谢了。
djjnet
驱动牛犊
驱动牛犊
  • 注册日期2005-12-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望117点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-05-14 10:02
因为对这一块还不是很了解,问的问题可能不在点子上吧。
一般XP系统上,接收窗口的最大值是TCPWindowSize这个注册表值来确定的,而这个值最大只能是64K。根据RFC1323,可以用Window Scale 来将这个值扩大。这就需要TCP在握手时的SYN包中的相应字段被设置。
现在我想应用层不做任何修改(因为如果在应用层来修改,应该只能对自己的应用程序建立的连接有效。而IE,Flashget等建立的连接应该还是改不了的吧),而做一个NDIS驱动,安装后,对于这台机器上的所有TCP的SYN包都做一下修改,从而达到对这台机器上的任何连接都使能Window Scale。
我该做一个什么样的NDIS驱动(TDI Filter Driver,Protocol Driver,Intermediate Driver还是Miniport Driver,还是别的什么)。在这个驱动的哪些点要做哪些事情。
不知道描述的准不准确,呵呵。
游客

返回顶部