linux应用开发实例 linux查询ip地址命令

在以前的Linux系统版本中 , 我们一直使用’ ifconfig ‘命令查看ip地址等信息 。但是“ifconfig”已经不再被维护 , 并在近几年的Linux版本中已经被弃用 。
ifconfig命令已被ip命令替换 。ip命令有点类似于ifconfig命令 , 但它更强大 , 附加了更多的功能 。ip命令可以执行一些网络相关的任务 , 是ifconfig不能操作的 。
查看网络接口信息
要查看网络接口信息 , 例如IP地址 , 子网等 , 请使用“ ip addr show”命令:
【linux应用开发实例 linux查询ip地址命令】bob@ubuntu-20-04:~$ ip addr show
linux应用开发实例 linux查询ip地址命令

文章插图
这会显示系统上所有网络接口的信息 , 但是如果我们要查看单个网卡信息 , 以下我们要查看ens33接口的ip信息 , 可以使用以下命令:
bob@ubuntu-20-04:~$ ip addr show ens33
linux应用开发实例 linux查询ip地址命令

文章插图
启用或者禁用网络接口
我们可以使用ip命令启用或禁用网络接口 , 示例如下所示:
bob@ubuntu-20-04:~$ sudo ip link set ens33 down
linux应用开发实例 linux查询ip地址命令

文章插图
可以看到ens33接口的状态变成DOWN了 。
我们再启用该网络接口:
bob@ubuntu-20-04:~$ sudo ip link set ens33 up
linux应用开发实例 linux查询ip地址命令

文章插图
为接口设置临时的IP地址
要分配IP地址以使用ip命令进行接口 , 我们将使用以下方法:
bob@ubuntu-20-04:~$ sudo ip addr add 192.168.43.175/255.255.255.0 dev ens33
linux应用开发实例 linux查询ip地址命令

文章插图
可以看到ens33接口添加了一个新的ip地址 。
从网络接口中删除ip地址
如果要从接口中删除分配的IP , 可以使用下面方法:
bob@ubuntu-20-04:~$ sudo ip addr del 192.168.43.175/24 dev ens33
linux应用开发实例 linux查询ip地址命令

文章插图
查看路由和默认网关信息
查看路由信息会向我们显示数据包到达目的地所要经过的路由 。要检查网络路由信息 , 请执行以下ip命令:
bob@ubuntu-20-04:~$ ip route showdefault via 192.168.43.2 dev ens33 proto dhcp metric 100 169.254.0.0/16 dev ens33 scope link metric 1000 192.168.43.0/24 dev ens33 proto kernel scope link src 192.168.43.174 metric 100
linux应用开发实例 linux查询ip地址命令

文章插图
在上面的输出中 , 我们将看到所有网络接口的路由信息 。我们还可以使用以下方式获取到特定ip的路由信息:
bob@ubuntu-20-04:~$ ip route get to 192.168.43.2
linux应用开发实例 linux查询ip地址命令

文章插图
查看arp条目
ARP是“地址解析协议”的缩写 , 用于将IP地址转换为MAC地址 , 并且所有IP及其对应的MAC详细信息都存储在称为ARP缓存的表中 。要查看ARP缓存中的条目可以使用以下命令:
bob@ubuntu-20-04:~$ ip neigh
linux应用开发实例 linux查询ip地址命令

文章插图
查看网络统计
使用ip命令 , 我们还可以查看所有网络接口的网络统计信息 , 例如传输的字节和数据包 , 错误或丢失的数据包等 。要查看网络统计信息 , 可以使用ip -s link命令:
bob@ubuntu-20-04:~$ ip -s link
linux应用开发实例 linux查询ip地址命令

文章插图
总结
如果要查找上述示例中未列出的选项 , 可以使用man ip查看详细的帮助 。

    推荐阅读