﻿常见问题

* 本文档为常见问题的处理方法，当工具无法正常使用时可先参考本文档寻找解决方法
* 错误报告的详细情况，参见 FAQ(..).txt


-------------------------------------------------------------------------------


* 调试模式
  * 当有任何怀疑程序工作不正常或者出错的情况，可绕过服务控制程序直接使用程序的调试模式进行调试，所有错误都将直接输出到屏幕上
  * 终止所有正在运行的实例，确保同一时间只能有一个程序正在运行中
  * FreeBSD/Linux
    * 在终端中使用 su 命令获取 root 权限
    * 在终端中使用 cd 命令移动到程序所在目录
    * 在终端中使用 ./Pcap_DNSProxy --disable-daemon 即可以以调试模式运行
  * macOS
    * 在终端中使用 sudo -i 命令获取 root 权限
    * 在终端中使用 cd 命令移动到程序所在目录
    * 在终端中使用 ./Pcap_DNSProxy 即可以以调试模式运行


-------------------------------------------------------------------------------


运行结果分析：

* 如果出现以下结果，则说明服务已经运行成功但远程 DNS 服务器没有回应，请检查是否有错误报告生成
  * 请务必设置一个正确的、有效的、可以使用的境外 DNS 服务器
  * 出现这种情况可能为网络问题。部分地区 ISP/运营商对 UDP 协议转发丢包率比较高，可尝试切换到 TCP 协议模式（参见 ReadMe 文档中 配置文件详细参数说明 中 Base 基本区域 的 Operation Mode 一节）或者多尝试请求几次
  * 尝试重启服务（参见 ReadMe 文档中的 重启服务）

    >dig www.google.com

    ; <<>> DiG 9.9.5-9-Debian <<>> www.google.com
    ; (1 server found)
    ;; global options: +cmd
    ;; connection timed out; no servers could be reached

* 错误由其它 DNS 服务器响应，留意 "SERVER: ..#53(..)" 一行必须为 ::1（IPv6，IPv4 下为 127.0.0.1）
  * 请检查系统的网络设置，或者也可能是服务没有运行成功或者服务已经运行成功但远程 DNS 服务器没有回应

    >dig www.google.com
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ..
    ;; flags: ..; QUERY: .., ANSWER: .., AUTHORITY: .., ADDITIONAL: ..

    ;; QUESTION SECTION:
    ;www.google.com.            IN    A

    ;; ANSWER SECTION:
    ..

    ;; Query time: .. msec
    ;; SERVER: ..#53(..)
    ;; WHEN: ..
    ;; MSG SIZE  rcvd: ..
