53 lines
965 B
Markdown
53 lines
965 B
Markdown
1. **修改QueryLog结构体**:
|
||
|
||
* 在`dns/server.go`中的`QueryLog`结构体添加`ResponseCode`字段
|
||
|
||
2. **修改addQueryLog函数**:
|
||
|
||
* 在`dns/server.go`中的`addQueryLog`函数添加`responseCode`参数
|
||
|
||
* 将响应代码记录到QueryLog结构体中
|
||
|
||
3. **修改DNS请求处理逻辑**:
|
||
|
||
* 在`handleDNSRequest`函数中,获取实际的响应代码
|
||
|
||
* 将响应代码传递给`addQueryLog`函数
|
||
|
||
4. **修改前端模板**:
|
||
|
||
* 在`static/js/logs.js`中,将响应代码的硬编码值"无"替换为从日志数据中获取的实际响应代码
|
||
|
||
* 添加响应代码映射,将数字响应代码转换为可读的字符串
|
||
|
||
5. **编译和测试**:
|
||
|
||
* 重新编译项目
|
||
|
||
* 测试DNS查询详情中响应代码是否正确显示
|
||
|
||
**DNS响应代码映射**:
|
||
|
||
* 0: NOERROR
|
||
|
||
* 1: FORMERR
|
||
|
||
* 2: SERVFAIL
|
||
|
||
* 3: NXDOMAIN
|
||
|
||
* 4: NOTIMP
|
||
|
||
* 5: REFUSED
|
||
|
||
* 6: YXDOMAIN
|
||
|
||
* 7: YXRRSET
|
||
|
||
* 8: NXRRSET
|
||
|
||
* 9: NOTAUTH
|
||
|
||
* 10: NOTZONE
|
||
|