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 地址。
-
使用 curl 访问查询 ip 地址服务文章来源:https://www.toymoban.com/news/detail-718611.html
- curl cip.cc
- curl ifconfig.me
- curl ip.sb
- curl icanhazip.com
- curl curlmyip.com
-
使用 bash 脚本,即将请求服务封装到 bash 命令中,并用变量存储 ip 信息用于展示文章来源地址https://www.toymoban.com/news/detail-718611.html
#!/bin/bash
ip= wget http://ipecho.net/plain -O - -q ; echo
echo $ip
#!/bin/bash
ip=$(curl -s ip.sb)
echo "IP address is: $ip"
到了这里,关于Linux 从入门到精通:查看 ip 地址信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!