网络分析专家 netexpert's Archiver

teleinfor 发表于 2009-11-8 11:55

请教一个HTTP分段重组的问题

TCP.HTTP协议,需要对HTTP访问内容头信息进行分析,就需要对HTTP分段进行重组。请问如何设计实现?

1、必须进行TCP SEGMENT的重组,才能进行HTTP协议分析么?
2、还是说直接根据HTTP协议特征进行HTTP恢复即可?

请熟悉的TX支招,谢谢!

Vader 发表于 2009-11-8 12:21

如果仅仅是request/response头分析, 可以不应用tcp segment重组, 因为头都足够小到可以放在1个包内.

teleinfor 发表于 2009-11-8 13:32

多谢管理员指点!

如果进行HTTP页面的恢复呢,是不是就一定要进行TCP分段重组了?

还有就是不太明白TCP重组,如果用户FTP下载了一个10MB文件,那不是要缓冲10MB文件才能把所有的TCP分段接收完毕?重组的化岂不是内存成为大问题?TCP的分段重组思路到底如何设计才较为实际?

Vader 发表于 2009-11-9 17:28

好像是这样的。 对内存需求很大, 如果写成64位的程序,至少这部分就交给操作系统去做了。
精巧点的设计就是利用硬盘文件等缓存一下,但比较复杂而且性能下降许多

teleinfor 发表于 2009-11-10 09:08

非常感谢!

我再研究研究,有进展来报告。

心之所在 发表于 2009-11-19 20:17

很好,正好解惑。谢谢

wildlifexs 发表于 2009-12-4 23:03

应该是要TCP重组!HTTP只是应用层协议!TCP是传输层的东西!这里面应该还有你收到的包的顺序问题!所以应该TCP层去重组

李至人 发表于 2009-12-9 23:17

可以恢复的。

easyspy 发表于 2009-12-10 08:47

[quote]原帖由 [i]teleinfor[/i] 于 2009-11-8 13:32 发表 [url=http://www.netexpert.cn/redirect.php?goto=findpost&pid=158253&ptid=25112][img]http://www.netexpert.cn/images/common/back.gif[/img][/url]
多谢管理员指点!

如果进行HTTP页面的恢复呢,是不是就一定要进行TCP分段重组了?

还有就是不太明白TCP重组,如果用户FTP下载了一个10MB文件,那不是要缓冲10MB文件才能把所有的TCP分段接收完毕?重组的化岂不 ... [/quote]

如果只是10M内存中完全没问题,如果再大可以考虑临时文件。

zhmg860102 发表于 2010-5-30 15:46

想要数据还原的联系我

通过FTP下载文件,然后捕获数据包,通过程序实现文件的还原。想要的联系我,QQ530333120。

猎户座的传奇 发表于 2010-8-4 11:45

:) 路过学习的~

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.