我的情况看起来像这样:我转发了我的路由器上的端口80,它连接到互联网并将其链接到我的电脑。在我的电脑上,我正在运行一个C#程序(我使用类 HttpListener ),该程序记录正在进行的每个TCP连接。它打印时间戳,远程端点和本地端点。
我希望,当我的远程端点是公共 ip时,我的本地端点是来自路由器的公共IP 。
但是在我的日志文件中我发现了这个
62.143.189.207(远程),192.168.178.25(本地)
任何人都可以说,这怎么可能?
答案 0 :(得分:1)
您的应用程序是绑定到PC上网络接口的http侦听器。
您的所有网卡都知道您的本地IP地址。它实际上并不知道路由器上面向公众的地址。
当请求进入时,路由器正在执行地址转换,将端口80流量引导到您的PC,从而将流量返回到客户端。