据我所知,每个数据包都有一些标题,似乎是随机混合的字符。另一方面,内容本身可以是纯粹的ascii,因此它可能是人类友好的。我嗅到的一些数据包是可读的(原始html标题肯定)。但有些数据包看起来像这样:
0000 00 15 af 51 68 b2 00 e0 98 be cf d6 08 00 45 00 ...Qh... ......E.
0010 05 dc 90 39 40 00 2e 06 99 72 08 13 f0 49 c0 a8 ...9@... .r...I..
0020 64 6b 00 50 c1 32 02 7a 60 4f 4c b6 45 62 50 10 dk.P.2.z `OL.EbP.
这只是一部分,这些数据包通常更长。我的问题是,如何解码数据包内容/数据?我需要整个流吗?解码是简单的,还是每个应用程序都可以稍微编码,以确保这些数据包是安全的?
编辑: 我不关心标题,Wireshark表明了这一点。然而,那是完全没有价值的信息。我想解码数据/内容。
答案 0 :(得分:7)
数据包的内容由发送它的进程定义。把它想象成一个电话。所说的话取决于谁在呼唤以及与谁交谈。你必须研究构建它的程序,以确定如何“解码”它。有些嗅探器会解析一些常用的编码方法,并尝试这样做。
答案 1 :(得分:5)
为什么不使用wireshark这样的东西?
答案 2 :(得分:0)
数据包标头将取决于发送相关数据包的应用程序,如前面的帖子中所述。您还可以使用Wireshark protocol reference来了解一些常见协议。
您在此处列出的是数据包字节,您需要查看的是数据包详细信息视图,以了解看似随机数据对应的内容。在Packet Detail视图中,当您选择数据包的各个部分时,它将突出显示Packet Byte视图中的相应字节。
答案 3 :(得分:0)
如果您正在使用C#,请抓住SharpPcap并查看代码中的示例,以了解其工作原理。
将过滤器设置为仅捕获UDP,捕获数据包,将其解析为udp,然后提取有效负载。有效负载的格式基于发送它的应用程序。
还有很多额外的乱码,因为每个udp数据包都包含一堆:
之前的数据信息和所有传入数据都是二进制格式,直到您将其解析为有意义的内容。