Jacky's blog
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)
  • 工具链
  • 开发工具

  • 构建工具

  • 版本控制

  • 容器

  • 调试工具

  • 测试工具

  • CLI 工具

  • 网络工具

    • ssh
    • ftp
    • sftp
    • ifconfig
    • wget
    • Tailscale 入门:让自己的设备跨网络互联
    • 网络工具与诊断:macOS 和 Linux 对照
      • 7. 网络工具
        • 7.1 网络配置
        • networksetup (macOS)
        • ifconfig
        • ip (Linux)
        • 7.2 网络诊断
        • ping
        • netstat
        • traceroute
        • 7.3 DNS 查询
        • dig
        • nslookup
        • 7.4 文件下载
        • curl
        • wget
        • 7.5 端口扫描
        • nc (netcat)
        • 7.6 代理工具
        • proxychains-ng
        • 7.7 防火墙
        • ufw (Ubuntu/Debian)
        • iptables (Linux)
        • 7.8 网络工具速查
        • 7.9 macOS 网络状态查看
        • IP 地址
        • Wi-Fi 信息
        • 网络服务与接口
        • DNS 与代理
        • 连接与流量监控
        • 网络质量测试
        • 防火墙状态
        • 一键网络诊断脚本
      • 分层排查与平台边界
  • 编辑器

  • 设计工具

  • 多媒体

  • 包管理

  • 平台工具

  • tools
  • network_tools
Jacky
2026-10-26
目录

网络工具与诊断:macOS 和 Linux 对照

从 Shell 命令手册迁出。按接口 → 路由 → DNS → TCP → HTTP 分层排查;命令均需先核对平台。

# 7. 网络工具

# 7.1 网络配置

# networksetup (macOS)

# 查询网络硬件端口
networksetup -listallhardwareports

# 查看网络服务
networksetup -listallnetworkservices

# 获取 Wi-Fi 信息
networksetup -getinfo Wi-Fi

# 设置 DNS
networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4

# 查看代理端口, http
networksetup -getwebproxy Wi-Fi
# 查看代理端口, https
networksetup -getsecurewebproxy Wi-Fi
# 查看 SOCKS5 代理端口
networksetup -getsocksfirewallproxy Wi-Fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# ifconfig

配置和显示网络接口(传统工具)

常用选项:

选项 说明
-a 显示所有接口(包括未激活)
-s(Linux net-tools) 简短输出;不要用于 macOS 同名命令
up 激活接口
down 停用接口
netmask 设置子网掩码
broadcast 设置广播地址

示例:

# 显示所有接口
ifconfig

# 显示特定接口
ifconfig en0          # macOS 示例接口,先查硬件端口映射
ifconfig en1          # macOS 示例接口,不保证对应以太网
ifconfig eth0         # Linux 示例,实际可能为 enp0s… 等名称
ifconfig wlan0        # Linux Wi-Fi

# 显示简短信息
ifconfig -s  # 仅 Linux net-tools

# 激活/停用接口
sudo ifconfig en0 up
sudo ifconfig en0 down

# 设置 IP 地址(临时)
sudo ifconfig en0 192.168.1.100 netmask 255.255.255.0

# 设置 MTU
sudo ifconfig en0 mtu 1500

# 查看 MAC 地址
ifconfig en0 | grep ether

# 查看 IP 地址
ifconfig en0 | grep inet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

常见接口名称:

接口 系统 说明
en0 macOS 硬件网络接口,类型查 networksetup -listallhardwareports
en1 macOS 硬件网络接口,编号不能固定推断类型
lo0 macOS 回环接口
eth0 Linux 以太网
wlan0 Linux 无线网卡
lo Linux 回环接口

# ip (Linux)

现代网络配置工具(推荐)

常用子命令:

命令 说明
ip addr 管理 IP 地址
ip link 管理网络接口
ip route 管理路由表
ip neigh 管理 ARP 缓存
ip tunnel 管理隧道
ip rule 管理路由策略

