补全:解析 DNS 查询里的名字

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

本节的 DNS 小工具:

encode_name("www.example.com")   b"\x03www\x07example\x03com\x00"(每段前面一个长度字节,末尾 0)
build_query(qid, name)           12 字节头(id、标志 0x0100、问题数 1、其余 0)+ 名字 + 类型 A(1) + 类 IN(1)

补全 decode_name(buf, pos):从 buf 的 pos 位置起读「长度 + 段」直到 0,交回 (点连起来的名字, 名字之后的位置)。用 build_query 的包验证。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论