c# - 是否有用于解析/格式化 TCP 数据包的库或任何有助于这样做的库?

标签 c# formatting packet sniffing

我的应用程序使用 tcp 连接到我的服务器,我正在使用 wireshark 嗅探它的数据包以查看它是如何工作的,我首先想到的是以十六进制形式发送给我的数据包,因此手动查找和解码非常很难。

所以我很难做一个解析器,我会做这样的事情:

<packet id="0x01" name="undefined">
    <part name="userID" type="d"/>
</packet>

其中 d 代表十进制,将得到 4 个字节。

我的目标是做这样的事情: packet parsed

在它下面是一个 ListView ,其中数据包名称为 root,其中部分名称及其值。

我四处寻找并找到了用于嗅探数据等的库,但我真正想要的是可以帮助我解析/格式化它的东西,有没有?

最佳答案

你要找的是解码后的数据包,不幸的是,从 TCP 的角度来看,你正在寻找的已经是解码后的数据包。
要获得更多信息,您需要一个在更高级别协议(protocol)上运行的协议(protocol)解析器。对于现成的协议(protocol),这样的解析器可能已经存在,但如果您推出自己的协议(protocol),您还需要推出自己的解析器。有一个tutorial on codeproject用于为 wireshark 构建自定义解析器,如果您想走这条路,它应该可以帮助您入门。

关于c# - 是否有用于解析/格式化 TCP 数据包的库或任何有助于这样做的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143145/

相关文章:

tcp - OBD 模式 07 多帧

c++ - 如何区分DTLS数据包和TCP、UDP数据包

c# - C#:如何在使用“默认”存储时向属性添加前提条件?

c# - 在 C# 中使用 RAII 安全吗?和其他垃圾收集语言?

c# - 如何在执行 Web 请求时指定仅连接超时?

Android:我可以在 TextView 中使用混合格式文本吗

python - 在映射理解范围内禁用字典表达式的Black格式化

c# - C# 中使用 Rijndael 解密

java - 使用 Java 将电话号码转换为国际格式 (E.164) 的最佳方法是什么?

c# - 使用 Sharppcap 或 packetdotnet 发送 http post 数据包