地址管理(ip addr):

# 显示所有接口
ip addr show
ip a

# 显示特定接口
ip addr show eth0
ip a s eth0

# 添加 IP 地址
sudo ip addr add 192.168.1.100/24 dev eth0

# 删除 IP 地址
sudo ip addr del 192.168.1.100/24 dev eth0

# 清空接口所有 IP
sudo ip addr flush dev eth0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

接口管理(ip link):

# 显示所有接口
ip link show
ip link

# 显示接口统计
ip -s link
ip -s link show eth0

# 启用/禁用接口
sudo ip link set eth0 up
sudo ip link set eth0 down

# 修改 MTU
sudo ip link set eth0 mtu 1500

# 修改 MAC 地址
sudo ip link set eth0 address 00:11:22:33:44:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

路由管理(ip route):

# 显示路由表
ip route show
ip r

# 显示特定网络的路由
ip route show 192.168.1.0/24

# 添加默认网关
sudo ip route add default via 192.168.1.1

# 添加静态路由
sudo ip route add 10.0.0.0/8 via 192.168.1.254

# 删除路由
sudo ip route del 10.0.0.0/8

# 查看到特定 IP 的路由
ip route get 8.8.8.8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

邻居表管理(ip neigh):

# 显示 ARP 缓存
ip neigh show
ip n

# 添加静态 ARP 条目
sudo ip neigh add 192.168.1.100 lladdr 00:11:22:33:44:55 dev eth0

# 删除 ARP 条目
sudo ip neigh del 192.168.1.100 dev eth0

# 清空 ARP 缓存
sudo ip neigh flush dev eth0
1
2
3
4
5
6
7
8
9
10
11
12

实用技巧:

# 彩色输出
ip -c a

# JSON 格式输出
ip -j a

# 监控实时变化
ip monitor

# 查看接口统计(持续更新)
watch -n 1 'ip -s link show eth0'

# 快速查看本机 IP
ip -4 addr show scope global | grep inet
1
2
3
4
5
6
7
8
9
10
11
12
13
14

ifconfig vs ip

  • ifconfig:传统工具,逐渐被淘汰
  • ip:现代工具,功能更强大,推荐使用
  • macOS 内置 ifconfig,通常无 ip;Linux 的 ip 来自 iproute2,ifconfig 来自可选 net-tools,精简系统可能没有后者

# 7.2 网络诊断

# ping

测试网络连通性

# 基本 ping
ping google.com

# 指定次数
ping -c 4 google.com

# 指定间隔
ping -i 2 google.com

# 只显示摘要
ping -c 10 -q google.com
1
2
3
4
5
6
7
8
9
10
11

ping vs dig

  • ping:通常通过系统解析路径取得目标地址,可能受 hosts、系统缓存、分流解析影响
  • dig:直接向指定/默认 DNS 服务器查询,通常不完整复现系统解析路径
  • 二者都可能得到 CDN 地址;dig 不会自动绕过 CDN 找出源站。差异应检查 DNS 服务器、记录类型、缓存与查询时间

# netstat

以下选项表及主体示例为 Linux net-tools。macOS 同名参数含义不同(如 -p 是协议),不能只判断命令存在就套用;macOS 示例单列。

显示网络状态和统计信息

常用选项:

选项 说明
-a 显示所有连接和监听端口
-n 数字格式显示地址和端口
-t 显示 TCP 连接
-u 显示 UDP 连接
-l 只显示监听端口
-p 显示进程 ID 和程序名
-r 显示路由表
-s 显示统计信息
-i 显示网络接口
-c 持续输出

示例:

# 显示所有连接(数字格式)
netstat -an

# 显示所有 TCP 监听端口
netstat -tln

# 显示所有 TCP 连接(带进程)
sudo netstat -tanp

# 显示所有 UDP 连接
netstat -uln

