能力值:
( LV6,RANK:90 )
|
-
-
2 楼
tcpip卷2 + reactos源码 tcpip.sys中间的tcpReceive()
我更想说的是。。直接拿reactos源码中tcp分组拼装的代码应用到你的模块中,多爽阿
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
reactos源码在哪有下载? 你有么? 有的话给一份看看先 tw2050@163.com 谢谢了。
|
能力值:
( LV9,RANK:250 )
|
-
-
4 楼
通过tcp的序列号来重组
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
TCP/IP卷一详解过TCP协议对于重组的算法,对于先后IP包的判断,首部检验和,TCP序号,动态控制流量窗口等的,二卷也有代码
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
对于tcp的序列号:
1. 对于tcp同一个数据流的序列号。 本次包的序列号= 上次包的序列号 + 上次tcp包数据大小。
如: 假设数据流的第一个包的序列号为10, 第一个包的tcp数据大小为100. 那么数据流的第二个包序列号就为110;
2. 数据流的序列号,最大为2的32次方。 如果到了最大值后, 又重新置零处理。
问题: 如果一个tcp包的序列号正好跨越2的32次方。 那么下个tcp序列号会是什么?
如。tcp数据流的第一个包的序号为2的32次方减10. 每一个包的大小为100. 那么此tcp数据流下个数据包的序号是什么? 1 还是90?
对于光判断序列号还有个问题。 不知道此个数据流什么时候结束。 起初, 我的想法是判断tcp的FIN或RESET标示位。 但有的时候, 访问一个网站后获取网页内容后。 此tcp连接并不会马上断开。 所以并不会置FIN标示位
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
lz的需求还是直接看wireshark源码更符合吧
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
用libnids吧
|
|
|