一个简单的 DNS 解析器
一个使用 Bloodshed C++ 编译,并使用 Winsock 1.1 API 的简单 DNS 解析器。
引言
这是我的第一个 socks 程序。实际上,这是我完成的第一个程序,因为我想在将其添加到我的主项目中之前测试它的功能。它是一个使用 Winsock API (v1.1) 的简单 DNS 解析器。该程序是一个控制台应用程序,它接受主机名或 IP 地址参数,这些参数将使用 gethostbyname
和/或 gethostbyaddress
函数进行解析。
我真的很难在网上找到使用 winsock API 的 DNS 查询代码,所以我决定自己尝试编写一个。我已经实际测试了这个程序,它能正常工作。当然,你需要互联网连接才能查询网络外的 DNS,如果查询的 IP/主机已失效或没有反向 DNS,它只会显示 DNS 查找失败!
源代码包含注释,对于中级甚至初学者 Winsock 编程人员来说,应该比较容易理解。它主要关注 hostent
结构,因为我之前在实现它时遇到了困难。它在 Dev-C++ 中编译,你可以从 http://www.bloodshed.net/ 下载,使用其默认库。我还为有关如何编译它的信息在源代码中添加了一些注释。
欢迎评论…