【问题标题】:Decoding sniffed packets解码嗅探数据包
【发布时间】:2010-11-11 09:16:23
【问题描述】:

我了解每个数据包都有一些看起来像是随机混合的字符的标头。另一方面,内容本身可以是纯 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 表明了这一点。然而,这完全是毫无价值的信息。我想解码数据/内容。

【问题讨论】:

  • 你能进一步详细说明它是什么类型的数据包吗? Wireshark 会解释哪些标头(IP?TCP?UDP?HTTP?)?也许给一个数据包一个完整的例子?
  • @brickner 它实际上是 UDP,但由于我永远无法解码内容,所以它真的不再重要了。还是谢谢

标签: security decoding sniffing


【解决方案1】:

数据包的内容由发送它的进程定义。把它想象成一个电话。所说的内容取决于谁在打电话以及他们在与谁交谈。您必须研究构建它的程序以确定如何“解码”它。有一些嗅探器会解析一些常用的编码方法并尝试这样做。

【讨论】:

  • +1 表示“你必须研究构建它的程序”:很可能这将是一些自定义协议,然后最好的选择是做一些逆向工程......你是不过,如果您在该领域没有经验,那您就不走运了 :) 这个问题急需更多信息
  • 谢谢,但现在对我来说似乎是死路一条……没关系,我会想办法解决这个问题。
【解决方案2】:

为什么不直接使用wireshark之​​类的东西呢?

【讨论】:

  • 因为我不想手动执行,我需要在我的应用程序中对其进行解码。此外,在实现数据包嗅探器之前,我使用了wireshark。顺便说一句,我就是从那里得到这个例子的。
  • 您可以使用 tshark(Wireshark 的控制台版本)
【解决方案3】:

如前一篇文章所述,数据包标头将取决于发送相关数据包的应用程序。您还可以使用 Wiresharks protocol reference 来了解一些常用协议。

你这里列出的是Packet Byte,你需要看到的是Packet Detail视图来了解看似随机的数据对应的是什么。在 Packet Detail 视图中,当您选择数据包的各个部分时,它将在 Packet Byte 视图中突出显示相应的字节。

【讨论】:

  • 再说一次,我不在乎标题,那是毫无价值的信息。我需要解码 UPD 内容。
【解决方案4】:

如果您使用的是 C#,请使用 SharpPcap 并查看代码中的示例以了解其工作原理。

将过滤器设置为仅捕获 UDP,捕获数据包,将其解析为 udp,然后提取有效负载。有效载荷的格式取决于发送它的应用程序。

有很多额外的乱码,因为每个 udp 数据包都包含以下堆栈:

  • 以太网头
  • IP 标头
  • UDP 标头

您的数据和所有传入数据之前的信息都是二进制格式,直到您将其解析为有意义的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2012-01-08
    • 2013-04-14
    • 1970-01-01
    相关资源
    最近更新 更多