我有一个linux服务器有一个ad-hoc无线网络供客户端连接。一旦连接,我希望用户始终被重定向到它自己的Web服务器,无论他们输入什么URL。大的解决方案是设置一个完整的DNS服务器(使用BIND或等效服务器),但这看起来有点过分。我只需要一个简单的程序来监听任何DNS请求,并始终使用相同的IP地址进行响应。
我环顾四周,但似乎找不到一个。它最好用C或Perl编写,因为我真的不想安装任何其他脚本语言。
答案 0 :(得分:10)
使用Net::DNS::Nameserver并编写自己的回复处理程序。
对于C,请查看:
答案 1 :(得分:7)
我建议使用dnsmasq。它比您绝对需要的功能更全面,但它编写得非常好,体积小,易于安装,您需要提供的唯一配置是--address='/#/1.2.3.4'
告诉它回答所有问题(不要不符合其他规则)与地址1.2.3.4。 dnsmasq是众所周知的,并且可能是比Net :: DNS :: Nameserver更强大的服务器。
答案 2 :(得分:2)
我在逆转恶意软件时使用了fakedns.py。对你的情况来说可能太有限了。
答案 3 :(得分:2)
正如我在其他相关问题中的回答,我用C ++编写了一个基本的DNS服务器,用于BSD许可下的求职面试。
我觉得代码很干净,虽然我没有进行单元测试:-( 我用dig测试了它,花了大约一周的时间来理解DNS协议+实现+文档。
如果有人想扩展它,我想这不会很困难。 因为我认为它只支持反向查询,正如练习中所要求的那样。
代码可以在这里找到: http://code.google.com/p/dns-server/