菜鸟科技网

Unix查看IP命令有哪些?

在Unix和Linux系统中,查看IP地址是日常管理和网络故障排查中的常见操作,不同的命令适用于不同的场景,例如查看本机IP、网络接口信息、公网IP或详细的网络配置等,以下将详细介绍几种常用的查看IP命令,包括它们的语法、输出含义及适用场景。

Unix查看IP命令有哪些?-图1
(图片来源网络,侵删)

ifconfig命令

ifconfig(interface configuration)是传统的网络配置工具,用于显示或配置网络接口的参数,在较新的Linux发行版中,该命令可能已被ip命令取代,但仍在许多系统中可用。

基本语法

ifconfig [interface]
  • 若不带参数,显示所有活跃网络接口的信息;若指定接口名(如eth0),则只显示该接口的详情。

输出示例

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fe4e:66a1  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:4e:66:a1  txqueuelen 1000  (Ethernet)
        RX packets 1234  bytes 123456 (123.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 567  bytes 789012 (789.0 KB)
        TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0

关键字段说明

Unix查看IP命令有哪些?-图2
(图片来源网络,侵删)
  • inet:IPv4地址及子网掩码。
  • inet6:IPv6地址。
  • ether:MAC地址。
  • mtu:最大传输单元。
  • RX/TX packets:接收/发送的数据包数量。

注意事项:在CentOS 7+、Ubuntu 18.04+等系统中,需安装net-tools包才能使用ifconfig(如sudo apt install net-tools)。

ip命令

ip是新一代的网络配置工具,功能更强大,逐渐取代ifconfig,它属于iproute2包,默认安装在大多数现代Linux系统中。

基本语法

ip addr show [interface]
  • 显示所有接口或指定接口的IP地址信息。

输出示例

Unix查看IP命令有哪些?-图3
(图片来源网络,侵删)
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:4e:66:a1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe4e:66a1/64 scope link 
       valid_lft forever preferred_lft forever

关键字段说明

  • link/ether:MAC地址。
  • inet:IPv4地址及子网掩码(CIDR格式,如/24表示255.255.255.0)。
  • scope:地址作用域(如global为全局地址,link为链路本地地址)。

扩展用法

  • 查看路由表:ip route show
  • 查看网络连接:ip link show

hostname命令

hostname命令主要用于显示或设置系统的主机名,但结合-I选项可快速获取所有活跃接口的IP地址。

基本语法

hostname -I

输出示例

168.1.100 10.0.0.1
  • 直接输出以空格分隔的所有IP地址,适合脚本调用。

dig命令

dig(Domain Information Groper)是DNS查询工具,也可用于获取公网IP地址。

基本语法

dig +short myip.opendns.com @resolver1.opendns.com
  • 通过OpenDNS服务查询当前公网IP,输出示例:0.113.45

curl命令

结合第三方服务,curl可快速获取公网IP。

基本语法

curl ifconfig.me
  • 或使用其他服务如curl icanhazip.com,输出当前公网IP。
命令 主要用途 适用场景
ifconfig 显示/配置网络接口 IPv4、IPv6、MAC、流量统计 传统系统,需安装net-tools
ip 显示/配置路由、接口、地址 详细的网络配置信息 现代Linux系统,功能更全面
hostname 快速获取IP地址 所有活跃接口的IP列表 简单脚本,无需额外参数
dig DNS查询,获取公网IP 当前公网IPv4地址 需要公网IP且安装DNS工具
curl 通过HTTP服务获取公网IP 当前公网IPv4地址 轻量级查询,无需安装额外工具

相关问答FAQs

Q1: 为什么ifconfig命令在系统中不可用?
A: 在较新的Linux发行版(如Ubuntu 20.04、CentOS 8)中,ifconfig已被ip命令取代,属于net-tools包,可通过sudo apt install net-tools(Debian/Ubuntu)或sudo yum install net-tools(RHEL/CentOS)安装,但推荐使用ip命令以获得更好的兼容性和功能。

Q2: 如何区分本地IP和公网IP?
A: 本地IP(如168.x.xx.x.x16-31.x.x)属于私有地址段,仅在局域网内可用;公网IP是运营商分配的全球唯一地址,可通过curl ifconfig.medig命令查询,若本地IP直接暴露在外,通常说明未配置NAT或路由器。

分享:
扫描分享到社交APP
上一篇
下一篇