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

首頁 > 編程 > Python > 正文

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

2020-02-23 05:20:31
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西宁市| 板桥市| 清涧县| 大同市| 交城县| 汉沽区| 徐水县| 旬邑县| 扶风县| 台江县| 隆化县| 芒康县| 石首市| 昭通市| 灵宝市| 中方县| 湖南省| 县级市| 晋州市| 定日县| 大冶市| 锡林浩特市| 安丘市| 元氏县| 西贡区| 清丰县| 绥阳县| 建瓯市| 胶南市| 建始县| 江西省| 兖州市| 永顺县| 绥滨县| 辉南县| 彝良县| 河西区| 曲松县| 大渡口区| 阳原县| 克山县|