DTLS解密成功后,无法解码wireshark中的COAP数据包
我正在尝试调试LWM2M协议问题。我需要知道在COAP服务器和COAP客户端之间传输了哪些消息。由于流量是使用DTL加密的,因此我需要在wireshark中提供预共享密钥以查看有效负载。Wireshark正在成功解密有效负载,但我无法看到底层COAP协议消息。我看到的只是原始数据(“应用程序数据”): 但是,当我尝试在虚拟设置上嗅探未加密的COAP流量时,我可以正确地看到COAP消息:DTLS解密成功后,无法解码wireshark中的COAP数据包,wireshark,tcpdump,coap,lwm2m,leshan,Wireshark,Tcpdump,Coap,Lwm2m,Leshan,我正在尝试调试LWM2M协议问题。我需要知道在COAP服务器和COAP客户端之间传输了哪些消息。由于流量是使用DTL加密的,因此我需要在wireshark中提供预共享密钥以查看有效负载。Wireshark正在成功解密有效负载,但我无法看到底层COAP协议消息。我看到的只是原始数据(“应用程序数据”): 但是,当我尝试在虚拟设置上嗅探未加密的COAP流量时,我可以正确地看到COAP消息: 加密后如何使用wireshark查看COAP协议流量?问题在于,您使用的是COAP的非标准端口号,而不是
加密后如何使用wireshark查看COAP协议流量?问题在于,您使用的是COAP的非标准端口号,而不是,wireshark COAP解析器的函数仅使用该固定的、不可配置的端口()注册到DTLS解析器。有一些可能的方法来解决这个问题和/或解决它
- 添加文件:选择您的文件,即
file.pcapng
- 任务名称:匿名化文件
- 有效载荷:取消选择“删除所有未知层…”,因为您希望保留所有内容
- PCAPng:Action=Passthrough,因为这里不需要替换原始注释
- 第4层,UDP:Action=Replace。选择“按列表替换UDP端口”,然后选择添加。输入57845作为原始端口号,输入5684作为替换端口号,然后单击添加
- 选择OK
- 选择Run
- 当状态指示“任务完成”时,您应该能够在Wireshark中打开新创建的名为
的数据包捕获文件,Wireshark现在应该将有效负载识别为COAPfile_anon.pcapng
免责声明:我自己没有测试过,但它应该可以工作。哪个端口?默认情况下,这可能仅适用于端口5684,但可以使用“解码为”(Ctrl+Shift+U)功能。如果这没有帮助,那么您是否有一个示例数据包捕获和可以共享的预共享密钥?端口是57845。我无法在“解码为”菜单下看到COAP选项。您能给我指一下有关“解码为”菜单的任何文档吗?中描述了“解码为”功能,但我认为这对您没有帮助。请参阅我的答案,以了解可能对您有所帮助的解决方案。