入门

第 7

网络不靠猜:一层一层诊断

当网络层可以分别观察时,问题就不再神秘。

一次网页请求由多个问题组成

DNS、服务/端口、TLS、HTTP 都必须分别成立。不要只看浏览器最后的一条错误。

名称不是地址

dns 检查名称解析,ip 检查地址或网络。DNS 成功不代表目标上一定有 Web 服务。

install ping dns ip tcp curl cert net geo
dns example.com -a -aaaa
ip 192.0.2.10/24
ip server

lil-terminal 的 `ping` 是 HTTP 检查

它不同于传统 ICMP ping:lil-terminal 会报告 HTTP 状态、最终 URL、耗时和解析到的地址。

ping https://example.com -t
ping example.com -i

地址还需要正确的服务与信任

tcp ... -tls 测服务,cert -h 看证书。-k 只应作为诊断例外。

tcp example.com 443 -tls -i
cert -h example.com
tcp example.com 80

HTTP 头经常直接解释问题

curl -I/-i 让状态、重定向和协议元数据可见。

curl https://example.com -I
curl https://example.com -i -t 10
curl https://example.com -o network-example.html

本地接口与 GeoIP 只是上下文

net 看可见接口,geo 可提供近似网络/位置上下文。IP 位置不是个人身份。

net -l
net -4
geo example.com -c

保存真正有效的诊断顺序

把同一套只读检查写成脚本,换一台主机也能按相同方法比较结果。

把它保存成脚本

network-check.lilexample.com 执行五项只读检查。

#lil
@install ping dns tcp curl cert
ping https://example.com -t
dns example.com -a -aaaa
tcp example.com 443 -tls
curl https://example.com -I
cert -h example.com