ipconfig
命令查看;在Linux系统中,可使用
ifconfig
或
ip addr
命令获取。
| 操作系统 | 命令 | 示例结果 |
| —| —| —|
| Windows |ipconfig
| 在命令提示符中输入ipconfig
,会显示网络接口的详细信息,其中包含公网IP地址(如果有)。
| | “`
| | 以太网适配器 本地连接:
| | 连接特定的DNS后缀 . :
| | IPv4 地址. . . . . . . . . . . . : 192.168.0.100
| | 子网掩码 . . . . . . . . . . . . : 255.255.255.0
| | 默认网关 . . . . . . . . . . . . : 192.168.0.1
| | “`
| Linux/Unix |ifconfig
或ip a
| 以ifconfig
为例,在终端中输入ifconfig
,会列出网络接口信息。
| | “`
| | eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
| | inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
| | inet6 fe80::a00:27ff:fe11:1 prefixlen 64 scopeid 0x20<link>
| | ether 00:0c:29:11:11:11 txqueuelen 1000 (Ethernet)
| | RX packets 1000 bytes 123456 (123.4 KB)
| | RX errors 0 dropped 0 overruns 0 frame 0
| | TX packets 800 bytes 98765 (98.7 KB)
| | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
| | “`
| Mac OS |ifconfig
| 类似于Linux系统,在终端中输入ifconfig
,
| | “`
| | en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
| | options=b<PRIVATE>
| | ether 00:0c:29:11:11:11
| | inet6 fe80::a00:27ff:fe11:1%en0 prefixlen 64 secured scopeid 0x5
| | inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
| | media: autoselect
| | status: active
| | “`
许多网络服务供应商(ISP)会在用户注册账号或配置网络服务时,提供服务器的公网IP地址相关信息,用户可以登录ISP的管理控制台或者联系ISP的客服人员来获取准确的公网IP地址。
有一些在线网站可以检测并显示当前服务器的公网IP地址,用户只需在浏览器中访问这些网站,即可看到相关信息。
[https://www.whatismyip.com/](https://www.whatismyip.com/)
[https://ipinfo.io/](https://ipinfo.io/)
问题1:为什么有时候通过不同方法获取到的公网IP地址不一样?
解答:这种情况可能是由于以下原因导致的,一是可能存在多个网络接口,不同的方法检测到的是不同接口对应的公网IP地址,服务器可能有有线网络接口和无线网络接口,每个接口都可能分配了不同的公网IP地址,二是网络环境发生了变化,比如重新拨号上网、网络故障恢复后重新分配IP地址等,导致公网IP地址发生改变。
问题2:如果服务器处于内网环境,还能获取到公网IP地址吗?
解答:一般情况下,处于严格内网环境的服务器是无法直接获取到公网IP地址的,因为内网通常是通过私有IP地址范围进行通信,与公网隔离,但如果服务器所在的内网通过路由器进行了端口映射或者使用了其他网络地址转换(NAT)技术,并且有相应的配置允许访问公网,那么在某些特定情况下,可能可以通过一些特殊的网络设置和命令获取到经过转换后的公网IP地址,但这种情况相对较为复杂且不常见。