全栈网络故障排查手册 - DNS & Networking

全栈网络故障排查手册

收藏 7.3k
下载 3.6k
版本 1.0.0

系统网络诊断工具集,覆盖 DNS 解析、端口连通性测试、防火墙规则排查、HTTP 请求调试、代理配置及证书问题排查,适用于 Linux/macOS/Windows 三端运维场景。

基本信息

  • 技能名称?DNS & Networking
  • 中文名称?全栈网络故障排查手册
  • 作者?gitgoodordietrying
  • 分类?专业技能
  • 版本?1.0.0
  • 标签?dns, networking, troubleshooting, curl, openssl, firewall, proxy, tls, connectivity, debugging, devops, sre

使用方法

使用说明
核心用法
dns-networking 是一套面向开发者和运维人员的综合网络诊断技能,整合 dig/nslookup、netcat/curl、iptables/ufw、openssl 等标准工具,覆盖从 DNS 解析到底层 TLS 握手的完整排查链条。
DNS 调试 :通过 dig +short 、 nslookup 、 host 快速查询 A/MX/TXT/NS 等记录,支持指定 DNS 服务器(如 @8.8.8.8)绕过本地缓存,使用 +trace 追踪完整解析路径。本地 DNS 问题可通过 /etc/resolv.conf 和 /etc/hosts 排查,后者支持零延迟的域名重定向,常用于开发环境和迁移测试。
连通性测试 : nc -zv 为最可靠的端口探测方式,bash 内置 /dev/tcp/host/port 可在无 nc 时应急使用。 mtr 优于传统 traceroute,可持续监控并统计每跳丢包率。 ss -tlnp (Linux)或 lsof -i (macOS)用于确认本地服务监听状态。
HTTP 诊断 :curl 的 -v 参数可完整展示请求头、TLS 握手及重定向链; -w 格式化输出支持精准测量 DNS、连接、TLS、TTFB 等各阶段耗时。支持 --resolve 强制解析到指定 IP,绕过 DNS 进行灰度测试。
防火墙与代理 :涵盖 iptables、ufw、macOS socketfilterfw 的基础操作,以及 HTTP_PROXY/HTTPS_PROXY/NO_PROXY 环境变量配置。特别指出 Node.js、Python requests 等常见运行时 不自动识别 代理变量,需显式配置。
证书排查 :openssl s_client 系列命令用于验证证书链、检查过期时间、诊断 SNI 配置错误。
显著优点
工具链完整 :覆盖 DNS→TCP→TLS→HTTP 全层,单技能解决 90% 网络问题
跨平台兼容 :示例区分 Linux/macOS/Windows,标注替代命令
实战导向 :提供 /etc/hosts 迁移测试、多 DNS 服务器对比、curl 计时诊断等高频场景模板
零依赖应急 :bash /dev/tcp 技巧确保最小环境下仍可执行基础连通性测试
潜在缺点与局限
权限要求 :iptables、防火墙操作、DNS 缓存清理需 root/sudo 权限
工具差异 :Windows 原生缺乏 dig/mtr,需通过 WSL 或第三方工具补全
网络环境敏感 :企业内网可能阻断公共 DNS(8.8.8.8)或限制 ICMP,导致部分命令失效
代理复杂性 :各语言运行时代理行为不一致,需逐个确认(报告已提示此坑)
适合人群
后端/运维/SRE 工程师日常故障排查
云原生开发者调试容器网络、K8s 服务发现
全栈工程师定位「能 ping 通但 curl 失败」类诡异问题
安全工程师审计防火墙规则与证书配置
常规风险
| 风险场景 | 说明 | |---------|------| | 证书验证跳过 | -k/--insecure 用于调试自签名证书,生产环境禁用 | | DNS 缓存误清 | 刷新缓存可能影响其他应用短暂性能 | | 防火墙规则误配 | iptables 操作不当可能导致服务中断,建议先 iptables-save 备份 | | 代理凭据泄露 | HTTPS_PROXY 含明文密码时避免写入持久化配置文件 | | 信息泄露 | verbose curl/openssl 输出可能包含内网 IP、主机名,分享日志前需脱敏 |

标签

专业技能

💬 评论 (0)

发表评论

支持 Markdown

📭 还没有评论,快来抢沙发吧!