網路應用簡記(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下載安裝“知音”。