0


Linux 从入门到精通:查看 ip 地址信息

1. IP 地址

1.1 IP 地址介绍

IP 地址通常分为两类,即外网(公网)地址和内网地址。其中外网地址是唯一的 IP 地址,可以在互联网上通过 IP 确定服务终端;而内网地址是本地网络域中专有的地址,该 IP 不会直接暴露在互联网中。

1.2 IPv4

IPv4 是较早提出的一种 IP 地址表示方式,通过使用 点分十进制 表示 IPv4 地址,每个部分使用 8 位地址来代表一组构成方案。

如 192.168.2.100,其中192、168、2、100 四个数均可以使用 8 位二进制数字表示。

使用 4 个十进制数,每个有 8 位长,IPv4 的组合地址数量也是十分有限的,此时就面临着 IPv4 地址耗尽的问题。

1.3 IPv6

IPv6 是 Internet 协议的最新版本,IPv6 的出现旨在替换 IPv4。

IPv6 地址使用 : 符号来分隔十六进制数字,共分为 8 个部分,即 8 个十六进制数使用 : 连接,总长度是 128 位。

2. Linux 中的 ip 命令

2.1 ip 命令语法

ip 命令是 Linux 系统中用来显示和配置网络接口信息的命令。

Linux 中还有另外一个查看网络信息的命令 ifconfig ,ip 命令与其类似,但是更强大,作为 Linux 中加强版本的网络配置工具,在使用中 ip 命令完全可以替代 ipconfig。

  • ip 命令的使用语法可表示为: ip [ OPTIONS ] OBJECT { COMMAND | help }

2.2 OPTIONS

OPTIONS 代表命令操作选项参数,可以使用的参数值有:

  • help,ip 命令的帮助命令,可以查看 ip 命令的使用方法
  • -V,显示 ip 命令的版本信息
  • -s,输出详细的信息
  • -f,强制使用指定的协议族
  • -4,指定使用的网络层协议是 IPv4 协议
  • -6,指定使用的网络层协议是 IPv6 协议
  • -0,表示输出的结果信息中,每条信息作为一行展示,即使内容较多也是同一行展示
  • -r,参数表示显示主机时,显示主机域名来代替 IP 地址的展示

2.3 OBJECT

OBJECT 代表 ip 命令对应的使用对象,可以指定的对象有:

  • link,代表网络设备
  • address,代表设备上的 IPv4 或 IPv6 地址信息
  • addrlabel,协议地址选择的标签设置
  • route,代表路由表条目信息
  • rule,路由策略数据库的规则信息

2.4 COMMAND

COMMAND 即命令,代表对 OBJECT 对象执行的操作,如对象的展示操作 show/list 、增加操作 add 、 删除操作 delete 等。

  • COMMAND 命令的使用是根据 OBJECT 对象而异的,每个对象支持的命令操作不完全一样
  • 在使用 ip 命令时,如果不指定 COMMAND,则使用 list 命令作为默认参数,如 ip addr 和 ip addr list 是等价的
  • 如 IP 地址管理操作 - 设置 IP 地址, ip addr add 192.168.0.194/24 dev wlan0- 查看网卡信息, ip addr show eth0- 删除 IP 地址, ip addr delete 192.168.0.194/24 dev wlan0

3. 查看 Linux 服务的 IP 地址

3.1 ifconfig 查看 IP 地址

在学会 ip 命令之前,可以使用 ifconfig 命令查询 Linux 系统网络对应的 IP 地址信息。

除了直接使用 ifconfig 命令查看所有网络信息,还可以后跟具体网卡查看指定信息

  • ifconfig eth0 , 查看 eth0 网卡信息
  • /sbin/ifconfig eth0 ,查看 eth0 网卡信息

ifconfig 命令是 /sbin 路径下的,需要使用 root 用户权限才可以使用,且没有安装 ifconfig 则会提示 command not found

另外,需要注意的是 windows 系统中 cmd 窗口使用 ipconfig 命令查看 IP 等信息,Linux 中使用 ifconfig 命令查看 IP 信息。

一行命令输出 IP 地址:

ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk'{print $2}'|tr -d "addr:"

3.2 ip 命令查看 IP 地址

使用 ip 命令查看 Linux 系统 IP 地址主要是通过查看 address 来实现的,通过命令的省略与否,可以有多种形式的命令

  • ip addr,最简单的命令,address 简写为 addr,show/list 命令省略
  • ip address,省略查看命令
  • ip addr show,address 命令缩写为 addr
  • ip address show,完整的命令查看 IP 信息

除了查看所有 IP 信息的列表外,ip 命令也可以针对具体网卡信息进行查看

  • ip addr show eth0,查看 eth0 网卡的 IP 信息

一行命令输出 IP 地址信息:

ip addr |awk'/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)/(.*)/, "\1", "g", $2)}'

3.3 查看公网 IP 地址

上述使用 ifconfig 和 ip 命令查看的 Linux 系统 IP 地址都属于是内网 IP 地址,而如果想要查看外网 IP 地址,则需要使用请求 DNS 服务器或 curl 请求指定服务来返回公网 IP 地址。

  1. 使用 curl 访问查询 ip 地址服务- curl cip.cc- curl ifconfig.me- curl ip.sb- curl icanhazip.com- curl curlmyip.com
  2. 使用 bash 脚本,即将请求服务封装到 bash 命令中,并用变量存储 ip 信息用于展示
#!/bin/baship=wget http://ipecho.net/plain  -O - -q ;echoecho$ip
​
#!/bin/baship=$(curl -s ip.sb)echo"IP address is: $ip"
标签: linux tcp/ip 网络

本文转载自: https://blog.csdn.net/grammer_du/article/details/130448177
版权归原作者 爪哇程序人生 所有, 如有侵权,请联系我们删除。

“Linux 从入门到精通:查看 ip 地址信息”的评论:

还没有评论