IP 地址可以分为两类,公用和私有(专用)。公用 IP 是唯一的 IP 地址,可以从 Internet 访问。专用 IP 地址保留供您专用网络内部使用,而不会直接暴露给 Internet。

本文将介绍几种确定 Linux 系统的公共 IP 地址和私有 IP 地址的不同方法。(当然有些在windows下也是可以的)

查找你的私有 IP 地址

专用 IP 地址不可通过 Internet 路由,并且只能在本地网络内工作。通常,专用 IP 地址是由路由器分配给本地网络中的每个设备的。这为本地网络中的设备(例如电话、笔记本电脑、智能电视、打印机、媒体中心等)提供了唯一的 IP 地址。本地网络上的设备通过 NAT(网络地址转换)连接到 Internet。

以下 IPv4 地址范围是为专用网络保留的:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

你可以通过使用诸如 ipifconfig 或 hostname 命令查询网络堆栈确定系统的私有 IP 地址。

在 Linux 中,用于显示和配置网络接口的标准工具是 ip

要显示所有网络接口和关联的 IP 地址的列表,请键入以下命令:

ip addr

你还可以使用以下命令来显示私有 IP 地址:

$ hostname -I

$ ifconfig

查找你的公共 IP 地址

确定公共 IP 地址可以通过 HTTP/HTTPS 或 DNS 协议联系远程服务器,并从远程服务器响应中获取 IP 地址。

如果你是在没有 GUI 的 Linux 服务器上获取你分配到的公网 IP 地址,你可以使用命令行工具 digcurl 和 wget 等来获取。

大多数 DNS 提供商(例如:OpenDNS 和 Google)都允许你查询其服务器并获取你的公共 IP 地址。你可以使用以下任何命令来获取公网 IP:

$ dig ANY +short @resolver2.opendns.com myip.opendns.com

$ dig ANY +short @resolver2.opendns.com myip.opendns.com

$ dig ANY +short @ns1-.akamaitech.net ANY whoami.akamai.net

另外,有许多在线 HTTP/HTTPS 服务可以返回你的公共 IP 地址。这里是其中的一些:

$ curl -s http://tnx.nl/ip

$ curl -s https://checkip.amazonaws.com

$ curl -s api.infoip.io/ip

$ curl -s ip.appspot.com

$ wget -O - -q https://icanhazip.com/

$ curl ip.sb

为了方便使用,你还可以创建一个别名来方便查询。

alias pubip='dig ANY +short @resolver2.opendns.com myip.opendns.com'

现在,你要查找公共 IP 时,只需键入 pubip 命令即可。

参考链接:https://mp.weixin.qq.com/s/dkVd0eQfzGHxM3SQ6picuQ

最新文章

  1. ubuntu 安装VmTool
  2. 后缀数组 POJ 2406 Power Strings
  3. 生成uid的算法
  4. Android 利用Service实现下载网络图片至sdk卡
  5. POJ2186 POPULAR COW
  6. day01 Java基础
  7. 判断浏览器js代码
  8. jQuery 插件写法
  9. Winform DevExpress控件库(二) 使用SplashScreenManager控件定制程序加载页面
  10. 【学习总结】Master课程 之 虚拟化与云计算
  11. Python:笔记1_字符串处理【转载】
  12. day25 模块04_模块和包
  13. python argparse模块:命令行选项及参数解析
  14. FIR基本型仿真_03
  15. Carthage 的使用
  16. 【性能测试】:LR插入mysql数据库数据,脚本参数化问题
  17. python3 class类 练习题
  18. 【CF625E】Frog Fights(模拟)
  19. 国内物联网平台(8):中移物联网开放平台OneNet
  20. copyEvens

热门文章

  1. luoguP3246 [HNOI2016]序列
  2. networkx生成网络的子网计算
  3. 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 8-1
  4. 使用os模块动态获取目录或文件路径
  5. Kubernetes容器日志收集
  6. StringBuilder修改字符串内容,增,删,改,插
  7. MySQL学习——约束
  8. 前端开发JS——jQuery常用方法
  9. Docker关于镜像、容器的基本命令
  10. Android 安全攻防(三): SEAndroid Zygote