国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安吉县| 张家界市| 托克托县| 荥经县| 亳州市| 竹山县| 慈利县| 辽阳县| 贵南县| 邹平县| 资兴市| 大兴区| 新干县| 大港区| 逊克县| 白银市| 兰考县| 新巴尔虎左旗| 衡东县| 志丹县| 长治县| 灌云县| 库伦旗| 大同市| 宿州市| 台山市| 利津县| 宜黄县| 桃园市| 望江县| 武邑县| 池州市| 北票市| 讷河市| 柘荣县| 承德市| 台北县| 枣阳市| 车致| 罗山县| 石家庄市|