arp攻击
ARP协议
- ARP(Address Resolution
Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址,ARP协议就是用来把IP地址转换为MAC地址的。而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为IP地址。
ARP欺骗原理
- 在每台主机中都有ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址(网络设备之间互相通信用MAC地址而不是IP)。
ARP欺骗(单向,双向)
- 单向:如A主机欺骗B主机或A主机欺骗网关 双向:如A主机同时欺骗B主机及网关(中间人攻击)
- 双向:如A主机同时欺骗B主机及网关(中间人攻击)
工具使用
Arping简要使用
-
-A:与-U参数类似,但是使用的是ARP REPLY包而非ARP REQUEST包。
-b:发送以太网广播帧,arping在开始时使用广播地址,在收到回复后使用unicast单播地址。
-c:发送指定的count个ARP REQUEST包后停止。如果指定了-w参数,则会等待相同数量的ARP REPLY包,直到超时为止。
-D:重复地址探测模式,用来检测有没有IP地址冲突,如果没有IP冲突则返回0。
-f:收到第一个响应包后退出。
-h:显示帮助页。
-I:用来发送ARP REQUEST包的网络设备的名称。
-q:quite模式,不显示输出。
-U:无理由的(强制的)ARP模式去更新别的主机上的ARP CACHE列表中的本机的信息,不需要响应。
-V:显示arping的版本号。
-w:指定一个超时时间,单位为秒,arping在到达指定时间后退出,无论期间发送或接收了多少包。在这种情况下,arping在发送完指定的count(-c)个包后并不会停止,而是等待到超时或发送的count个包都进行了回应后才会退出。-s:设置发送ARP包的IP资源地址,如果为空,则按如下方式处理: 1、DAD模式(-D)设置为0.0.0.0; 2、Unsolicited模式(-U)设置为目标地址; 3、其它方式,从路由表计算。
Arp欺骗命令
- 将受害主机IP的网关地址伪造实现数据断网或截获 Arping -s 伪造MAC -S 网关IP地址 受害主机IP地址
开启数据转发
- echo 1 > /proc/sys/net/ipv4/ip_forward
#运行本地抓包
- 运行wireshark,即可抓取http包从而嗅探http中的敏感数据
防御方案
采用IP手工设置,ARP防火墙等