IPIPv4IPv6网络
🔎 公网IP与本机IP的区别
很多人将“我的IP”理解为电脑网卡上的地址(如 192.168.x.x)。实际上:
- 本机/内网IP:通常是 10.x.x.x / 172.16-31.x.x / 192.168.x.x,不能直接在公网访问。
- 公网IP:对外可见的地址,用于互联网上的通信。
在家庭或公司网络中,路由器使用 NAT 将多个内网设备“映射”到同一个公网IP。
🌐 IPv4、IPv6 与 IPv4-Mapped IPv6
- IPv4:点分十进制,如 203.0.113.5。
- IPv6:十六进制冒号分隔,如 2400:cb00:2048:1::c629:d7a2。
- IPv4-Mapped IPv6(映射):形如 ::ffff:203.0.113.5,用IPv6表示一个IPv4地址,便于过渡与兼容。
IPv4: 203.0.113.5
IPv6: 2400:cb00:2048:1::c629:d7a2
IPv4-Mapped IPv6: ::ffff:203.0.113.5
🧭 为什么网站看到的IP与本机不同?
常见原因:
- NAT转发(家庭/公司路由器统一出口)
- 代理/网关(公司上网网关、HTTP/SOCKS代理)
- 云WAF/CDN(请求先到边缘节点)
- VPN/零信任通道(出口IP为服务商节点)
🛠️ 如何获取“我的公网IP”?
浏览器端无法直接读取本机公网IP,需要通过服务端回看你的请求源地址。常见做法:
// Node.js/Express 读取请求来源
app.get('/ip', (req, res) => {
const forwarded =
req.headers['x-forwarded-for']?.toString().split(',')[0]?.trim();
const ip = forwarded || req.socket.remoteAddress;
res.json({ ip });
});
在有代理/CDN时,请结合
X-Forwarded-For、X-Real-IP,并只信任你自己的反向代理层。
🧪 IPv4/IPv6 双栈与回退
- 现代网络常优先尝试 IPv6(Happy Eyeballs),失败再回退 IPv4。
- 在校园/政企网络中,可能只分配内网IPv4 + NAT64/DNS64 转换访问IPv6站点。
🔐 隐私与安全注意事项
- 公网IP可被用于粗粒度定位与风控,但无法精确到个人。
- 连接公共Wi‑Fi时,出口IP与其他人共享,请谨慎操作敏感账号。
- 如需隐藏真实出口IP,请使用可信的企业级代理或VPN。
🔗 相关工具
想快速查看你的公网IP与映射表示?试试 我的公网IP,页面加载即可显示 IPv4 与 IPv4-Mapped IPv6。