菜鸟科技网

macOS网络命令有哪些常用功能?

基础网络信息查看

这些命令用于快速了解当前网络连接状态。

macOS网络命令有哪些常用功能?-图1
(图片来源网络,侵删)

ifconfig

显示或配置网络接口的参数,是了解网络接口最基础的命令。

  • 查看所有网络接口信息:

    ifconfig

    输出会显示所有网络接口(如 en0 是以太网/有线, en1 是 Wi-Fi, lo0 是回环接口)的 IP 地址、MAC 地址、子网掩码等。

  • 查看特定接口信息(Wi-Fi):

    macOS网络命令有哪些常用功能?-图2
    (图片来源网络,侵删)
    ifconfig en1
  • 启用/禁用接口(需要管理员权限):

    sudo ifconfig en1 down
    sudo ifconfig en1 up

ipconfig

主要用于管理 macOS 的 DNS 缓存,也可以刷新网络配置。

  • 刷新 DHCP 和 DNS 缓存(解决网络连接问题常用):
    sudo ipconfig set en1 DHCP
    sudo dscacheutil -flushcache

    en1 可以替换为你的网络接口名称,这个组合命令在连接不上网时非常有用。

networksetup

一个功能强大的命令行工具,用于配置网络服务(如 Wi-Fi、以太网、VPN 等)。

macOS网络命令有哪些常用功能?-图3
(图片来源网络,侵删)
  • 列出所有网络服务:

    networksetup -listallnetworkservices
  • 查看 Wi-Fi 状态和信息:

    networksetup -getinfo Wi-Fi
  • 查看当前连接的 Wi-Fi 网络:

    networksetup -getairportnetwork en0
  • 启用/禁用网络服务:

    networksetup -setnetworkserviceenabled Wi-Fi on
    networksetup -setnetworkserviceenabled Wi-Fi off

连接诊断与测试

这些命令用于测试网络连通性和排查问题。

ping

测试与另一台主机的网络连通性,它会发送 ICMP 数据包并等待响应。

  • 测试与 www.google.com 的连接:

    ping www.google.com

    Ctrl + C 停止。

  • 指定发送数据包的数量(4 个):

    ping -c 4 www.google.com

traceroute (或 tracert)

显示数据包到达目标主机所经过的路由路径,对于定位网络延迟或中断点非常有用。

  • 追踪到 www.apple.com 的路径:

    traceroute www.apple.com

    在较新的 macOS 版本中,traceroute 命令可能不存在,但可以使用 traceroute 的替代品或 ping 的扩展功能。

  • 使用 ping 进行路径追踪(macOS 内置方法):

    ping -R www.apple.com

    -R 选项要求在 IP 包中记录路由路径,但并非所有路由器都支持,更可靠的方法是使用下面的 traceroute 替代品。

  • 安装 traceroute(如果系统没有):

    brew install traceroute

    需要先安装 Homebrew

netstat

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

  • 显示所有活动的 TCP 连接:

    netstat -an

    -a 显示所有连接,-n 以数字形式显示地址和端口(不进行 DNS 解析,速度更快)。

  • 显示监听的端口:

    netstat -an | grep LISTEN

nslookup

用于查询 DNS 记录,将域名解析为 IP 地址,或反向查询 IP 对应的域名。

  • 查询 www.github.com 的 IP 地址:

    nslookup www.github.com
  • 使用特定的 DNS 服务器进行查询(Google DNS):

    nslookup www.github.com 8.8.8.8

高级网络监控与分析

这些命令提供更底层的网络流量视图,适合高级用户和开发者。

lsof (List Open Files)

虽然不是纯网络命令,但可以用来查看哪些进程正在使用特定的网络端口。

  • 查看哪个进程在使用 8080 端口:
    sudo lsof -i :8080

tcpdump

一个强大的网络数据包分析器,可以捕获和分析经过网络接口的数据包。

  • 捕获经过 en0 接口的所有数据包(会输出大量信息):

    sudo tcpdump -i en0
  • 只捕获与 www.google.com 的 HTTP 流量(端口 80):

    sudo tcpdump -i en0 host www.google.com and port 80
  • 将捕获的数据包保存到文件:

    sudo tcpdump -i en0 -w capture.pcap

    生成的 capture.pcap 文件可以用 Wireshark 等软件进行详细分析。

nettop

一个实时、动态的网络监控工具,比 top 更专注于网络活动。

  • 实时显示网络活动:
    sudo nettop

    q 退出,它会显示每个进程的网络连接、数据传输速率等信息。

nstat

显示网络协议的统计信息,如 TCP、UDP、ICMP 的各种计数器。

  • 显示内核网络统计信息:
    nstat

系统网络服务管理

system_profiler

获取详细的系统信息,包括网络硬件配置。

  • 显示网络接口的详细报告:
    system_profiler SPNetworkDataType

    这会提供非常详细的 Wi-Fi 和以太网信息,如 SSID、BSSID、信号强度、IP 配置等。


总结与使用建议

命令 主要用途 常用场景
ifconfig 查看网络接口基本信息 快速检查 IP、MAC 地址
ipconfig 刷新 DHCP/DNS 缓存 解决网络连接问题
networksetup 配置网络服务 管理 Wi-Fi、代理、VPN 等
ping 测试网络连通性 检查是否能访问某台主机
traceroute 追踪数据包路径 定位网络延迟或中断点
netstat 查看网络连接和端口 检查哪个程序在监听端口
nslookup DNS 查询 检查域名解析是否正常
lsof 查看端口占用进程 找到占用端口的程序
tcpdump 捕获网络数据包 深度分析网络流量
nettop 实时网络监控 观看进程的网络活动
system_profiler 获取系统详细信息 查看详细的网络硬件配置

排查网络问题的典型流程:

  1. 无法上网?

    • 先用 ping 8.8.8.8 测试是否能连接到公网,如果能,说明是 DNS 问题。
    • nslookup www.google.com 检查 DNS 解析是否正常。
    • 如果不通,检查网线或 Wi-Fi 连接,用 ifconfig 看接口是否 UP 并有 IP。
    • 尝试 sudo ipconfig set en1 DHCP 刷新配置。
  2. 某个网站打不开?

    • pingnslookup 检查该网站的 IP 和连通性。
    • traceroute 看数据包在哪一步卡住了。
  3. 端口被占用?

    • netstat -an | grep LISTEN 查看所有监听端口。
    • sudo lsof -i :端口号 找到占用端口的进程,然后决定是否终止它。

希望这份详细的清单能帮助您更好地管理和调试 macOS 的网络!

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