我怎样才能找出哪个程序正在发送数据,以及数据是什么?

How can I find out which program is sending data out, and what the data is?

我连接到运行某些 python 代码的 websocket 服务器,一段时间后(不会立即发生),它开始“向外”发送大量数据,如下所示屏幕截图。平均每秒 4.8 兆字节。在开始执行此操作之前,它可能会发送 30 kb/s,我认为这是正常操作。

根据网络速度,一两天内最多可增加数百 GB。

如果我终止 运行 的原始 python 进程并使用 websocket 客户端 (kill -9 1234),它不会停止流量。我正在使用 MacOS 的 Little Snitch 来获取此信息,我觉得表面之下有更多可用信息我应该能够找出 sending/receiving 这是什么数据以及数据是什么。

如果我终止 iTerm 本身,流量仍然不会停止。如果我启动常规 Mac 终端并执行 ps aux | grep iterm 我什么也得不到,如果我执行 |,我会得到屏幕截图中显示的相同 4 个进程grep python...

这种吞吐量真的很高,足以流式传输我的屏幕、上传我的整个硬盘等等,或者它可能只是一个代码错误,它正在发送垃圾。

我现在能想到的唯一其他相关内容是:

我已经尝试通过重新启动来测试这个,只是“不启动”我的 python 代码来获取 websocket 数据,基本上我可以等一会儿,但似乎什么都没有发生,所以我认为它只是发生了我启动连接后,然后等待一段时间。

抱歉,我希望我知道如何为您获取更多相关信息,但如果有人知道我如何生成更好的日志或进行更深入的挖掘,我将不胜感激。

screenshot of little snitch traffic

Sorry, I wish I knew how to get more relevant information for you, but if anyone has a good idea of how I can generate better logs or dig deeper I'd appreciate it.

Wireshark 将允许您跟踪所有连接并检查数据包中的内容。