使用Wireshark的逆向工程时钟协议

我有一个专有软件的时钟,轮询从它冲刷,软件坐在服务器上,并通过以太网连接到时钟。 我想尝试写我自己的脚本来轮询这个时钟,因为软件不能每小时更新一次。

我在服务器上安装wireshark,并轮询一个时钟,然后我跟着tcpstream,所以我可以看到来回发送的所有数据,我看到它的问题:.00P。 在时钟的端口3001上,时钟然后回复所有的冲头。

我尝试使用腻子和连接端口3001和复制粘贴该命令,但没有任何返回,然后我意识到命令的时间段是因为我的编辑器不能显示实际的数据,这在记事本看起来像倒退L's。

任何如何,试图发送该命令的最佳过程是什么,因为它是从wireshark保存的二进制文件中,有没有办法将包含文件数据的数据包发送到时钟,并以某种方式logging结果?

从单个数据包中很难分辨出任何东西 – 一个相当快速的方法可能是:

…在夜间更换一次时钟:

例如使用与时钟相同的IP设置Linux(同时将时钟暂时closures),

然后运行netcat,让它听取:3001,通过pipe道传输到文件,然后等待轮询发生。

(我用它来进行TCP轮询,所以我假设可以在聆听模式下捕获它)

此外,你可以连接时钟 – 一旦知道如何服务器轮询。

如果你已经从Wireshark捕获中保存了二进制文件,那么下一步就是更仔细地看一下这个文件。 正如你发现的,记事本可能不会做这项工作。 使用hex编辑器(如frhed)来准确了解要发送的字节。

在识别出这个命令之后,你可以编写一个脚本来build立一个TCP连接并准确地发送命令。 您可以使用PowerShell或Python来达到此目的。