CoAP 调试台 · 使用说明
CoAP(RFC7252)是受限 IoT 设备上和 MQTT 并列的 UDP 协议。两种用法:① 本站当服务端开个端点给设备打请求、按配置回;② 本站当客户端外拨设备的 CoAP 服务。每条报文都把 type/code/MID/token/options/payload 解析给你看。
① 本站当服务端
- 点开一个 CoAP 端点 → 拿到
coap://120.79.19.193:<port>(UDP)。 - 把设备指过来;右边实时看它发的 method / Uri-Path / options / payload。
- 左边配怎么回:回显(
2.05+原 payload)/ 固定回复(自定义响应码+内容)/ 只记(对 CON 回空 ACK)。 - 关闭端点停止接收并归还 UDP 端口。换端点会在新端点创建成功后关闭旧端点,创建失败保留原会话。
配置修改需点保存配置才生效。读取等待期间的新编辑会保留;读取失败可点重试读取配置,无需刷新。保存期间可继续编辑,提交成功时会提示当前是否仍有未保存修改。
coap-client -m get coap://120.79.19.193:<port>/test
coap-client -m post -e "hi" coap://120.79.19.193:<port>/echo # echo 模式回 hi② 本站当客户端(外拨)
- 选方法(GET/POST/PUT/DELETE),填目标 host:port(默认 5683)、Uri-Path、可选 Uri-Query / payload。
- 点外拨后立即记录目标、路径及内容,先显示发送待确认,实际 MID/token 尚未知;后端完成后更新实际请求与响应。超时或失败也保留输入、发送确认状态及错误。
- 等响应可设 100–10000 ms,默认 3000 ms。文本按 UTF-8 字节计数,Hex 支持空格或冒号分隔;超过 65536 字节在提交前提示。主机、端口、路径、查询或等待时长框按 Enter 外拨;payload 中 Ctrl / Cmd + Enter 外拨,普通 Enter 换行。
- 记录中可复制 payload / Hex 预览或复制记录 JSON。操作记录的载入这次输入恢复原目标、方法、路径、查询、格式、内容及等待时长,检查后再发送;每次外拨仍生成新的 MID/token,不重放旧报文。
能看到什么
网页保留最近 1000 条记录,可导出 JSON,包括当次操作输入及收发状态。服务端采集的 payload 预览最多 2048 字节;无法解析的 UDP 数据会以 INVALID / RAW UDP 记录实际长度和最多 2048 字节的 Hex,不编造协议字段,也不回复非法报文。外拨收到无效响应时同样保留原始预览。
监听工具栏显示日志获取中断及重试状态,恢复后清除;中断期间没有新记录不代表设备没有发送。「发起外拨,发送未确认」与「已写入 UDP 套接字」区分尝试和实际发送,后者不保证对端收到。服务端清空也删除会话的服务端记录;外拨清空仅影响网页,创建尚未完成的旧操作停止外拨,已提交请求的迟到结果不会回插。
日志工具栏支持搜索、复制当前可见日志和保存 TXT 预览;原 JSON 导出仍包含最近保留的历史。手机上可点查看调试记录 ↓直达结果,最新 ↓跳到最后一条匹配记录。
- type(CON/NON/ACK/RST)、code(GET / 2.05 Content / 4.04 Not Found …)、MID、token。
- options 逐项:Uri-Path、Uri-Query、Content-Format、Block1/Block2(分块传输,看 num/more/size)、Observe…
- payload(文本直显,二进制转 hex)。
边界 / 安全
- 服务端需在阿里云安全组放行端口段(UDP)设备才连得进;每会话独立端口、天然隔离。
- 客户端外拨只能连公网目标(内网/环回/云元数据被 SSRF 护栏拒);单请求、payload/超时/频率封顶。
- 明文 CoAP;CoAPS(CoAP over DTLS)暂不支持——标准库无 DTLS,后续视情况引入。
- 报文日志在内存(重启清)、保留最近若干条;会话 2 小时空闲回收。
想要 Observe 跟踪、Block 重组或 CoAPS?右下角「意见反馈」告诉我,或邮件 linsuwei_mic@outlook.com。