2009-11-30 104 views
2

可能重复:
How to Build a custom simple DNS server in C/C++需要建立简单的DNS解析器使用C

正如标题所说我需要建立在C简单的DNS解析...

不是在C++中,我曾在互联网上看过一些教程,以帮助我开始,但主要是找到C++。

想知道是否有人教程都知道让我开始或可以给我一对夫妇如何建立我的DNS请求头用C提示...

任何帮助将非常感激。

+0

是你在寻找关于DNS协议本身的信息,或者只是在C中的网络帮助? – 2009-11-30 14:03:58

+0

帮助它在C编码...我得到了关于DNS的信息,但它在C中的实际编码是卡在哪里... – Aran 2009-11-30 14:05:59

+0

这是功课吗?如果不是的话,你最好的办法是大量“剽窃”djbdns(或者只是使用它)。除了它不会是抄袭,因为djbdns的源代码是在公共领域。如果你运行的是UNIX的某个版本,则更容易,因为它可能未经修改就工作。 – 2009-11-30 14:11:19

回答

7

我在C.

写了一个简单的DNS解析器

你可以去三这一个办法:

  1. 学习BSD袜子
  2. 使用DSNQuery
  3. 使用的gethostbyname

本例使用BSD插座: http://www.binarytides.com/blog/dns-query-code-in-c-with-winsock-and-linux-sockets/

函数DSNQuery()在Windows中可用。对于你正在构建的东西来说,这可能是矫枉过正的。它返回DNS服务器返回的所有资源记录。 此示例使用功能DSNQuery解析主机名: http://support.microsoft.com/kb/831226

本例中使用的gethostbyname: http://paulschreiber.com/blog/2005/10/28/simple-gethostbyname-example/

我强烈建议使用像DNSQuery)的API(或的gethostbyname()

+0

binarytides一个帮助很多谢谢... :-) – Aran 2009-11-30 15:31:14

+0

+1帮助新来C的人,并非常丰富。 – 2009-11-30 19:45:31