1. ICMP(默认)
推荐使用
测试方式: 发送 ICMP Echo Request(Ping),看目标是否回应。
优点
- 最快、最轻量
- 本地局域网稳定有效
- 不依赖任何服务端口
- CPU 占用低
缺点
- 如果对方屏蔽 Ping → 会误判掉线
适用场景
- 局域网设备存活检测(你的 OpenWrt)
- 最可靠的“设备在线”检测
你目前情况 强烈推荐 ICMP
2. TCP-conn(TCP Connect)
测试方式: 尝试对目标 建立 TCP 三次握手(SYN → SYN/ACK → ACK) 常用指定端口,例如:80 / 22 / 443。
优点
- 用来检测某个端口是否可连接
- 即使对方屏蔽 Ping,也能检测
缺点
- 如果目标端口没开 → 设备在线也被判离线
- 比 ICMP 重
适用场景
- 检查某个服务是否正常(Web、SSH、Clash、代理端口)
3. HTTP-GET
测试方式: 访问:
http://目标地址/path
得到 HTTP 200/301/302 等响应才算 Up。
优点
- 能检查 Web 服务是否正常
- 可以检测服务是否完全启动,而不是仅仅端口开启
缺点
- 需要目标运行 Web 服务
- 比 TCP-conn 更重(HTTP 协议层面)
适用场景
- 监测本地或公网 HTTP 服务存活
- 检测 OpenWrt LuCI 是否活着(理论上可用)
4. HTTPS-GET
原理同 HTTP-GET,但使用 TLS:
https://目标地址:443
优点
- 可检测 HTTPS 是否正常
缺点
- 需要目标提供 HTTPS 服务
- TLS 连接更重,速度比 HTTP 慢一点
适用场景
- 监控 HTTPS Web 站点是否正常工作
5. DNS
测试方式: 向目标设备发出一次 DNS 查询(例如 A 记录查询) 如果能成功返回 DNS 响应 → Up。
优点
- 可以检测 DNS 服务是否正常工作
- 比单纯 TCP connect 更具体(包含 DNS 的成功解析)
缺点
- 依赖目标 DNS 服务
- 不适用于非 DNS 服务器
适用场景
- 检测 DNS 服务器存活
- 检测内网 DNS(例如你的 OpenWrt)
6. Simple
这是 MikroTik 的“特殊模式”,等同于:
ICMP ping + 多种 fallback 机制(非常基础的存活检测)
优点
- 对不支持 Ping 的某些奇怪设备也可能检测到
缺点
- 不如 ICMP 精准
- 不常用
适用场景
- 特殊 IoT 或不明设备
- 一般不推荐使用
六种检测方式对比表
| 检测方式 | 检测内容 | 要求 | 重量级 | 使用难度 | 场景 |
|---|---|---|---|---|---|
| ICMP | 设备是否在线 | 回 Ping | ☆(最轻) | 易 | 局域网设备 |
| TCP-conn | 指定端口是否存活 | 端口开放 | ★★ | 易 | 检查服务端口 |
| HTTP-get | Web 是否正常 | HTTP 服务 | ★★★ | 中 | 检查网站 |
| HTTPS-get | HTTPS 正常性 | HTTPS 服务 | ★★★★ | 中 | SSL 网站 |
| DNS | DNS 服务是否工作 | DNS 服务 | ★★ | 中 | 监测 DNS |
| Simple | 模糊检测 | 不一定能测到 | ☆ | 易 | 不常用 |