如何获取和解码发往特定端口的消息

How to get & decode messages destinated to a specific port

我目前正在使用一个特定的系统,当某个触发事件发生时(实时),一组机器向服务器(主要用于存储目的)发送一条消息(更准确地说是一张图片) . 这些图片也存储在每个设备本地。

出于教育目的,我决定冒险寻找该服务器的替代品。我制作了一个 Python 脚本,每 15 分钟通过 SSH 访问每台机器,并使用 SCP 将最新的图片下载到我的工作站。

我对这个解决方案很满意,但我还想实现一种以实时方式获取这些图片的方法。所以,我正在考虑激活 'port mirroring' @服务器计算机连接到的交换机,并制作一个 Python 脚本来解码数据包并下载图片。 基本上我会将我的工作站连接到一个交换机端口,该端口接收所有到达服务器计算机的流量。

有谁知道如何解码这些数据包来获取图片吗? 如何解码来自交换机端口的消息? 在 CMD 上使用 netstat 命令我可能能够获得标识服务器进程的端口 - 也许这是一个开始,对吗?

是否可以使用 WireShark 查看有效载荷格式并从那里尝试对图片进行逆向工程?

请让我知道您可能知道的任何方法and/or觉得有趣可以尝试。

谢谢。

可以使用 Wireshark ex post facto 解密 SSH 流量吗?

不,你不能Man-in-the-Middle SSH 加密的数据包,如果你只有从端口镜像捕获的数据包。除非您是美国国家安全局或民族国家行为者并且找到了绕过加密的方法。

Does anyone have an idea of how to decode these packets to get the pictures?

即使您可以解密 SSH(见下文),也无法使用 Wireshark 做到这一点。根据 Wireshark docs on SSH

Unlike the SSL dissector, no code has been written to decrypt encrypted SSH packets/payload.

Wireshark 能否检测加密流量中的文件元数据?

Is it possible to use WireShark to see what's the payload format and from there try to reverse engineer the pictures?

不,它是加密的 - 你看不到任何东西。您最多能看到 SSH 设置消息。

备选方案

如果您可以访问 client/server 并事先设置好,则可以 solutions 从内存中提取密钥。请记住,您必须事先在客户端或服务器上进行此设置,因为这些会话密钥会随着会话而过期(取决于协议)。