假设有两个程序同时在同一台计算机上运行。计算机已连接到 LAN。两个程序通过 TCP 套接字进行通信,使用网络上计算机的 IP 地址打开套接字,例如 192.168.xx
在这种情况下,可以控制路由器但不能控制计算机的人可以看到任何东西吗?(要么只是正在准备的连接,要么是数据本身)是否有任何数据包离开计算机?如果客户端连接到 127.0.0.1 而不是 192.168.xx 会有所不同吗?
假设有两个程序同时在同一台计算机上运行。计算机已连接到 LAN。两个程序通过 TCP 套接字进行通信,使用网络上计算机的 IP 地址打开套接字,例如 192.168.xx
在这种情况下,可以控制路由器但不能控制计算机的人可以看到任何东西吗?(要么只是正在准备的连接,要么是数据本身)是否有任何数据包离开计算机?如果客户端连接到 127.0.0.1 而不是 192.168.xx 会有所不同吗?
这些 IP 地址中的任何一个都应该可以将其保留在您的机器内部。如果您尝试通过您的公共 IP 地址进行连接(这很可能需要端口转发),则可能会在路由器级别公开信息,但不会在路由器外部公开信息。您的网络接口卡知道,当目标是它自己时,它不需要发送数据包。
假设您的设置一切正常,那么可能会出现某些流量泄漏的唯一两种情况是,当上述程序出于某种原因使用广播地址或使用低于IP级别的东西时。在前一种情况下,LAN 上会有一些数据广播,如果您使用 127.0.0.1,则不会发生这种情况。后一种情况极不可能,但并非不可能。一些旧程序可能会使用一些晦涩难懂的协议进行通信。
最终的测试当然是嗅探所有流量(例如使用 Wireshark),只是为了确定。