1. 程式人生 > >網路應用簡記(4):DNS使用

網路應用簡記(4):DNS使用

dns,domain name system,域名系統,把域名轉化成ip的系統。

先來看几上工具的使用,這幾個工具都能把域名轉換成ip,都使用了dns。dns就好比資料庫,通過對它的查詢,能給url找到對應的ip。

(1)dig

dig的簡單使用是這樣:

dig baidu.com

下面是這個命令的輸出以及註解:

上面的截圖顯示小程使用的dns伺服器是10.255.107.7(預設埠53),這個dns伺服器在哪裡設定呢?小程是mac機,在網路設定裡面,可以設定,看截圖:

從截圖可見,既可以設定內網的dns伺服器,也可以直接設定成公網的dns伺服器,比如114.xx或8.8.8.8等。

在使用dig時,也可以直接指定使用哪個dns伺服器進行查詢,比如這樣:

dig @114.114.114.114 baidu.com

查詢結果如下:

如果只是想簡單地看到域名對應的ip,可以這樣使用dig:

dig +short baidu.com

顯示結果如下:

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

dig -x ip

比如下圖:

如果某些ip無法轉出域名,而且使用了+short引數,那就會看不到返回資訊。

(3)host

host命令使用簡單:

host baidu.com

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

(4)nslookup

nslookup是一個互動的命令,輸入域名,輸出ip,比如:

(5)whois

whois顯示域名的註冊資訊,比如:

以上是現成工具的使用,這裡再介紹一下程式碼的實現。

比如,用python的dnspython,程式碼實現域名解析。

先安裝dnspython:

pip install dnspython 

然後實現,程式碼與執行效果如下:

再比如,使用c的getaddrinfo函式,也可以實現把域名轉換成ip(包括ipv4跟ipv6),這裡不細說了。

 

 

分享一個本人打造的公眾號吸粉、推廣方案。

IOS客戶端原始碼、API原始碼呈獻給大家,完整的示例大家可以到AppStore下載安裝“知音”。