阅读:1786回复:3
想修改TCP SYC包的包头信息,请各位贡献思路,多谢
想修改TCP SYC包的包头信息,请各位贡献思路,将基本原理大致说一下,多谢。
耐性好的多说点,耐性不好的一句也成,多谢您的指点。 |
|
沙发#
发布于:2008-05-13 16:43
SYN?这个还有原理?
tcp_hdr = packet->tcp; tcp_hdr.src_ip = ... ..... tcp_checksum(packet) |
|
板凳#
发布于:2008-05-14 09:36
楼上的大哥,这段代码是哪里的?我好研究一下。多谢了。
|
|
地板#
发布于: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,还是别的什么)。在这个驱动的哪些点要做哪些事情。 不知道描述的准不准确,呵呵。 |
|