Please enable Javascript to view the contents

公网IP地址是什么?如何查看自己的公网IP地址?

 ·  ☕ 2 分钟

什么是公网IP地址?

IP 地址是互联网上的设备的标识符。它是一个数字,用于标识网络上的设备。IP 地址分为公网 IP 地址和私有 IP 地址。

如何查看自己的公网IP地址?

如果你装宽带的时候,你的宽带运营商会给你一个公网IP地址。你就可以直接运行 ipconfig 命令来查看你的公网IP地址。

但公网IP地址数量有限,许多家庭和企业网络使用网络地址转换(NAT)技术,将多个私有IP地址(局域网内的IP地址)映射到一个公网IP地址上,以实现多台设备共享一个公网IP地址上网。

这个时候,IPConfig 命令只能查看到你的私有IP地址,无法查看到你的公网IP地址。所以,这个时候,你往往要访问一个外部服务来查看你的公网IP地址。就像你忘记了你的电话号码,你可以打电话给你的朋友,让他告诉你你的手机号码。

这类服务有很多,往往是一个简单的网页,你访问这个网页,它会告诉你你的公网IP地址。比如:

使用 curl 命令查看公网IP地址

你也可以在命令行中使用 curl 命令来查看你的公网IP地址:

1
curl ifconfig.me

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。

本质上,也是访问 What Is My IP Address? - ifconfig.me 这个网站。

构建简单的公网IP地址查询服务

如果你想自己构建一个简单的公网IP地址查询服务,你可以使用 Node.js 来构建一个简单的 Web 服务器,然后返回客户端的 IP 地址。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
const http = require('http');

// 创建 HTTP 服务器
const server = http.createServer((req, res) => {
  // 获取客户端的 IP 地址
  const clientIp = req.socket.remoteAddress;

  // 设置响应头
  res.writeHead(200, { 'Content-Type': 'text/plain' });

  // 返回客户端的 IP 地址
  res.end(`Your IP address is ${clientIp}`);
});

// 服务器监听端口 3000
server.listen(3000, () => {
  console.log('Server is running at http://localhost:3000');
});

运行代码

  1. 将上述代码保存到一个文件中,例如 server.js
  2. 打开终端,导航到保存文件的目录。
  3. 运行以下命令启动服务器:
1
node server.js
  1. 打开浏览器,访问 http://localhost:3000,你将看到返回的客户端 IP 地址。

这样,你就可以使用 Node.js 构建一个简单的 Web 服务器,并返回客户端的 IP 地址。

分享

码中人
作者
码中人
Web Developer