前言
前几天客户给的服务器连接不上了,客户说ISP换公网IP了,以后你去138上看看。
https://www.ip138.com/
美则美矣,但是其实我们的服务器是很少用界面的,都是用终端,终端有没有什么好用的查询ip的方法呢,哎,有的
查询指令
curl ipinfo.io/ip
非常干净的结果
补充说明
其实是通过另一个网站 https://ipinfo.io/
虽然也是通过网站吧,但是真的非常好用
基本用法
# 查询自己的公网IP
curl ipinfo.io/ip
拿到ip后你还可以查更详细的信息
# 查询特定IP的详细信息
curl ipinfo.io/114.252.239.73
示例输出:
{
"ip": "114.252.239.73",
"city": "Beijing",
"region": "Beijing",
"country": "CN",
"loc": "39.9075,116.3972",
"org": "AS4808 China Unicom Beijing Province Network",
"postal": "100000",
"timezone": "Asia/Shanghai"
}
查询特定信息字段
如果你要编写脚本的话,ipinfo.io的API支持查询特定字段
curl ipinfo.io/114.252.239.73/city # 仅返回:Beijing
curl ipinfo.io/114.252.239.73/country # 仅返回:CN
curl ipinfo.io/114.252.239.73/org # 仅返回:AS4808 China Unicom Beijing Province Network
curl ipinfo.io/114.252.239.73/loc # 仅返回:39.9075,116.3972
curl ipinfo.io/114.252.239.73/timezone # 仅返回:Asia/Shanghai
工作原理
看到curl指令就知道的工作原理其实也就是:
-
HTTP请求传递:当你执行
curl ipinfo.io/ip
命令时,curl工具会创建一个HTTP请求发送到ipinfo.io服务器。 -
NAT转换过程:你的请求从内网设备出发,经过路由器时进行NAT(网络地址转换),使用你的公网IP地址与外部通信。
-
服务端识别:ipinfo.io服务器接收到请求后,能够看到发起请求的公网IP地址,即使你在NAT或代理后面。
-
信息查询与返回:ipinfo.io维护着全球IP地址数据库,根据识别到的IP地址查询相关信息,然后将结果以JSON格式返回。
-
单一职责:每个API端点仅返回请求的特定信息,保持响应简洁高效。
总结
如果你还有更简单的指令,请教会我!!!
对于日常网络管理、服务器运维和网络故障排查,这种方法无疑是传统网站查询的最佳替代方案。