Linux 高效网络调试命令
除了 netcat
(nc
),网络调试还涉及多种常用命令和工具,涵盖连通性测试、路由追踪、端口扫描、数据包分析等。以下是常用的网络调试命令和工具:
1. 基础网络连通性测试
(1) ping
- 功能:测试主机之间的连通性,检测网络延迟和丢包情况。
- 示例:
ping 192.168.1.1
- 扩展用法:
ping -c 4 8.8.8.8
(Linux,发送 4 个包)ping -t 192.168.1.1
(Windows,持续 ping)ping -s 1000 192.168.1.1
(设置数据包大小)
(2) traceroute
/ tracert
- 功能:追踪数据包经过的路由路径,定位网络延迟或断连的节点。
- 示例:
traceroute google.com # Linux/macOS tracert google.com # Windows
- 适用场景:
- 跨网络段排查延迟问题。
- 检查 ISP 路由是否异常。
2. 网络连接与端口分析
(3) netstat
- 功能:显示当前网络连接、监听端口、路由表等信息。
- 常用参数:
netstat -tuln
(查看 TCP/UDP 监听端口)netstat -anp | grep 80
(查看占用 80 端口的进程)netstat -r
(显示路由表)
- 适用场景:
- 检查端口占用情况。
- 排查异常连接(如恶意后门)。
(4) ss
(替代 netstat
)
- 功能:更高效的 socket 统计工具(Linux)。
- 示例:
ss -tulnp # 查看监听端口 ss -s # 显示统计信息
(5) lsof
- 功能:列出打开的文件和网络连接(Linux/macOS)。
- 示例:
lsof -i :80 # 查看 80 端口的进程 lsof -u root # 查看 root 用户的网络连接
3. 数据包捕获与分析
(6) tcpdump
- 功能:命令行抓包工具,支持过滤和分析网络流量。
- 示例:
tcpdump -i eth0 port 80 # 抓取 80 端口流量 tcpdump -i any host 8.8.8.8 # 抓取与 8.8.8.8 的通信 tcpdump -w capture.pcap # 保存为 pcap 文件
- 适用场景:
- 分析 HTTP、DNS、TCP 握手问题。
- 排查异常流量(如 DDoS)。
(7) Wireshark
(GUI 版 tcpdump
)
- 功能:图形化数据包分析工具,支持深度协议解析。
- 特点:
- 支持实时抓包和离线分析。
- 可过滤特定协议(如
http
、dns
)。 - 适用于复杂网络问题排查。
4. DNS 与 HTTP 调试
(8) nslookup
/ dig
- 功能:查询 DNS 记录,检查域名解析问题。
- 示例:
nslookup google.com dig google.com A +short
(9) curl
/ wget
- 功能:发送 HTTP 请求,测试 Web 服务。
- 示例:
curl -v http://example.com # 显示详细请求/响应 wget http