# 查看路由表
netstat -r
netstat -rn  # 数字格式

# 显示网络接口统计
netstat -i

# 显示协议统计
netstat -s
netstat -st  # 只显示 TCP 统计

# 持续监控连接(每秒更新)
netstat -c

# 查找特定端口
netstat -an | grep :8080

# 统计各状态连接数
netstat -an | awk '/^tcp/ {print $6}' | sort | uniq -c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

输出状态说明:

状态 说明
LISTEN 监听中
ESTABLISHED 已建立连接
TIME_WAIT 等待关闭
CLOSE_WAIT 等待关闭
SYN_SENT 连接请求已发送
SYN_RECV 收到连接请求

macOS 特定选项:

# 查看 TCP 详细信息(macOS;字段随系统版本变化,不保证输出进程名)
netstat -anvp tcp

# 查看每个协议的统计
netstat -s -p tcp
netstat -s -p udp
1
2
3
4
5
6

现代替代工具

Linux 上使用 iproute2 的 ss 命令;macOS 通常没有 ss,可用 lsof 查询进程/端口:

ss -tuln          # 类似 netstat -tuln
ss -tanp          # 类似 netstat -tanp
ss -s             # 统计信息
1
2
3

# traceroute

下表为常见 Linux traceroute 实现;macOS 用 traceroute -P tcp -p 443 example.com 指定 TCP,不支持直接照搬 -T/-U。先核对本机 man traceroute。

追踪路由路径

常用选项:

选项 说明
-n 不解析主机名(更快)
-I 使用 ICMP(需 root)
-T 使用 TCP SYN
-U 使用 UDP(默认)
-p <port> 指定端口
-m <hops> 最大跳数
-q <queries> 每跳查询次数
-w <timeout> 等待超时时间(秒)

示例:

# 基本追踪
traceroute google.com

# 不解析主机名(更快)
traceroute -n google.com

# 使用 ICMP(类似 Windows tracert)
sudo traceroute -I google.com

# 使用 TCP(适合防火墙环境)
sudo traceroute -T -p 443 google.com

# 设置最大跳数
traceroute -m 15 google.com

# 设置超时时间
traceroute -w 2 google.com

# 每跳只查询 1 次(更快)
traceroute -q 1 google.com

# 追踪到特定端口
traceroute -p 8080 example.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

输出解读:

traceroute to google.com (172.217.160.46), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.234 ms  1.123 ms  1.089 ms
 2  10.0.0.1 (10.0.0.1)  5.678 ms  5.432 ms  5.321 ms
 3  * * *  # 超时或被防火墙阻止
1
2
3
4
  • 第一列:跳数
  • 第二列:主机名和 IP
  • 后三列:三次探测的响应时间
  • * * *:超时或防火墙阻止

traceroute vs mtr

推荐使用 mtr(更强大):

brew install mtr       # macOS
sudo apt install mtr   # Ubuntu

sudo mtr google.com    # 实时追踪
1
2
3
4

# 7.3 DNS 查询

# dig

DNS 查询工具(推荐)

# 基本查询
dig example.com

# 只显示答案
dig +short example.com
dig +noall +answer example.com

# 查询不同记录类型
dig A example.com       # IPv4
dig AAAA example.com    # IPv6
dig MX example.com      # 邮件服务器
dig NS example.com      # 域名服务器
dig TXT example.com     # TXT 记录

# 指定 DNS 服务器
dig @8.8.8.8 example.com
dig @1.1.1.1 example.com

# 反向查询
dig -x 8.8.8.8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# nslookup

交互式 DNS 查询

# 基本查询
nslookup example.com

# 指定 DNS 服务器
nslookup example.com 8.8.8.8

# 查询特定类型
nslookup -type=MX example.com
1
2
3
4
5
6
7
8

# 7.4 文件下载

# curl

强大的数据传输工具

常用选项:

