如何轻松检索我的全部或部分外部 IP 地址(在 Android 设备上)?

Posted

技术标签:

【中文标题】如何轻松检索我的全部或部分外部 IP 地址(在 Android 设备上)?【英文标题】:How to easily retrieve all or some of my external IP Addresses (on Android device)? 【发布时间】:2019-12-24 12:11:11 【问题描述】:

据我了解, 为了通过打孔初始化 P2P 连接,设备应该驻留在非对称 NAT 中(这基本上也意味着传出流量的单个 WAN\外部 IP 地址)。

我找不到能告诉我所有或部分 WAN\外部 IP 地址是什么的 android 应用程序(一种小型测试应用程序,当我在 LAN 中时打开)。 我发现的 Play 上的所有应用都只显示一个外部 IP 地址,即使我通过具有多个 WAN\外部地址的对称 NAT 对其进行测试。

一个简单快捷的建议会很好(每次我想测试它时浏览多个“whatismyip”网站并不容易也不优雅\快速)。

【问题讨论】:

您一次只能获得 1 个外部 IP,因为该 IP 在您正在向其发出请求的服务器上被识别。因此,您可以尝试向服务器发出多个请求,并希望它们会从不同的 IP 地址发送。 这就是我正在寻找的。一个为我做这件事的应用程序。或者一个网站多次尝试让我的浏览器刷新并自动更新它找到的所有 IP 地址以及它让我做的所有请求。但我没有找到这样做的东西。我想我会为自己写一些东西。 我已经制作了一个可以完成这项工作的 android 应用程序,它看起来不错。从几个对称 NAT 中对其进行了测试,似乎显示了它们的 WAN IP。我今天将它上传到 Play,现在正在审核中。当我的应用程序获得批准时,我将发布对此主题的答案以及指向我的应用程序的链接。还是谢谢。 【参考方案1】:

一些 DNS 服务器支持返回发件人公共 IP 的动态查询,可用于此目的:

dig -4 +short A myip.opendns.com @resolver1.opendns.com

dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com

更详细的解释见How does dig find my WAN-IP-adress? What is “myip.opendns.com” doing?

【讨论】:

【参考方案2】:

我编写了一个向多个服务器发出多个请求的 Android 应用, 并打印它在请求中使用的外部 IP。 我从几个对称 NAT 网络对其进行了测试,它似乎工作正常。 这正是我所需要的。

如果有人感兴趣,我称之为“External IPs Revealer \ Internet Checker”:App on Google Play

【讨论】:

以上是关于如何轻松检索我的全部或部分外部 IP 地址(在 Android 设备上)?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 查找网络(外部)IP 地址

如何找出我的外部 IP 地址是啥?

如何使用 C#.Net 检索我的公共 IP 地址? [复制]

如何让Docker容器获取外部DHCP服务器的IP地址

可靠(加密)方式验证NAT后面的设备公共IP地址

如何从 STUN 请求中获取我的外部 IP 地址和外部端口号?