捕获的包,怎么都是乱码啊,我用winPcap作的嗅探器,读出来的包都是乱码,怎么回事啊? 难道要加入新的线程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了捕获的包,怎么都是乱码啊,我用winPcap作的嗅探器,读出来的包都是乱码,怎么回事啊? 难道要加入新的线程相关的知识,希望对你有一定的参考价值。

哪位高手帮帮我啊,不胜感激!!!
就是捕获的包放在一个扩展名为dat的文件里,此文件需要用什么方式打开?

你要是随便接收的数据,肯定是以乱码显示,不过你可以用十六进制来看。
除非你特意自己造一组数据,那样的话,在包头之后的数据部分应该就不是乱码了

补充:
一般用txt这些软件打开的都是乱码,你用vc或者UltraEdit等软件可以看到数据包的十六进制形式。如果想看数据包包头的具体内容,可以用ethereal这个软件看数据包,可以看诸如ip/tcp,udp、arp、dns等数据包的包头
参考技术A 我也是才学习winpcap,所以只能给你点小小的建议. winpcap里捕获的数据包你可以输出为".pcap"后缀的文件,这个文件可以用wireshark抓包软件来打开,打开后你可以清晰的看到ip头部和tcp/udp头部等,因为wireshark对这些协议做了分析.但对于更上层协议和数据部分就不知道是什么了,只可以看到十六进制的数据. 如果你是存为dat文件,而你直接双击打开的话肯定是乱码,如果你要分析包的话可以用十六进制格式打开,有个软件:UltraEdit可以把文件以各种形式打开.
如果你是想期待用winpcap 抓包下来直接看到文件(比如说你抓下来的包是你在用QQ传PDF文档的一个包),那是不可能的,因为winpcap抓的都是底层的东西,那些个数据都是用一层层协议封装了的,所以你看到的肯定是乱码.
参考技术B 我也在做这个,希望加为好友探讨331991644

intellij idea中用java打开文件中文怎么变成乱码了?我用的是UTF-8啊

虽然你的编码是UTF-8,但你转换的时候确是其他的格式的,你再贴出代码看看追问

代码之前被我设置编码时弄坏了,不知道怎么还原了

参考技术A 可能你的文件是GBK的吧追问

怎么解决?

追答

把你的编辑器切换成GBK,然后把文件内的内容复制保存到另一处,切回来utf8再粘贴回来

以上是关于捕获的包,怎么都是乱码啊,我用winPcap作的嗅探器,读出来的包都是乱码,怎么回事啊? 难道要加入新的线程的主要内容,如果未能解决你的问题,请参考以下文章

winpcap抓包原理

Winpcap网络开发库入门

intellij idea中用java打开文件中文怎么变成乱码了?我用的是UTF-8啊

我的PDF文件标题怎么都是乱码啊? 里面的内容还好,标题都是乱码!

为啥我用X-SCAN扫描IP段总是扫不到存活的电脑呢?

为啥我用wireshark抓包结果全是乱码