问题描述
可能的重复:
如何在 C/C++ 中构建自定义的简单 DNS 服务器
正如标题所说,我需要在 C 中构建一个简单的 dns 解析器...
As the title says I need to build a simple dns resolver in C...
不是在 C++ 中,我在互联网上查找了一些帮助我入门的教程,但主要是找到了 C++.
Not in C++, I have looked on internet for some tutorials to help me get going but mostly find C++.
想知道是否有人知道让我入门的教程,或者可以给我一些有关如何在 C 中构建 DNS 请求标头的提示...
Wondering whether anyone knows of a tutorial to get me started or can give me a couple of tips on how to build my DNS request header in C...
任何帮助将不胜感激.
推荐答案
我用 C 编写了一个简单的 DNS 解析器.
I have written a simple DNS resolver in C.
您可以通过以下三种方式之一进行处理:
You can go about this one of three ways:
- 学习 BSD 袜子
- 使用 DSNQuery
- 使用 gethostbyname
This example uses BSD sockets:https://web.archive.org/web/20091206003443/https://www.binarytides.com/blog/dns-query-code-in-c-with-winsock-and-linux-sockets/
函数 DSNQuery() 在 Windows 中可用.对于您正在构建的内容而言,这可能是矫枉过正.它返回 DNS 服务器返回的所有资源记录.此示例使用函数 DSNQuery 来解析主机名:http://support.microsoft.com/kb/831226
The function DSNQuery() is available in windows. It might be overkill for what you're building. It returns all of the resource records returned by the DNS server.This example uses the function DSNQuery to resolve a host name:http://support.microsoft.com/kb/831226
这个例子使用了 gethostbyname:http://paulschreiber.com/blog/2005/10/28/simple-gethostbyname-example/
This example uses gethostbyname:http://paulschreiber.com/blog/2005/10/28/simple-gethostbyname-example/
我强烈建议使用诸如 DNSQuery() 或 gethostbyname() 之类的 API
I'd strongly recommend using an API like DNSQuery() or gethostbyname()
这篇关于需要在 C 中构建简单的 DNS 解析器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!