选项 说明
-O 保存为远程文件名
-o <file> 保存到指定文件
-L 跟随重定向
-I 只获取 HTTP 头
-v 显示详细信息
-s 静默模式
-x 使用代理
-u HTTP 认证
-H 添加 HTTP 头
-d POST 数据

基本下载:

# 下载文件
curl -O https://example.com/file.zip

# 下载并重命名
curl -o myfile.zip https://example.com/file.zip

# 跟随重定向
curl -LO https://example.com/file.zip

# 断点续传
curl -C - -O https://example.com/largefile.zip
1
2
3
4
5
6
7
8
9
10
11

HTTP 请求:

# GET 请求
curl https://api.example.com/users

# 只获取 HTTP 头
curl -I https://example.com

# POST 请求(表单)
curl -X POST -d "key1=value1&key2=value2" https://example.com/api

# POST 请求(JSON)
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"name":"John","age":30}' \
  https://api.example.com/users

# 添加认证头
curl -H "Authorization: Bearer token" https://api.example.com/data

# 使用代理
curl -x http://127.0.0.1:7890 https://google.com

# 测试代理是否工作
curl https://ipinfo.io                          # 不用代理
curl -x http://127.0.0.1:7890 https://ipinfo.io # 用代理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

实战案例:

# 下载并执行脚本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

# 安装 Vim 插件管理器
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
  https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

# 测试 API 响应时间
curl -w "time_total: %{time_total}s\n" -o /dev/null -s https://example.com
1
2
3
4
5
6
7
8
9

# wget

非交互式下载工具

常用选项:

选项 说明
-O <file> 指定文件名
-P <dir> 指定目录
-c 断点续传
-b 后台下载
-q 静默模式
-r 递归下载
--limit-rate 限速

示例:

# 基本下载
wget https://example.com/file.zip

# 断点续传
wget -c https://example.com/largefile.zip

# 后台下载
wget -b https://example.com/file.zip

# 限速下载(200KB/s)
wget --limit-rate=200k https://example.com/file.zip

# 递归下载网站
wget -r -np -k -p http://example.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14

curl vs wget

  • API 测试、单文件下载:用 curl
  • 镜像网站、批量下载:用 wget

# 7.5 端口扫描

# nc (netcat)

网络瑞士军刀

# 测试端口
nc -zv example.com 80

# 扫描端口范围
nc -zv example.com 20-100

# 监听端口(服务端)
nc -l 5000

# 连接服务器(客户端)
nc example.com 5000

# 文件传输
nc -l 5000 > received.txt    # 接收端
nc server_ip 5000 < file.txt # 发送端
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 7.6 代理工具

# proxychains-ng

强制程序通过代理

安装:

brew install proxychains-ng     # macOS
sudo apt install proxychains4   # Ubuntu
1
2

配置 (/etc/proxychains.conf):

dynamic_chain
proxy_dns

[ProxyList]
socks5  127.0.0.1 1080
http    127.0.0.1 8080
1
2
3
4
5
6

使用:

proxychains4 curl https://ipinfo.io
proxychains4 git clone https://github.com/user/repo.git
1
2

# 7.7 防火墙

# ufw (Ubuntu/Debian)

# 启用/禁用
sudo ufw enable
sudo ufw disable

# 查看状态
sudo ufw status
sudo ufw status verbose

# 查看带编号的列表 & 删除
sudo ufw status numbered
sudo ufw delete <id>

# 允许端口
sudo ufw allow 22/tcp
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

# 拒绝端口
sudo ufw deny 23/tcp

# 删除规则
sudo ufw delete allow 80/tcp

# 允许特定 IP
sudo ufw allow from 192.168.1.100

# 限制连接速率(防暴力破解)
sudo ufw limit ssh

# 设置默认策略
sudo ufw default deny incoming
sudo ufw default allow outgoing
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

# iptables (Linux)

# 查看规则
sudo iptables -L -v -n

