菜鸟科技网

Mac命令行如何查看IP地址?

在 macOS 系统中,命令行工具是网络管理和故障排查的重要手段,通过命令行可以快速获取本机 IP 地址、网络接口信息、路由表以及外部连接状态等数据,本文将详细介绍如何使用 macOS 命令行查看和管理 IP 地址相关操作,涵盖常用命令、参数解析及实际应用场景。

Mac命令行如何查看IP地址?-图1
(图片来源网络,侵删)

查看本机 IP 地址及相关网络信息

使用 ifconfig 命令查看网络接口详情

ifconfig 是传统的网络接口配置工具,在 macOS 中仍可使用,需通过 ifconfig 加上网络接口名称(如 en0en1)查看指定接口信息,或直接输入 ifconfig 显示所有接口。

  • 基本语法
    ifconfig [interface]
  • 示例:查看 en0 接口(通常为有线或默认 Wi-Fi 接口)的详细信息:
    ifconfig en0
  • 输出解析
    • inet:IPv4 地址,如 168.1.100
    • inet6:IPv6 地址,如 fe80::a00:27ff:fe4e:66a1
    • netmask:子网掩码,如 255.255.0
    • broadcast:广播地址,如 168.1.255
    • ether:MAC 地址,如 08:00:27:4e:66:a1

若需快速提取 IPv4 地址,可结合 grepawk 过滤:

ifconfig en0 | grep "inet " | awk '{print $2}'

使用 ipconfig 命令刷新网络配置

ipconfig 是 macOS 特有的网络配置工具,主要用于刷新 DNS 缓存、重新获取 DHCP 地址等,而非直接查看 IP。

  • 刷新 DNS 缓存
    sudo dscacheutil -flushcache
  • 重新获取 DHCP 地址(适用于 Wi-Fi 或以太网):
    sudo ipconfig set en0 DHCP

使用 networksetup 命令管理网络服务

networksetup 可用于查看或修改特定网络服务的配置,如 Wi-Fi、以太网等。

Mac命令行如何查看IP地址?-图2
(图片来源网络,侵删)
  • 查看当前网络服务状态
    networksetup -listallnetworkservices
  • 查看 Wi-Fi 接口 IP 地址
    networksetup -getinfo Wi-Fi
  • 设置静态 IP 地址(需管理员权限):
    sudo networksetup -setmanual Wi-Fi 192.168.1.100 255.255.255.0 192.168.1.1

查看路由表与外部连接状态

使用 netstat 命令查看网络连接与路由

netstat 可显示网络连接、路由表、接口统计等信息。

  • 查看 IPv4 路由表
    netstat -rn
    • 输出中 Destination 为目标网络,Gateway 为下一跳地址,Flags 中的 U 表示路由可用,G 表示网关路由。
  • 查看活跃的网络连接(监听和已建立的 TCP/UDP 连接):
    netstat -an
  • 仅显示 TCP 连接
    netstat -an | grep TCP

使用 route 命令管理路由表

route 命令可手动添加或删除静态路由。

  • 添加静态路由(示例:将目标网络 168.2.0/24 的下一跳设为 168.1.1):
    sudo route add -net 192.168.2.0/192.255.255.255 192.168.1.1
  • 删除静态路由
    sudo route delete 192.168.2.0

网络诊断与测试工具

使用 ping 测试网络连通性

ping 通过发送 ICMP 回显请求测试与目标主机的连通性。

  • 示例:测试与 8.8.8 的连接:
    ping 8.8.8.8
  • 指定发送数据包数量(如发送 5 个包):
    ping -c 5 8.8.8.8

使用 traceroute 跟踪网络路径

traceroute 显示数据包到达目标主机所经过的路由节点。

Mac命令行如何查看IP地址?-图3
(图片来源网络,侵删)
  • 基本用法
    traceroute 8.8.8.8
  • 使用 ICMP 代替 UDP(macOS 默认为 UDP)
    traceroute -I 8.8.8.8

使用 nslookup 查询 DNS 解析

nslookup 可查询域名对应的 IP 地址或反向解析 IP 对应的域名。

  • 查询域名 IP
    nslookup www.example.com
  • 反向查询 IP 的域名
    nslookup 8.8.8.8

网络接口信息汇总表

命令 功能描述 示例 输出关键信息
ifconfig en0 查看 en0 接口详细信息 ifconfig en0 IPv4/IPv6 地址、MAC 地址、子网掩码
networksetup -listallnetworkservices 列出所有网络服务 networksetup -listallnetworkservices Wi-Fi、以太网、Thunderbolt 等服务名称
netstat -rn 显示 IPv4 路由表 netstat -rn 目标网络、网关、接口、跃点数
ping -c 4 8.8.8.8 测试与 8.8.8 的连通性(4次) ping -c 4 8.8.8.8 往返时间、丢包率
traceroute 8.8.8.8 跟踪到 8.8.8 的路由路径 traceroute 8.8.8.8 每跳 IP、延迟、主机名(若解析)

相关问答 FAQs

Q1: 如何在 macOS 命令行中快速获取当前活动的 Wi-Fi IP 地址?
A: 可以通过以下命令组合实现:

ipconfig getifaddr en0

en0 通常是 Wi-Fi 接口名称(可通过 ifconfig | grep "en" 查看所有接口),若需确认接口类型,可使用 networksetup -listallnetworkservices 查看对应服务的接口名称。

Q2: 当无法连接网络时,如何使用命令行排查是本地 IP 配置问题还是网关故障?
A: 可按以下步骤排查:

  1. 检查本机 IP 配置
    ifconfig en0 | grep "inet "

    inet 后无 IP 或显示 254.x.x(链路本地地址),说明未获取到 DHCP 地址,需检查网络连接或重启网络服务。

  2. 测试网关连通性
    ping $(netstat -rn | grep default | awk '{print $2}')

    若无法 ping 通网关,可能是物理线路问题或网关故障;若网关可达但无法访问外网(如 ping 8.8.8.8 失败),则可能是 DNS 问题或运营商网络故障。

  3. 刷新 DNS 并重试
    sudo dscacheutil -flushcache

通过以上命令组合,可快速定位网络故障的根源,进一步提升网络管理效率。

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