需要用 C 语言构建简单的 DNS 解析器

发布于 2024-08-13 07:56:48 字数 368 浏览 1 评论 0原文

可能的重复:
如何使用 C/C++ 构建自定义简单 DNS 服务器

标题所说,我需要用 C 构建一个简单的 dns 解析器...

而不是用 C++,我在互联网上查找了一些教程来帮助我入门,但大多数都找到了 C++。

想知道是否有人知道帮助我入门的教程,或者可以给我一些关于如何在 C 中构建 DNS 请求标头的提示...

任何帮助将不胜感激。

Possible Duplicate:
How to Build a custom simple DNS server in C/C++

As the title says I need to build a simple dns resolver in C...

Not in C++, I have looked on internet for some tutorials to help me get going but mostly find C++.

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...

Any help will be much appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

趁微风不噪 2024-08-20 07:56:48

我用 C 语言编写了一个简单的 DNS 解析器。

您可以通过以下三种方式之一进行此操作:

  1. 学习 BSDocks
  2. 使用 DSNQuery
  3. 使用 gethostbyname

这个示例使用 BSD 套接字:
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

此示例使用 gethostbyname:
http://paulschreiber.com/blog/2005/10/28 /simple-gethostbyname-example/

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

I have written a simple DNS resolver in C.

You can go about this one of three ways:

  1. learn BSD socks
  2. use DSNQuery
  3. use 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/

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

This example uses gethostbyname:
http://paulschreiber.com/blog/2005/10/28/simple-gethostbyname-example/

I'd strongly recommend using an API like DNSQuery() or gethostbyname()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文