# 允许端口
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 拒绝 IP
sudo iptables -A INPUT -s 192.168.1.100 -j DROP

# 清空规则
sudo iptables -F

# 保存规则
# Bash:pipefail 检查导出端失败;重定向由当前 shell 执行,需 sudo tee 写受限路径。
# 操作前另外保存当前规则到用户可写备份文件,确认 /etc/iptables 目录存在。
(set -o pipefail; sudo iptables-save | sudo tee /etc/iptables/rules.v4 >/dev/null)

# 恢复规则
sudo iptables-restore < /etc/iptables/rules.v4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

防火墙选择

  • 新手:用 ufw(简单易用)
  • 高级:用 iptables(功能强大)

# 7.8 网络工具速查

# DNS 缓存刷新(macOS)
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

# 查看 DNS 服务器
scutil --dns | grep 'nameserver'  # macOS
cat /etc/resolv.conf              # Linux

# 查看网络连接
netstat -an | grep ESTABLISHED
ss -tuln  # Linux;macOS 可用 lsof -nP -iTCP -sTCP:LISTEN
1
2
3
4
5
6
7
8
9
10
11

# 7.9 macOS 网络状态查看

一站式查看 Mac 当前网络情况

# IP 地址

# 查看本机局域网 IP(Wi-Fi)
ipconfig getifaddr en0

# 查看所有接口的 IP
ifconfig | grep "inet " | grep -v 127.0.0.1

# 查看公网 IP
curl -s ifconfig.me
curl -s ipinfo.io          # 含地理位置、运营商等详细信息
curl -s ip.sb              # 简洁输出
1
2
3
4
5
6
7
8
9
10

# Wi-Fi 信息

# 查看当前 Wi-Fi 连接详情(SSID、信号强度 RSSI、信道、速率等)
# 先查看本机 wdutil help;权限及字段可见性随版本、隐私授权而变
sudo wdutil info

# 历史方法:airport 在新版系统已弃用或不可用,不按固定大版本保证存在
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I

# 扫描附近 Wi-Fi 网络
# 不使用 sudo wdutil scan:本机帮助无 scan 子命令。
# 附近网络扫描可在“无线诊断”App 的窗口 → 扫描中查看(以本机 UI 为准)。
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s  # 旧版

# 查看 Wi-Fi 网络配置
networksetup -getinfo Wi-Fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 网络服务与接口

# 查看所有网络服务(按优先级排列)
networksetup -listnetworkserviceorder

# 查看网络接口状态摘要
scutil --nwi

# 查看路由表
netstat -rn

# 查看默认网关
route -n get default | grep gateway
1
2
3
4
5
6
7
8
9
10
11

# DNS 与代理

# 查看 DNS 配置
scutil --dns | grep 'nameserver'
networksetup -getdnsservers Wi-Fi

# 查看代理设置
scutil --proxy                           # scutil(System Configuration Utility)
networksetup -getwebproxy Wi-Fi          # HTTP 代理
networksetup -getsecurewebproxy Wi-Fi    # HTTPS 代理
networksetup -getsocksfirewallproxy Wi-Fi # SOCKS 代理
1
2
3
4
5
6
7
8
9

# 连接与流量监控

# 查看当前活跃连接
netstat -an | grep ESTABLISHED

# 查看所有 TCP 监听端口
lsof -nP -iTCP -sTCP:LISTEN

# 实时监控网络流量(macOS 内置,按 q 退出)
nettop

# 只看指定进程的网络流量
nettop -p 1234  # 先 pgrep -fl 查进程,选定单个 PID;不要把多行 PID 直接拼到 -p 后

# 查看网络接口流量统计
netstat -ib
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 网络质量测试

# 网络质量测试(macOS 12 Monterey+,类似 speedtest)
networkQuality
networkQuality -v              # 详细输出(含上下行带宽、RTT、RPM)
networkQuality -s              # 顺序测试上下行;与默认并发测试测量场景不同,不能一概称更准确
networkQuality -I en0          # 指定接口测试
1
2
3
4
5

