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