有没有什么 JavaScript 脚本或者浏览器的接口可以获取当前访问网页时的公网 ip 么?

2019-02-20 20:46:02 +08:00
 BinRelay

因为网络的出接口有三家运营商的地址池做的负载均衡。
所以每次访问一个网页都可能是不同的运营商不同的 ip 地址。
有没有一种通过浏览器或者 js 的方法能够查出访问当前网页时的公网 ip ?
就像浏览器开发者工具可以直接看到当前网页( cdn 或者真实)的目的地址那样?

2613 次点击
所在节点    问与答
9 条回复
cpdyj0
2019-02-20 20:52:52 +08:00
从服务器上查看吧,本地浏览器应该是看不到的(除非服务器把 IP 地址返回回来了,比如 ipip.net 这种)
momocraft
2019-02-20 20:56:56 +08:00
考慮 NAT 我覺得不行... 總得有個服務器
momocraft
2019-02-20 20:58:19 +08:00
webrtc 系列 api 可以用公共的 stun 服務器獲取自己 (對於 stun 服務器的) 公網 ip 地址, 但這已經不是你要的了
BinRelay
2019-02-20 21:09:01 +08:00
@momocraft 这种方案挺多的 比如楼上的 ipip.net
oott123
2019-02-20 22:24:28 +08:00
可能通过 traceroute 来观察是个比较好的方案。本地有 NAT,基本上看不出来。
BinRelay
2019-02-20 22:34:08 +08:00
@oott123 假如对面是百度这种网址 可能每次 tracert 的目的都是不同的 cdn 进而出口的负载会是不同的出口 ip 那 tracert 和之前访问网页时已经不一样了呀

看来只能在出口设备的 nat 记录中查找了 虽然有权限 但也不是我的目的了……
oott123
2019-02-20 22:56:04 +08:00
@BinRelay 你可以像你截图那样获取这次连接的 ip 地址,再 traceroute。

当然你有权限在 NAT 日志或者状态表中找,显然是更好的。
xqin
2019-02-21 00:31:01 +08:00
580a388da131
2019-02-21 05:50:59 +08:00
负载均衡设备上写个工具返回来 🙈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/537027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX