Linux如何查公网出口IP_Linux查公网IP法【出口】

秋瑶同学_4214

秋瑶同学_4214

2026-03-10

1166人浏览

原创

在Linux中确认公网IP需依赖外部服务,可用curl/wget请求HTTP服务(如ifconfig.me)、dig查询OpenDNS的TXT记录、curl+json API(如ipinfo.io)配合jq提取,或编写多服务轮询脚本提升可靠性。

linux如何查公网出口ip_linux查公网ip法【出口】

如果您在Linux系统中需要确认当前网络对外通信所使用的公网IP地址,该地址即为数据包离开本地网络时经由NAT或路由器映射后的出口IP,则需依赖外部服务返回真实出口地址。以下是多种可直接执行的查询方法:

一、使用curl命令请求纯文本IP服务

curl是最轻量且广泛预装的HTTP客户端,通过向提供IP回显的公开服务发起GET请求,可直接输出无格式的IPv4地址,适用于脚本集成与快速验证。

1、执行命令:curl ifconfig.me

2、执行命令:curl icanhazip.com

3、执行命令:curl checkip.amazonaws.com

4、执行命令:curl whatismyip.akamai.com

5、执行命令:curl ipecho.net/plain

二、使用wget命令替代curl获取IP

wget同样具备发起HTTP请求并输出响应体的能力,其-qO-参数组合可静默下载并直接打印到终端,不保存文件,行为与curl等效。

1、执行命令:wget -qO- ifconfig.me

2、执行命令:wget -qO- icanhazip.com

3、执行命令:wget -qO- ipinfo.io/ip

4、执行命令:wget -qO- ipecho.net/plain

三、利用dig命令查询OpenDNS提供的TXT记录

该方法不依赖HTTP协议,而是通过DNS查询机制向OpenDNS服务器请求myip.opendns.com的TXT记录,由DNS基础设施直接返回出口IP,规避HTTP代理或防火墙拦截风险。

1、执行命令:dig +short myip.opendns.com @resolver1.opendns.com

2、若返回为空,请确认系统DNS配置可用且能访问resolver1.opendns.com

3、如需强制使用TCP查询以绕过UDP限制,可添加+tcp参数

四、调用支持JSON响应的API并提取IP字段

部分服务返回结构化JSON数据,包含IP、地理位置、运营商等扩展信息;配合jq工具可精准提取所需字段,适合需要元数据的运维场景。

1、执行命令:curl -s ipinfo.io/json | jq -r '.ip'

2、执行命令:curl -s ipapi.com/ip

3、执行命令:curl -s httpbin.org/ip | jq -r '.origin'

4、若未安装jq,可先运行:sudo apt install jq(Debian/Ubuntu)或sudo yum install jq(CentOS/RHEL)

五、使用多服务轮询脚本增强可靠性

当单一服务不可达时,可通过shell脚本按顺序尝试多个高可用IP接口,首个成功响应即终止并输出结果,提升查询鲁棒性。

1、创建脚本文件:echo '#!/bin/bash\nfor url in ifconfig.me icanhazip.com checkip.amazonaws.com; do ip=\$(curl -s --max-time 3 \$url 2>/dev/null); [ -n "\$ip" ] && echo \$ip && exit 0; done' > get_public_ip.sh

2、赋予执行权限:chmod +x get_public_ip.sh

3、运行脚本:./get_public_ip.sh

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2215

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3542

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1176

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

4079

7

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

549

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1698

6

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3783

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

875

4

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3208

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习