macOS常用网络管理配置命令

目录

      • [**1. `ifconfig`:查看和配置网络接口**](#1. ifconfig:查看和配置网络接口)
      • [**2. `networksetup`:管理系统网络配置**](#2. networksetup:管理系统网络配置)
      • [**3. `ping`:测试网络连通性**](#3. ping:测试网络连通性)
      • [**4. `traceroute`:跟踪数据包路径**](#4. traceroute:跟踪数据包路径)
      • [**5. `nslookup`/`dig`:DNS 查询**](#5. nslookup/dig:DNS 查询)
      • [**6. `netstat`:查看网络连接和统计**](#6. netstat:查看网络连接和统计)
      • [**7. `route`:管理路由表**](#7. route:管理路由表)
      • [**8. `scutil`:查看和修改系统配置**](#8. scutil:查看和修改系统配置)
      • [**9. `ssh`:远程登录**](#9. ssh:远程登录)
      • [**10. `airport`:无线网络诊断**](#10. airport:无线网络诊断)
      • [**11. 常见使用场景及命令组合**](#11. 常见使用场景及命令组合)

1. ifconfig:查看和配置网络接口

  • 功能:查看或配置网络接口参数(如 IP 地址、子网掩码、MAC 地址等)。

  • 常用选项

    • -a:显示所有接口(包括未激活的)。
    • up/down:启用或禁用接口。
    • inet [IP]:设置 IPv4 地址。
  • 示例

    bash 复制代码
    #临时修改 IP 地址或禁用网卡
    ifconfig en0            # 查看 en0 接口信息
    sudo ifconfig en0 down  # 禁用 en0 接口
    sudo ifconfig en0 192.168.1.100 netmask 255.255.255.0  # 手动设置 IP 和子网掩码

2. networksetup:管理系统网络配置

  • 功能:管理网络服务(Wi-Fi、以太网等)、代理、DNS、位置配置。

  • 常用子命令

    • -listallnetworkservices:列出所有网络服务。
    • -setairportpower <service> on/off:启用/禁用 Wi-Fi。
    • -setdnsservers <service> <DNS1> <DNS2>:设置 DNS。
    • -setwebproxy <service> <host> <port>:设置 HTTP 代理。
  • 示例

    bash 复制代码
    #networksetup 命令在 macOS 中修改的是系统的永久配置
    networksetup -listallnetworkservices      # 列出所有网络服务
    sudo networksetup -setdnsservers Wi-Fi 8.8.8.8  # 设置 Wi-Fi 的 DNS 为 8.8.8.8
    sudo networksetup -setairportpower en0 off  # 关闭 Wi-Fi

3. ping:测试网络连通性

  • 功能:检测与目标主机的连通性。

通用选项

选项 功能描述
-c count 指定发送次数后停止(例如 -c 5 发送 5 次)
-i wait 设置发送间隔时间(单位:秒,默认 1 秒)
-s packetsize 设置数据包大小(单位:字节,默认 56)
-t timeout 设置等待响应超时时间(单位:秒)
-v 显示详细输出
-n 不解析域名(直接显示 IP 地址)
-o 收到第一个响应包后立即停止
-Q 静默模式(仅显示摘要)

高级选项

选项 功能描述
-p pattern 设置数据包填充模式(十六进制格式,如 -p abcd
-m ttl 设置 TTL(Time To Live)值
-I iface 指定网络接口(例如 -I en0
-G sweepmaxsize 设置最大数据包大小(用于 MTU 探测)

Apple 特有选项

选项 功能描述
-b boundif 绑定到指定网络接口(如 -b en0
-k traffic_class 设置流量类别(用于 QoS)
-K net_service_type 设置网络服务类型(如 -K VoIP
--apple-connect 在套接字中调用 connect()
--apple-time 显示当前时间戳
bash 复制代码
#示列
ping google.com          # 持续 ping
ping -c 4 8.8.8.8       # 发送 4 次后停止

4. traceroute:跟踪数据包路径

bash 复制代码
feng / % traceroute --help
Version 1.4a12+Darwin
Usage: traceroute [-adDeFInrSvx] [-A as_server] [-f first_ttl] [-g gateway] [-i iface]
	[-M first_ttl] [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
	[-t tos] [-w waittime] [-z pausemsecs] host [packetlen]
选项 功能描述
-a 显示 AS (自治系统) 编号信息
-d 启用调试模式(显示更多详细信息)
-F 设置不分片标志(Don't Fragment)
-I 使用 ICMP ECHO 请求代替 UDP 数据包
-n 不解析 IP 地址到域名(直接显示 IP)
-r 绕过正常路由表(直接发送到主机)
-v 显示详细输出
-x 启用 IP 校验和验证
-A as_server 指定 AS 查询服务器(默认:whois.radb.net
-f first_ttl 设置起始 TTL(Time To Live)值(默认:1)
-m max_ttl 设置最大 TTL 值(默认:30)
-p port 设置目标端口(默认:33434)
-q nqueries 设置每跳的探测次数(默认:3)
-w waittime 设置等待响应时间(单位:秒,默认:5)
bash 复制代码
#示列
traceroute google.com
traceroute -n 8.8.8.8

5. nslookup/dig:DNS 查询

  • 功能:查询 DNS 记录。

  • dig 示例

    bash 复制代码
    dig google.com          # 查询 A 记录
    dig mx google.com       # 查询 MX 记录
  • nslookup 示例

    bash 复制代码
    nslookup google.com
    bash 复制代码
    #=====================
    # dig 常见使用场景(10个)
    #=====================
    1. 查询A记录(默认)
    dig example.com
    
    2. 指定DNS服务器查询
    dig @8.8.8.8 example.com
    
    3. 查询MX记录
    dig example.com MX
    
    4. 反向DNS查询
    dig -x 8.8.8.8
    
    5. 显示简短结果
    dig +short example.com
    
    6. 跟踪完整DNS解析过程
    dig +trace example.com
    
    7. 查询TXT记录(常用于SPF/DKIM验证)
    dig example.com TXT
    
    8. 查询NS记录
    dig example.com NS
    
    9. 显示TTL信息
    dig example.com +nocmd +noall +answer +ttlid
    
    10. 批量查询多个域名
    dig -f domains.txt +short
    
    #=====================
    # nslookup 常见场景(10个)
    #=====================
    1. 基础A记录查询
    nslookup example.com
    
    2. 指定DNS服务器查询
    nslookup example.com 8.8.8.8
    
    3. 查询MX记录
    nslookup -type=MX example.com
    
    4. 反向DNS查询
    nslookup 8.8.8.8
    
    5. 查询TXT记录
    nslookup -type=TXT example.com
    
    6. 查询SOA记录
    nslookup -type=SOA example.com
    
    7. 查询AAAA记录(IPv6)
    nslookup -type=AAAA example.com
    
    8. 显示详细调试信息
    nslookup -debug example.com
    
    9. 指定查询端口(非标准DNS端口)
    nslookup -port=5353 example.com
    
    10. 交互模式批量查询
    nslookup
    > server 8.8.8.8
    > set type=MX
    > example.com
    > exit

6. netstat:查看网络连接和统计

  • 功能:显示网络连接、路由表、接口统计等。

  • 常用选项

    • -an:显示所有连接(不解析域名)。
    • -r:显示路由表。
    • -p tcp:显示 TCP 连接。
  • 示例

    bash 复制代码
    netstat -an | grep 80   # 查看 80 端口的连接
    netstat -r              # 显示路由表
  • 场景

    • 检查端口占用或异常连接。
    • 查看路由表配置。

7. route:管理路由表

  • 功能:查看或修改路由表。

  • 常用命令

    • add/delete:添加或删除路由。
  • 示例

    bash 复制代码
    route -n get default    # 查看默认网关
    sudo route add -net 10.0.0.0/24 192.168.1.1  # 添加静态路由
  • 场景

    • 配置 VPN 或访问内部网络时的静态路由。

8. scutil:查看和修改系统配置

  • 功能:管理系统网络参数(如主机名、DNS 配置)。

  • 示例

    bash 复制代码
    scutil --dns            # 查看当前 DNS 配置
    scutil --get HostName   # 获取主机名
    sudo scutil --set HostName MyMac  # 设置主机名
  • 场景

    • 动态修改主机名或查看 DNS 状态。

9. ssh:远程登录

  • 功能:通过 SSH 连接到远程服务器。

  • 常用选项

    • -p <port>:指定端口。
    • -i <key>:使用密钥认证。
  • 示例

    bash 复制代码
    ssh user@example.com
    ssh -p 2222 user@example.com
  • 场景

    • 远程管理服务器或传输文件。

10. airport:无线网络诊断

  • 功能:管理 Wi-Fi 扫描和诊断(需手动链接工具)。

  • 启用命令

    bash 复制代码
    sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
  • 示例

    bash 复制代码
    airport -s       # 扫描附近 Wi-Fi
    airport -I       # 查看当前 Wi-Fi 信息
  • 场景

    • 分析 Wi-Fi 信号强度或信道干扰。

11. 常见使用场景及命令组合

  1. 无法连接互联网

    bash 复制代码
    ping 8.8.8.8           # 检查是否可达公网
    dig google.com         # 检查 DNS 解析
    networksetup -setdnsservers Wi-Fi 8.8.8.8  # 重置 DNS
  2. 配置静态 IP

    bash 复制代码
    sudo ifconfig en0 192.168.1.100 netmask 255.255.255.0
    sudo route add default 192.168.1.1
  3. 查看端口占用

    bash 复制代码
    netstat -an | grep 8080
    lsof -i :8080
  4. 诊断 Wi-Fi 问题

    bash 复制代码
    airport -s              # 扫描可用网络
    networksetup -setairportpower en0 off  # 重启 Wi-Fi
相关推荐
AskHarries4 小时前
Spring Boot中对接Twilio以实现发送验证码和验证短信码
ide·macos·xcode
存内计算开发者11 小时前
VLSI 2024论文详解:具有紧凑型MAC-SIMD和自适应竖式加法数据流的1T1C DRAM存内计算加速器Dyamond
数据结构·macos·深度优先·边缘计算·数据库架构·剪枝·迭代加深
黄豆匿zlib11 小时前
Python怎样安装,Windows/Mac/Linux系统安装教程
windows·python·macos
挪不动12 小时前
OpenCore Legacy Patcher 问题解决
macos
獨枭1 天前
macOS 安装 CMake GUI 后找不到 cmake 命令的解决方案
macos
软购商城1 天前
立即释放 Mac 空间!Duplicate File Finder 8 重复文件高速清理工具
macos·正版软件·mac 重复文件清理工具软件
水木姚姚1 天前
图形界面控件编程(iOS)
人工智能·python·macos·ios·xcode
skywalk81631 天前
MacOS Big Sur 11 新机安装brew wget python3.12 exo
人工智能·macos·exo
甜于酸1 天前
Bartender 5 for Mac 多功能菜单栏管理
macos
大波V51 天前
vscode mac版本 配置git
git·vscode·macos