VirtualBox中Kali Linux运行DNSChef时出现127.0.0.1#53连接拒绝错误的求助
Hey, let's troubleshoot this DNSChef connection refused issue step by step— I've dealt with similar quirks with Kali's default DNS setup before, so let's break it down:
1. 先确认DNSChef是否正常运行(且拥有正确权限)
"连接拒绝"的错误通常意味着127.0.0.1:53端口没有服务在监听。由于53是特权端口,你必须用sudo启动DNSChef才能绑定这个端口。
首先检查哪个服务占用了53端口:
sudo ss -tulpn | grep :53
如果输出里出现systemd-resolved或者其他DNS服务,那它大概率是阻碍DNSChef绑定端口的原因。
之后确保用root权限正确启动DNSChef:
sudo dnschef --interface 127.0.0.1 --port 53
保持这个终端窗口打开,让DNSChef在后台运行,再进行后续测试。
2. 停止冲突的DNS服务(比如systemd-resolved)
Kali默认使用systemd-resolved,它经常会抢占53端口。我们先停止并禁用它来释放端口:
sudo systemctl stop systemd-resolved sudo systemctl disable systemd-resolved
接下来修复/etc/resolv.conf文件——它大概率是指向systemd-resolved配置的符号链接。删除这个链接并创建一个全新的本地配置:
sudo rm /etc/resolv.conf sudo echo "nameserver 127.0.0.1" > /etc/resolv.conf
这一步能确保系统将DNS查询发送到本地运行的DNSChef实例。
3. 重新测试DNS查询
现在打开另一个终端,再次运行你最初的命令:
host -t A thesprawl.org
如果DNSChef运行正常,你应该能看到预期的DNS响应(如果设置了欺骗规则就是篡改后的结果),且不会再出现"连接拒绝"的错误提示。
4. 检查DNSChef的自定义配置
如果你使用了自定义欺骗规则(比如--file参数指定域名列表),要确保文件路径正确,且DNSChef启动时没有抛出错误。有时候配置里的拼写错误会导致它静默启动失败。
如果以上步骤都没用,可以尝试重启Kali虚拟机清除残留的端口绑定,然后再重复上述操作。
备注:内容来源于stack exchange,提问作者PeterSteiner

