首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C++的域名系统查询

使用C++的域名系统查询
EN

Stack Overflow用户
提问于 2012-01-22 14:04:35
回答 2查看 5.2K关注 0票数 1

我已经开始在电子邮件中的垃圾邮件过滤工作,我需要写一个模块,可以查询列入黑名单的IP的域名系统。作为一个初学者,谁可以建议我一个很好的阅读关于域名系统和查询它使用C++?我到处找,但没能找到一个很好的来源。提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-22 14:44:13

作为初学者,您基本上应该了解一个函数,即gethostbyname

然后,如果希望根据zen.spamhaus.org检查8.8.4.4,则调用

代码语言:javascript
复制
gethostbyname ("4.4.8.8.zen.spamhaus.org")

(注意反转的二进制八位数)。

如果返回非空,则列出该IP。

这是一种非常原始的方法,有很多缺点,但它是有效的,在你转向更复杂的方法之前,你应该先尝试一下。

票数 1
EN

Stack Overflow用户

发布于 2012-01-22 14:25:16

慎重其事。对于可利用的代码来说,DNS已经是一个非常富有成效的地方。编写易受攻击的DNS软件非常容易。

大多数情况下,您会希望使用异步解析器,以便速度慢或无响应的DNS服务器不会无限期地停止您的应用程序。您只想让它延迟单个特定邮件的传递。有几个为Ubuntu打包的库:

代码语言:javascript
复制
libadns1-dev - Asynchronous-capable DNS client library and utilities
libc-ares-dev - library for asyncronous name resolves (development files)
libc-ares2 - library for asyncronous name resolves
firedns - Runtime binaries for firedns, an asynch. dns resolver library
libares-dev - asynchronous dns resolver library
libares0 - asynchronous dns resolver library
libfiredns-dev - Development files for firedns, an asynch. dns resolver library
libfiredns0.9 - Runtime libraries for firedns, an asynch. dns resolver library
libfiredns-dev - Development files for firedns, an asynch. dns resolver library
libfiredns0.9 - Runtime libraries for firedns, an asynch. dns resolver library
libowfat-dev - A reimplementation of libdjb
libudns-dev - async-capable DNS stub resolver library, development files

我从来没有用过这些,所以我不能在这里给出建议。抱歉的。

您可能希望运行本地递归解析器来缓存查找结果。这可以减少你必须编程的智能量,并使你的软件变得更加简单。我以前用过pdns-recursor,我很喜欢它。非常棒的工具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8959366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档