求高手给解释一下如何用c语言重组tcp数据包,并保存数据流中的html,js,image
本帖最后由 linux_sjj 于 2016-03-21 10:06 编辑最近在对wireshark抓取的数据包进行linux下的c语言分析重组,但是发现用fread,fwrite读到的数据显示在文本中是乱码,我都清过缓存的,不知道是不是编码的问题,但是这方面又不懂,可有高手给我讲解一下思路(如何用c重组tcp数据包,并保存相关数据比较好),小弟感激不尽。
我之前的思路就是:将五元组放到链表中,然后来一个比对一个,符合的就将内容写入文件中。但是后面发现写的那些内容就是IP总长度减去40个字节的ip头和tcp头,得到的数据部分,有些是乱码。 回复 1# linux_sjj
TCP/IP数据都是无符号数,另外还要注意字节序转换。 回复 2# daniel_kohler
这个字节序转换我知道啊,我是说的那些数据部分,读出来部分乱码,而且重组tcp数据流,以什么为条件重组不太清楚 回复 3# linux_sjj
你是只解析payload吗?在wireshark中解析出来的是什么样的? 回复 4# daniel_kohler
版主大哥,你好,非常感谢!我现在的主要问题就是你说的payload这块处理不太明白,如何去除http相应的那部分内容获得实际的有效内容,以及对于压缩文件如何还原。 回复 4# daniel_kohler
就是指传回来的文件比如是gzip格式,我该如何去还原他。如一个.js的文件,我获取到名子创建xxx.js文件,将http响应头去掉(这个不知道怎么去除)获取有效部分,然后如何将剩下的压缩格式的内容还原到xxx.js中。
ps:图片中红线上方那部分不知道代表的是什么。
页:
[1]