Windows
基於 TCP 的服務 IPC 的 Stunnel?
我正在使用一個應用程序,該應用程序由同一伺服器上的 Windows 服務組成,通過 TCP 相互發送消息。每個服務都分配有一個埠,它在該埠上偵聽消息。
我想加密此流量以防止其被讀取(例如,使用諸如 Wireshark 之類的工具),並且想知道 Stunnel 是否可以讓我們加密此流量而無需更改產品中的任何程式碼?
如果我們有服務 B 正在偵聽埠 17900 並且服務 A 期望服務 B 正在偵聽該埠,是否可以確保從服務 A 到服務 B 的流量被 Stunnel 加密?這甚至是個好主意嗎?
如果所有服務都執行在同一台伺服器上,那麼它們之間的流量根本不會出現在網路上。
伺服器的網路堆棧只會跨程序移動數據包,甚至不涉及網路適配器。
像 WireShark 這樣的網路嗅探器在擷取同一系統上執行的程序之間的流量時遇到了一些麻煩,因為該流量實際上並沒有到達網路:
https://stackoverflow.com/questions/5847168/wireshark-localhost-traffic-capture
有沒有辦法讓wireshark擷取Windows上從本地主機發送/發送到本地主機的數據包?
我不知道到 2021 年這是否可能,並且這是否會根據連接使用的目標 IP 地址(127.0.0.1 或實際伺服器的 IP 地址)而改變。
無論如何,請注意在伺服器上執行網路嗅探器需要管理權限,這無論如何都會允許入侵者完全控制伺服器以及在其上執行的所有程序。
如果您有管理員權限,則無需嗅探網路流量;你可以做任何事情,包括讀取程序的記憶體。此外,如果您只想停留在網路級別,您可以獲取該程序用於加密和解密流量的任何證書。