如何获取路由器的外网IP地址?

问题描述 投票:0回答:2

当我登录 192.168.0.1 进入路由器的配置页面时,我看到路由器的外部 IP 地址为:10.121.69.5
当我通过 ip4.me 检查我的公共 IP 地址时,我得到的公共 IP 为:49.205.114.40
这意味着我的路由器无法直接公开访问互联网,而是位于 ISP 设置的某些 NAT 后面。 我想以编程方式获取此 IP:10.121.69.5 ,但我似乎无法在连接到路由器的设备上的任何位置找到它。

nslookup myip.opendns.com resolver1.opendns.com

上面的命令给了我我的互联网公共IP:49.205.114.40
如何从连接到路由器的设备获取路由器的中间公共IP:10.121.69.5

windows network-programming ip-address
2个回答
0
投票

您可能有一个 CG-NAT。稍微修改草稿中的图表 RFC:

Figure 1 summarizes a common network topology in which a CGN
   operates.

                                  .
                                  :
                                  |       Internet
                  ............... | ...................
                                  |       ISP network
                  External pool:  |
                  49.205.114.40/26    |
                              ++------++  External realm
                  ........... |  CGN   |...............
                              ++------++  Internal realm
                       10.121.69.1 |    |
                                |    |
                                |    |    ISP network
                  ............. | .. | ................
                                |    |  Customer premises
                    10.121.69.5 |    | 10.121.69.6
                        ++------++  ++------++
                        |  CPE1  |  |  CPE2  |  etc.
                        ++------++  ++------++
                    192.168.0.1

               (IP addresses are only for example purposes)

                      Figure 1: CGN network topology

找出您的内部领域 IP 的最佳机会是使用跟踪路由技术。为此,您需要手动将 ICMP 或 UDP 数据包上的 TTL 设置为低级别(可能为 0-2),并查找 ICMP 消息错误消息(通常类型为 11)。它有望包含内部领域 IP。


0
投票

答案就在这里

debian/ubuntu 设置:

sudo apt-get install miniupnpc

从 UPNP 路由器获取 WAN IP 地址:

upnpc -s | grep ^外部IP地址|切-c21-

© www.soinside.com 2019 - 2024. All rights reserved.