第7周:网络工具与调试强化
目标:熟练使用网络诊断工具,能够在复杂网络环境中定位问题。
1. tcpdump 深度使用
1.1 过滤表达式语法
1 | # 基本语法:primitive [and/or] primitive ... |
1.2 常用命令
1 | # 实时抓包并显示 |
1.3 tcpdump + Wireshark 联动
1 | # 远程抓包(ssh 到服务器) |
2. ss 命令
2.1 基本用法
1 | # 显示所有 TCP socket |
2.2 ss 输出解读
1 | $ ss -tlni |
2.3 TCP 详细信息
1 | # 显示 TCP 内部状态(需要 root) |
3. 网络性能测试
3.1 iperf3 带宽测试
1 | # 服务端 |
3.2 ping / mtr
1 | # 基本 ping |
3.3 netcat 网络调试
1 | # TCP 测试 |
4. 高级诊断工具
4.1 perf(性能分析)
1 | # CPU 性能分析 |
4.2 strace(系统调用追踪)
1 | # 跟踪进程的所有系统调用 |
4.3 bpftrace / eBPF
1 | # 跟踪 TCP 连接事件(需要 root) |
5. 压测工具对比
| 工具 | 特点 | 适用场景 |
|---|---|---|
ab |
简单,Apache 自带 | 快速压测 |
wrk |
多线程,Lua 脚本 | 定制化压测 |
hey |
Go 编写,简单 | 类似 ab 但更快 |
JMeter |
Java GUI,功能丰富 | 复杂场景 |
Vegeta |
Go 编写,CI 友好 | 自动化测试 |
k6 |
JS 脚本 | 开发人员友好 |
wrk 压测脚本示例
1 | -- request.lua |
1 | wrk -t8 -c1000 -d30s -s request.lua http://localhost:8080/ |
6. 问题排查流程图
1 | 网络问题排查流程: |
7. 防火墙基础
1 | # iptables |
8. 常用脚本
8.1 监控 TCP 连接数
1 |
|
8.2 快速压力测试
1 |
|
8.3 网络带宽测试
1 |
|
- 本文作者: CoderSong
- 本文链接: https://jack-song-gif.github.io/2026/07/24/第7周:网络工具与调试强化/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!