python實(shí)現(xiàn)DNS正向查詢(xún)、反向查詢(xún)的例子
1.DNS查詢(xún)過(guò)程:
以查詢(xún) www.baidu.com為例
(1)電腦向本地域名服務(wù)器發(fā)送解析www.baidu.com的請(qǐng)求
(2)本地域名服務(wù)器收到請(qǐng)求后,先查詢(xún)本地的緩存,如果找到直接返回查詢(xún)結(jié)果,如果沒(méi)有該記錄,本地域名服務(wù)器把www.baidu.com的請(qǐng)求發(fā)送給根域名服務(wù)器
(3)根域名服務(wù)器收到請(qǐng)求后,把.com域的服務(wù)器IP地址返回給本地域名服務(wù)器
(4)本地域名服務(wù)器連接.com服務(wù)器,向其請(qǐng)求解析域名www.baidu.com, .com服務(wù)器把baidu.com服務(wù)器的IP地址返回給本地DNS服務(wù)器
(5)本地DNS服務(wù)器向baidu.com服務(wù)器發(fā)送解析域名請(qǐng)求,baidu.com服務(wù)器將www.baidu.com的IP地址返回給本地DNS服務(wù)器
(6)本地DNS服務(wù)器把www.baidu.com的IP地址返回給電腦。
2.域名和IP地址的對(duì)應(yīng)關(guān)系:
一個(gè)域名可以對(duì)應(yīng)多個(gè)IP地址,但在同一時(shí)刻,一個(gè)域名只能有一個(gè)IP地址,一個(gè)IP地址可以對(duì)應(yīng)多個(gè)域名。
3.查詢(xún)DNS
Python可以實(shí)現(xiàn)DNS的正向和反向查詢(xún)。下面是正向查詢(xún)的代碼:
#!/usr/bin/env python
import sys,socket
result=socket.getaddrinfo(sys,argv[1],None)
print result[0][4]
因?yàn)橐粋€(gè)域名可以有多個(gè)IP地址,所以上述程序兩次運(yùn)行的結(jié)果可能會(huì)不同。
運(yùn)行程序 :
結(jié)果為 :
反向查詢(xún):
#!/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"
運(yùn)行程序
結(jié)果為:
- Python模塊域名dnspython解析
- python批量處理多DNS多域名的nslookup解析實(shí)現(xiàn)
- 利用Python+阿里云實(shí)現(xiàn)DDNS動(dòng)態(tài)域名解析的方法
- Python爬蟲(chóng)DNS解析緩存方法實(shí)例分析
- Python實(shí)現(xiàn)的簡(jiǎn)單dns查詢(xún)功能示例
- python實(shí)現(xiàn)域名系統(tǒng)(DNS)正向查詢(xún)的方法
- Python中使用scapy模擬數(shù)據(jù)包實(shí)現(xiàn)arp攻擊、dns放大攻擊例子
- Python寫(xiě)的一個(gè)簡(jiǎn)單DNS服務(wù)器實(shí)例
- Python DNS查詢(xún)放大攻擊實(shí)現(xiàn)原理解析
相關(guān)文章
使用matplotlib繪制并排柱狀圖的實(shí)戰(zhàn)案例
堆積柱狀圖有堆積柱狀圖的好處,比如說(shuō)我們可以很方便地看到多分類(lèi)總和的趨勢(shì),下面這篇文章主要給大家介紹了關(guān)于使用matplotlib繪制并排柱狀圖的相關(guān)資料,需要的朋友可以參考下2022-07-07Python如何實(shí)現(xiàn)強(qiáng)制數(shù)據(jù)類(lèi)型轉(zhuǎn)換
這篇文章主要介紹了Python如何實(shí)現(xiàn)強(qiáng)制數(shù)據(jù)類(lèi)型轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11在Python中操作PDF的常見(jiàn)方法小結(jié)
當(dāng)在Python中操作PDF時(shí),有幾種常見(jiàn)的方法,每種方法都有其獨(dú)特的優(yōu)點(diǎn)和用例,在本文中,我們將深入探討這些方法,并提供豐富的示例代碼,以幫助大家更好地理解如何使用這些技術(shù),需要的朋友可以參考下2024-01-01pycharm 設(shè)置項(xiàng)目的根目錄教程
今天小編就為大家分享一篇pycharm 設(shè)置項(xiàng)目的根目錄教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02