模块介绍
传输层与应用层,是用户业务体验的 “最后一公里”。很多时候,ping 公网 IP 正常、路由可达,但用户反馈 “网站打不开、应用登不上、语音视频卡顿”,这类问题大多源于传输层 TCP/UDP 连接异常,或应用层服务配置错误。本模块将系统讲解传输层端口、TCP 会话、UDP 丢包,以及 DNS、HTTP、应用服务的典型故障排查方法,帮你解决 “网络通但业务不通” 的高频问题。
一、传输层故障排查
传输层负责端到端的数据传输,核心是 TCP/UDP 协议与端口通信,故障多表现为 “端口不通、连接被重置、长连接异常断开”。
1. 典型故障与排查方法
表格
| 故障类型 | 典型现象 | 排查步骤 | 工具 / 命令 |
|---|---|---|---|
| TCP 端口不通 | ping 服务器 IP 正常,但telnet/nc测试端口超时,无法建立连接 | 1. 检查服务器服务状态,确认目标端口已监听;2. 排查服务器本地防火墙 / 安全组,是否开放目标端口;3. 检查网络设备 ACL / 防火墙,确认无端口拦截规则 | telnet/nc、netstat/ss、iptables |
| TCP 连接被重置 | 客户端发送 SYN 报文后,服务器返回 RST,连接直接被拒绝 | 1. 抓包分析 TCP 标志位,确认 RST 报文来源;2. 检查服务器是否配置了 TCP 重置策略,或服务拒绝客户端连接;3. 排查防火墙会话表,是否因会话限制主动断开连接 | tcpdump/Wireshark、iptables会话状态 |
| 长连接被异常断开 | TCP 连接建立后,无流量一段时间被强制断开 | 1. 检查防火墙 / 路由器的会话超时时间,调整 TCP 保活参数;2. 配置应用层心跳包,定期发送数据维持会话;3. 抓包分析 FIN/RST 报文,定位断开原因与设备 | Wireshark、netstat查看连接状态 |
| UDP 丢包严重 | ping 测试正常,但语音视频卡顿、游戏延迟高 | 1. 用iperf测试 UDP 丢包率,定位丢包节点;2. 检查网络带宽是否拥塞,QoS 配置是否合理;3. 抓包分析 UDP 报文,确认是否被防火墙限流或丢弃 | iperf、Wireshark |
二、应用层故障排查
应用层直接面向用户业务,DNS 解析、HTTP/HTTPS 服务、应用配置等任何一环出错,都会导致业务无法访问,故障排查需结合 “网络连通性 + 服务状态 + 应用日志” 三方验证。
1. 典型故障与排查方法
表格
| 故障类型 | 典型现象 | 排查步骤 | 工具 / 命令 |
|---|---|---|---|
| DNS 解析失败 | ping 公网 IP 正常,但域名无法解析,提示 “无法访问此网站” | 1. 检查主机 DNS 配置,确认 DNS 服务器 IP 正确;2. 用nslookup/dig测试域名解析,确认 A/CNAME 记录正常;3. 检查本地 hosts 文件,是否存在错误映射;4. 排查防火墙是否拦截 DNS(UDP/53)端口 | nslookup/dig、ping域名 |
| HTTP/HTTPS 访问异常 | 能 ping 通服务器,但网页打不开,出现 403/500 / 证书错误 | 1. 用curl测试 HTTP 响应,查看状态码与错误信息;2. 检查 Web 服务是否启动,配置文件无语法错误;3. HTTPS 场景:验证证书有效期、域名匹配、TLS 版本兼容;4. 查看服务器应用日志,定位错误根因 | curl、浏览器开发者工具、journalctl |
| FTP/SFTP 服务访问失败 | 能 ping 通服务器,但无法登录或传输文件 | 1. 检查服务状态,确认 21/22 端口正常监听;2. 验证用户权限,FTP 用户目录读写配置无误;3. 被动模式下,确认防火墙开放被动端口范围;4. 查看服务日志,排查认证错误或权限拒绝 | FTP/SFTP 客户端、vsftpd日志 |
| 应用服务无响应 | 端口监听正常,但请求无返回结果 | 1. 查看应用进程状态,确认服务未崩溃;2. 检查应用日志,排查报错、资源耗尽或依赖服务异常;3. 验证应用配置文件,如数据库连接地址、端口是否正确;4. 本地curl测试,排除网络问题后定位应用层故障 | systemctl status、应用日志、curl本地测试 |
三、实战场景排查
场景 1:内网主机 ping 公网 IP 正常,但网页打不开
- DNS 排查:用
nslookup测试目标域名,若解析失败,更换公共 DNS(如 114.114.114.114)或检查主机 DNS 配置。 - 端口连通性验证:用
nc -zv 域名 80/443测试 HTTP/HTTPS 端口,若超时,排查防火墙 / 安全组是否开放。 - 代理配置检查:确认主机未配置无效 HTTP 代理,避免请求被错误转发。
- HTTPS 专项排查:若 HTTPS 无法访问,检查证书是否过期、域名是否匹配,或用浏览器开发者工具查看 TLS 握手错误。
场景 2:服务器端口监听正常,但无法访问 Web 服务
- 服务状态验证:执行
systemctl status nginx,确认 Web 服务正常运行。 - 本地访问测试:在服务器本地执行
curl 127.0.0.1:80,若返回错误,排查服务配置文件(如站点根目录、权限配置)。 - 防火墙规则检查:查看
iptables -L,确认 INPUT 链允许 80/443 端口,无拒绝规则。 - 应用日志分析:查看
nginx error.log,定位文件权限错误、配置语法错误或后端服务连接失败问题。
四、排障避坑指南
- ❌ 只靠
ping判断网络通断:ICMP ping 正常不代表业务端口可达,TCP 端口被防火墙拦截会导致 “ping 通但服务不通”。 - ❌ 忽略 UDP 丢包:
ping测试无法体现 UDP 丢包,需用iperf或抓包工具验证语音视频、游戏等 UDP 业务。 - ❌ HTTPS 故障只排查网络:多数 HTTPS 问题源于证书过期、域名不匹配或 TLS 版本不兼容,而非网络不通。
- ❌ 跳过应用日志排查:服务无响应时,先查看应用日志,比抓包更快速定位数据库连接失败、配置错误等问题。
模块总结与学习建议
本模块我们系统掌握了传输层与应用层的故障排查方法,解决了 “网络通但业务不通” 的高频问题:
- 传输层 TCP/UDP 端口、连接异常的排查方法,学会用
telnet/nc、抓包工具定位端口和会话问题。 - 应用层 DNS、HTTP/HTTPS、服务配置的典型故障排查,掌握
curl、nslookup等工具的使用。 - 实战场景中,从 DNS 解析到应用日志的完整排查流程,提升业务故障处理能力。
学习建议:在虚拟机中搭建 Web/FTP 服务,人为制造端口未监听、证书错误、DNS 解析失败等场景,练习用curl、dig、抓包工具排查故障,强化业务排障思维。
网站卡片精简版简介
「传输 / 应用层故障排查」:解决 “网络通但业务不通” 的高频问题,系统讲解 TCP/UDP 端口、DNS、HTTP/HTTPS、应用服务的典型故障排查方法,掌握端口测试、抓包分析、应用日志排查等实战技巧。
No responses yet