# 防火墙状态

# 查看应用防火墙状态
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate

# 查看防火墙详细设置
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps
1
2
3
4
5

# 一键网络诊断脚本

#!/bin/bash
# mac_network_check.sh - macOS 网络状态快速诊断

echo "===== 网络接口 ====="
ifconfig | grep -E "^[a-z]|inet " | grep -v "127.0.0.1"

echo ""
echo "===== 局域网 IP ====="
ipconfig getifaddr "${NET_INTERFACE:-en0}" 2>/dev/null || echo "指定接口未取得 IPv4,不能据此判断 Wi-Fi 连接状态"

echo ""
echo "===== 公网 IP ====="
curl -s --connect-timeout 3 ifconfig.me || echo "无法获取公网 IP"

echo ""
echo "===== 默认网关 ====="
route -n get default 2>/dev/null | grep gateway

echo ""
echo "===== DNS 服务器 ====="
scutil --dns | grep 'nameserver' | head -5

echo ""
echo "===== 网络连通性 ====="
# macOS -W 单位毫秒;Linux 常见实现按秒,不能直接复制同一数值。
ping -c 2 -W 2000 8.8.8.8 > /dev/null 2>&1 && echo "本次 ICMP 探测成功" || echo "本次 ICMP 探测失败;继续检查 DNS、TCP 和 HTTP"

echo ""
echo "===== 活跃连接数 ====="
netstat -an | grep ESTABLISHED | wc -l | tr -d ' '

echo ""
echo "===== 监听端口 ====="
lsof -nP -iTCP -sTCP:LISTEN 2>/dev/null | awk 'NR>1 {print $1, $9}' | sort -u
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 分层排查与平台边界

层次 macOS Linux 结果能说明什么
接口 networksetup -listallhardwareports、ifconfig ip addr、ip link 先确认实际接口,en0/en1、eth0/wlan0 均仅为示例
路由 route -n get default ip route、ip route get 目标IP 默认路由存在不等于目的服务可访问
DNS scutil --dns、dscacheutil -q host -a name example.com;另用 dig 系统解析器查询与 dig 对照 将系统解析和直接 DNS 查询分开验证
ICMP ping -c 2 -W 2000 目标IP 常见 iputils:ping -c 2 -W 2 目标IP 不响应可能是策略禁 ICMP,不能单凭一次失败判定断网
TCP nc -zv example.com 443 nc -zv example.com 443(实现参数需核对) 建连成功不代表 TLS/HTTP 正常
HTTP/TLS curl -v --connect-timeout 5 --max-time 15 https://example.com/ 同左 看证书、状态码、响应;检查系统与程序各自代理设置

示例中的公网服务和私网地址是说明用途,按实际受控目标替换;只读诊断与修改配置分开运行。iptables/ufw 更改需保留现有规则与远程管理连接的恢复途径;sudo 不会提升右侧 shell 重定向权限。保存规则前可在 Bash 中执行 sudo iptables-save > "$HOME/iptables-before.rules" 并检查退出码;恢复时同样区分读取权限和命令权限。不要盲目运行“清空规则”作为排错步骤。

平台依据以本机 man ping、man netstat、man traceroute、man networksetup、wdutil help 为准;Linux 参数参考 iproute2 项目 (opens new window)、iputils ping (opens new window)。

#Shell#macOS#Linux#network#guide
上次更新: 2026/10/26, 22:32:55
Tailscale 入门:让自己的设备跨网络互联
nvim

← Tailscale 入门:让自己的设备跨网络互联 nvim→

最近更新
01
Shell 错误处理、调试与资源清理
10-26
02
Shell 执行模型与环境加载
10-26
03
diff 与 patch:比较文件、目录和处理补丁
10-26
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式