💡
原文中文,约8400字,阅读约需20分钟。
📝
内容提要
在分析 tcpdump 抓包卡顿时,发现是 DNS 解析问题。tcpdump 对 IP 进行 DNS 解析时无响应,导致超时。通过修改 /etc/hosts 和 systemd-resolved 配置解决卡顿。使用 -n 参数可关闭 DNS 反查。类似问题常见于 DNS 解析超时,需掌握调试方法。Java 程序中也可能因 DNS 解析卡顿,可用 jstack 查看堆栈分析。
🎯
关键要点
- tcpdump 抓包卡顿是由于 DNS 解析问题导致的。
- tcpdump 在解析 IP 时向 127.0.0.53 发送请求,长时间无响应导致超时。
- 通过修改 /etc/hosts 文件可以避免对特定 IP 的 DNS 解析。
- 修改 systemd-resolved 配置,禁用 DNSStubListener 可以解决 tcpdump 卡顿问题。
- 使用 tcpdump 的 -n 参数可以关闭 DNS 反查功能。
- 网络操作超时是导致应用卡顿的常见原因,需掌握调试方法。
- Java 程序中 DNS 解析卡顿可以通过 jstack 进行堆栈分析。
- GSSAPIAuthentication 可能导致 SSH 连接时的网络卡顿。
- 类似的 DNS 解析卡顿问题在生产环境中也很常见,需注意调试。
➡️