David Brower Asked: 2021-01-28 10:13:24 +0800 CST2021-01-28 10:13:24 +0800 CST 2021-01-28 10:13:24 +0800 CST 基于 TCP 的服务 IPC 的 Stunnel? 772 我正在使用一个应用程序,该应用程序由同一服务器上的 Windows 服务组成,通过 TCP 相互发送消息。每个服务都分配有一个端口,它在该端口上侦听消息。 我想加密此流量以防止其被读取(例如,使用 Wireshark 之类的工具),并且想知道 Stunnel 是否能让我们加密此流量而无需更改产品中的任何代码? 如果我们有服务 B 正在侦听端口 17900 并且服务 A 期望服务 B 正在侦听该端口,是否可以确保从服务 A 到服务 B 的流量被 Stunnel 加密?这甚至是个好主意吗? windows ssl tcp stunnel 1 个回答 Voted Best Answer Massimo 2021-01-28T13:06:05+08:002021-01-28T13:06:05+08:00 如果所有服务都运行在同一台服务器上,那么它们之间的流量根本不会出现在网络上。 服务器的网络堆栈只会跨进程移动数据包,甚至不涉及网络适配器。 像 WireShark 这样的网络嗅探器在捕获同一系统上运行的进程之间的流量时遇到了一些麻烦,因为该流量实际上并没有到达网络: https://stackoverflow.com/questions/5847168/wireshark-localhost-traffic-capture 有没有办法让wireshark捕获Windows上从本地主机发送/发送到本地主机的数据包? 我不知道到 2021 年这是否可能,并且这是否会根据连接使用的目标 IP 地址(127.0.0.1 或实际服务器的 IP 地址)而改变。 无论如何,请注意在服务器上运行网络嗅探器需要管理权限,这无论如何都会允许入侵者完全控制服务器以及在其上运行的所有进程。 如果您有管理员权限,则无需嗅探网络流量;你可以做任何事情,包括读取进程的内存。此外,如果您只想停留在网络级别,您可以获取该进程用于加密和解密流量的任何证书。
如果所有服务都运行在同一台服务器上,那么它们之间的流量根本不会出现在网络上。
服务器的网络堆栈只会跨进程移动数据包,甚至不涉及网络适配器。
像 WireShark 这样的网络嗅探器在捕获同一系统上运行的进程之间的流量时遇到了一些麻烦,因为该流量实际上并没有到达网络:
https://stackoverflow.com/questions/5847168/wireshark-localhost-traffic-capture
有没有办法让wireshark捕获Windows上从本地主机发送/发送到本地主机的数据包?
我不知道到 2021 年这是否可能,并且这是否会根据连接使用的目标 IP 地址(127.0.0.1 或实际服务器的 IP 地址)而改变。
无论如何,请注意在服务器上运行网络嗅探器需要管理权限,这无论如何都会允许入侵者完全控制服务器以及在其上运行的所有进程。
如果您有管理员权限,则无需嗅探网络流量;你可以做任何事情,包括读取进程的内存。此外,如果您只想停留在网络级别,您可以获取该进程用于加密和解密流量的任何证书。