欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

网络应用简记(4):DNS使用

程序员文章站 2022-05-03 11:43:32
dns,domain name system,域名系统,把域名转化成ip的系统。 先来看几上工具的使用,这几个工具都能把域名转换成ip,都使用了dns。dns就好比数据库,通过对它的查询,能给url找到对应的ip。 ......

dns,domain name system,域名系统,把域名转化成ip的系统。

先来看几上工具的使用,这几个工具都能把域名转换成ip,都使用了dns。dns就好比数据库,通过对它的查询,能给url找到对应的ip。

(1)dig

dig的简单使用是这样:

dig baidu.com

下面是这个命令的输出以及注解:
网络应用简记(4):DNS使用
网络应用简记(4):DNS使用

上面的截图显示小程使用的dns服务器是10.255.107.7(默认端口53),这个dns服务器在哪里设置呢?小程是mac机,在网络设置里面,可以设置,看截图:
网络应用简记(4):DNS使用
网络应用简记(4):DNS使用

从截图可见,既可以设置内网的dns服务器,也可以直接设置成公网的dns服务器,比如114.xx或8.8.8.8等。

在使用dig时,也可以直接指定使用哪个dns服务器进行查询,比如这样:

dig @114.114.114.114 baidu.com

查询结果如下:
网络应用简记(4):DNS使用

如果只是想简单地看到域名对应的ip,可以这样使用dig:

dig +short baidu.com

显示结果如下:
网络应用简记(4):DNS使用

dig可以把域名转成ip,也可以把某些ip转出域名:

dig -x ip

比如下图:
网络应用简记(4):DNS使用

如果某些ip无法转出域名,而且使用了+short参数,那就会看不到返回信息。

(3)host

host命令使用简单:

host baidu.com

host也可以把某些ip转换成域名,但只是某些。

网络应用简记(4):DNS使用

(4)nslookup

nslookup是一个交互的命令,输入域名,输出ip,比如:
网络应用简记(4):DNS使用

(5)whois

whois显示域名的注册信息,比如:
网络应用简记(4):DNS使用

以上是现成工具的使用,这里再介绍一下代码的实现。

比如,用python的dnspython,代码实现域名解析。

先安装dnspython:

pip install dnspython 

然后实现,代码与执行效果如下:
网络应用简记(4):DNS使用

再比如,使用c的getaddrinfo函数,也可以实现把域名转换成ip(包括ipv4跟ipv6),这里不细说了。

 

 

分享一个本人打造的公众号吸粉、推广方案。

ios客户端源码、api源码呈献给大家,完整的示例大家可以到appstore下载安装“知音”。