查看我的应用程序中的事件以及Wireshark中的剖析通信

时间:2018-03-08 11:02:18

标签: wireshark wireshark-dissector

我有时需要使用Wireshark来分析我的应用程序使用的特定协议的通信问题。 Wireshark已经为协议提供了一个解剖器,并以我能想象的最佳方式显示通信。

但我还需要查看实际的通信以及我的应用程序中发生的事件。该应用程序能够生成各种日志和跟踪。它们中的信息实际上更加结构化,但为了简单起见,我们假设它只是一个条目序列,其中每个条目都有时间戳和文本消息。

目前,我必须将Wireshark和日志放在屏幕旁边,然后痛苦地关联时间戳,以便弄清楚它们是如何组合在一起的。为了使我的分析更容易,我想查看我的日志中的信息与Wireshark中的通信协议消息合并在一起,按时间戳正确排序。

我发现Wireshark具有合并功能,所以这就是我指导调查的地方。我认为通过一些努力,我可以做到以下几点: 1)设计我自己的"协议",并从我的应用程序生成PCAPNG文件,包括事件时间戳和消息,以及 2)为上面的开发人员提供Wireshark解剖器,以便我可以在Wireshark中查看事件。

我的问题的第一部分是我的方法是否正确。

但我也想知道我是否无法以更简单的方式实现我想要的东西。理想情况下,我想重用已经存在的东西,特别是避免开发专门的解剖器。是不是有一个具有相同功能的协议(只是时间戳和文本消息),还有Wireshark已有的解剖器,我可以使用吗?

1 个答案:

答案 0 :(得分:0)

也许您可以使用syslog以及syslogdrsyslogd

在没有syslog服务器的情况下将任意消息注入跟踪文件的一种方法是使用nc(netcat)。例如:

echo -n "Hello World" | nc -w 0 -u 1.1.1.1 514

Wireshark还将此消息解析为syslog流量。这在尝试插入"标记"时非常有用。进入感兴趣事件发生地附近的捕获文件。

在任何情况下,使用syslog工具都可以避免编写协议。