测验:按层收窄与读包
我收到了Connection refused。这个事实已经证明了什么?
- 已经通过了路由、安全组、NAT等路由上的所有网关。
- 目标端口上正在运行服务。
- DNS解析失败
- 防火墙正在阻止该端口。
在应用程序日志中,设置了“超时30秒”,但实际失败花了127秒。这是什么意思?
- 服务器处理了127秒的请求,最终返回失败。
- 由于 DNS 重试重叠,仅解析名称就花费了近 100 秒。
- 内核的 SYN 重传已全部耗尽,并且未应用设置的超时。
- 由于MTU不匹配,重传增加,整体响应相应推迟。
在 tcpdump 输出中,[S]的相同序列以 1、2 和 4 秒的间隔重复,并且没有响应行。诊断是什么?
- 对方用RST拒绝了
- TLS 握手失败
- 申请延迟接受
- SYN 正在悄悄地被扔到某个地方 (DROP)
使用tcpdump -nn中的-nn的实际原因是什么?
- 通过不解析名称和端口来防止捕获期间出现新的 DNS 查询。
- 缩短的输出字符串可显着减小捕获文件的大小
- 具有 IPv6 地址的数据包完全从输出中排除。
- 减少内核捕获缓冲区溢出时丢弃的数据包
当我在防火墙中“出于安全原因阻止所有 ICMP”时,症状是只有大型响应才会停止。原因是什么?
- 由于 ping 被阻止,健康检查失败。
- ICMP 重定向被阻止并且路由被破坏
- 用于发现路径 MTU 的 ICMP 类型 3 代码 4 被阻止,一个大数据包落入黑洞。
- ARP 被阻止
当 tcpdump 在容器中不起作用时,标准解决方法是什么?
- 通过以特权身份重新启动正在运行的容器来提升权限。
- 将诊断容器附加到同一网络命名空间或从节点捕获 veth。
- 将数据包捕获功能直接重新分发到应用程序代码中。
- 通过使用主机防火墙日志而不是捕获结果来进行估计。