`
yiheng
  • 浏览: 156554 次
社区版块
存档分类

python与域名系统(DNS)正向查询

阅读更多

域名系统(DNS)是一个分布式的数据库,主要是用来把主机名换成IP地址。

DNS存在有两大理由:

(1)可以使用户方便记住名字,而不是纯粹的IP地址;

(2)允许服务器改变IP地址,但可以使用原来的域名。

系统中最基本的查询为正向查询,它会根据一个主机名来查找IP地址。例如如果你想从www.example.com上下载一个web页面,首先要寻找到IP地址。正想查询会帮你完成这个任务,它会把一个名字翻译成一个IP地址。


在python中定义了一个函数socket.getaddrinfo(),用来完成这种正向查询。它是这样定义的:

getaddrinfo(host, port[,family[, sockettype[, proto[, flags]]]])
host参数就是想寻找的域名,而其他的参数只有在你想把结果直接传递给socket.socket()或socket.connect()时才会用到。


下面是正向查询的小例子:

import sys, socket

result = socket.getaddrinfo(sys.argv[1], None, 0, socket.SOCK_STREAM)

counter = 0;
for item in result:
    print "%-2d: %s" % (counter, item[4])
    counter += 1

运行结果:



更多详细信息请查看java教程网 http://www.itchm.com/forum-59-1.html
分享到:
评论

相关推荐

    python实现域名系统(DNS)正向查询的方法

    在Python编程中,进行域名系统(DNS)正向查询是获取IP地址的重要步骤。正向查询的基本作用是从主机名解析出对应的IP地址,这在互联网通信中起到关键作用。Python的socket模块提供了一个名为`getaddrinfo`的函数,...

    DNS:基本的DNS服务器-客户端实现

    DNS(域名系统)是互联网的一项基础服务,它将人类可读的域名转换为IP地址,以便计算机能够识别和通信。本篇文章将深入探讨如何使用Python实现一个基本的DNS服务器和客户端,以理解其工作原理。 首先,让我们了解...

    Python-通过扫描全网绕过CDN获取网站IP地址.zip

    2. **IP反向查找**:获取CDN分配给特定域名的IP后,可以尝试进行反向DNS查找,找出该IP对应的主机名,然后对主机名再次进行正向解析,可能会揭示原始IP。 3. **网络扫描**:利用Python中的网络扫描库(如Scapy、...

    Linux高级运维结课考试.docx

    - DNS(域名系统)提供域名到IP地址的解析服务,Linux中通常使用`bind`软件实现,服务名为`named`。 - 域名服务支持正向(域名到IP)和反向(IP到域名)解析。 9. **配置域名服务**: - 配置步骤包括:修改`/etc...

    郑州大学软件学院期末复习知识

    1. DNS域名系统主要负责主机名和(A. IP地址)之间的解析。DNS是Domain Name System的缩写,其主要作用是将易于记忆的域名转换为IP地址,方便网络通信。 2. 网络管理员对WWW服务器进行访问、控制存取和运行等控制,...

    计算机网络实验学习总结.docx

    5. **DNS服务器配置**:熟悉了DNS(域名系统)服务的管理,包括添加DNS Zone、设置主区域、正向和反向查找、动态更新及区域传输等操作。 6. **Linux操作系统与DNS服务器管理**:虽然在课堂上遇到困难,但学生自学了...

    Linux企业版5 邮件服务器配置

    DNS(Domain Name System)服务器是邮件服务器的基础,它负责域名到IP地址的转换,确保邮件能够正确地被路由到目的地。 1. **挂载光驱**:如果您的系统中需要从光驱安装软件包,请先将光盘挂载到系统中。 2. **通过...

    Linux下LAMP架构论坛的搭建

    DNS(Domain Name System)是互联网的重要组成部分,它负责将域名转换为IP地址。在搭建论坛时,确保正确配置DNS至关重要: 1. 修改主配置文件:通常位于`/etc/named.conf`,需要设置监听端口、区域信息和其他全局...

    2021-2022计算机二级等级考试试题及答案No.19910.docx

    - **解释**:域名系统(DNS)中,每个国家和地区都有自己的顶级域,中国的顶级域为`.cn`而非`china`。 7. **IP地址** - **知识点**:IPv4地址是由32位二进制数表示的。 - **解释**:IPv4地址通常表示为四组十...

Global site tag (gtag.js) - Google Analytics