购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.1.1 DNS解析

DNS(Domain Name System,域名系统)是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,能够使用户更方便地访问互联网,而不用去记住一长串数字(能够被机器直接读取的IP)。就像拜访朋友要先知道别人家怎么走一样,当Internet上的一台主机要访问另外一台主机时,必须首先知道其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以采用了域名系统来管理名字和IP的对应关系。本节将介绍如何通过Python脚本获取目标网站域名对应的IP地址,以及获取注册时间、注册人姓名、邮箱等信息。

1.IP查询

IP查询是通过当前所获取到的URL去查询对应IP地址的过程。可以应用Socket库函数中的gethostbyname()获取域名所对应的IP值。

例如,查询域名www.baidu.com所对应的IP值,代码如下:


>>> import socket
>>> ip = socket.gethostbyname('www.baidu.com')
>>> print(ip)

输出结果:


61.135.169.121

2.Whois查询

Whois是用来查询域名的IP以及所有者信息的传输协议。简单地说,Whois就是一个数据库,用来查询域名是否已经被注册,以及注册域名的详细信息(如域名所有人、域名注册商等)。Python中的模块python-whois可用于Whois的查询。

首先通过pip安装python-whois模块:


pip install python-whois

例如,通过Python自带的whois模块查询域名 www.baidu.com 的注册信息,代码如下:


>>> from whois import whois
>>> data = whois('www.baidu.com')
>>>print(data)

输出结果如下所示: yYmBf/5UIgQxskm/berEu9cAjucbwfzTMtkHmy/jO0GmxvISXGmVHOjFN7kvMaPA

点击中间区域
呼出菜单
上一章
目录
下一章
×