MX记录查找和检查

Chr*_*ong 12 python mx-record

我需要创建一个工具来检查域实时mx记录与预期的内容(我们的一些工作人员摆弄它们并导致所有传入的邮件重定向到虚空)

现在我不会撒谎,我一点也不是一个称职的程序员!我大约40页进入"潜入python",可以阅读和理解最基本的代码.但我愿意学习,而不仅仅是给予答案.

那么任何人都可以建议我应该使用哪种语言?

我正在考虑使用python,并开始使用0s.system()来做一个(挖掘+ nocmd domain.com mx + noall +回答)来提取记录,然后我对如何使用将其与现有记录集进行比较.

对不起,如果这听起来像胡说八道!

谢谢克里斯

Pau*_*ine 34

使用dnspython模块(不是内置的,你必须pip install这样):

>>> import dns.resolver
>>> domain = 'hotmail.com'
>>> for x in dns.resolver.query(domain, 'MX'):
...     print(x.to_text())
...
5 mx3.hotmail.com.
5 mx4.hotmail.com.
5 mx1.hotmail.com.
5 mx2.hotmail.com.
Run Code Online (Sandbox Code Playgroud)

[更新]

对于python 3来说pip install dnspython3.

  • 你应该提一下,那个需要`dnspython`模块. (5认同)
  • @TusharSadhwani 的评论现已过时 - 根据 PyPI 上的 `dnspython3` 页面:*“dnspython3 已被常规 dnspython 套件取代,现在支持 Python 2 和 Python 3。”* (4认同)
  • 我必须使用 `query` 而不是 `resolve`: `for x in dns.resolver.query(domain, 'MX'):` ... (3认同)
  • 现在@Artemis 的评论已被取代。“Python 2.x 支持于 1.16.0 结束。Dnspython 2.2.1 需要 Python 3.6 或更高版本。” (2认同)

Woo*_*ble 15

看看dnspython,这个模块应该为你做好查找,而不需要求助于系统调用.

  • 现在,它与 python3 兼容,从 pip 它是 *dnspython3* 包 (3认同)