国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現DNS正向查詢、反向查詢的例子

2019-11-25 18:26:25
字體:
來源:轉載
供稿:網友

1.DNS查詢過程:

以查詢 www.baidu.com為例

(1)電腦向本地域名服務器發送解析www.baidu.com的請求
(2)本地域名服務器收到請求后,先查詢本地的緩存,如果找到直接返回查詢結果,如果沒有該記錄,本地域名服務器把www.baidu.com的請求發送給根域名服務器
(3)根域名服務器收到請求后,把.com域的服務器IP地址返回給本地域名服務器
(4)本地域名服務器連接.com服務器,向其請求解析域名www.baidu.com, .com服務器把baidu.com服務器的IP地址返回給本地DNS服務器
(5)本地DNS服務器向baidu.com服務器發送解析域名請求,baidu.com服務器將www.baidu.com的IP地址返回給本地DNS服務器
(6)本地DNS服務器把www.baidu.com的IP地址返回給電腦。

2.域名和IP地址的對應關系:

一個域名可以對應多個IP地址,但在同一時刻,一個域名只能有一個IP地址,一個IP地址可以對應多個域名。

3.查詢DNS

Python可以實現DNS的正向和反向查詢。下面是正向查詢的代碼:

復制代碼 代碼如下:

#!/usr/bin/env python
import sys,socket
result=socket.getaddrinfo(sys,argv[1],None)
print result[0][4]

因為一個域名可以有多個IP地址,所以上述程序兩次運行的結果可能會不同。

運行程序 :

復制代碼 代碼如下:
./test.py www.baidu.com

結果為 :
復制代碼 代碼如下:
(‘111.13.100.91',80)

反向查詢:

復制代碼 代碼如下:

#!/usr/bin/env python
import sys,socket
try:
 result=socket.gethostbyaddr(sys.argv[1])
 print "hostname is "+result[0]
except socket.herror,e:
 print "can't look up"

運行程序

復制代碼 代碼如下:
./test2  127.0.0.1

結果為:
復制代碼 代碼如下:
hostname is localhost

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉川市| 镇平县| 大埔县| 滦南县| 大兴区| 清徐县| 锦屏县| 固安县| 芮城县| 扎兰屯市| 钟祥市| 托克托县| 阿拉善右旗| 台东市| 突泉县| 越西县| 蕲春县| 吴旗县| 象山县| 芦山县| 体育| 曲阜市| 兰州市| 永济市| 泗阳县| 青田县| 泽库县| 安徽省| 石景山区| 太和县| 安仁县| 兴山县| 杨浦区| 新营市| 蓬安县| 永春县| 阜新| 海林市| 聊城市| 雷山县| 安远县|