国外vps python socket getpeername() 获取的client ip 与 ip.cn 查到不一样

服务端、客户端都是python写的。
服务端在国外vps上,客户端在国内。
用客户端连到服务端,服务端用getpeername()获取的ip与在ip.cn上查的不一样。
注:客户端没独立公网,是不是在运营商NAT下,电脑上网运营商会根据访问ip,为客户选择不同的公网ip。有时百度ip查的跟ip.cn查的ip也不一样。

阅读 3.9k
1 个回答

你猜想的没错, 本质来说就是走了不同的路由罢了

如果你有多个出口IP, 你可以用route命令(linux, windows均有)添加路由来实现自己控制访问某个特定ip或者ip段用什么网络设备|出口地址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题