ARP欺骗
ARP欺骗
前言:备战期末,更的少,大伙等我放假再好好更,我先补学校的科目
01
KALI arp简单使用
先用kali的nmap程序扫一下当前网段存活主机
nmap -sP 192.168.网段.*
然后整理所有存活的Ip
kali命令为
arpspoof -i eth0 -t 对方ip 网关ip
多主机欺骗
arpspoof -i eth0 -t 对方ip -t 对方ip 网关ip
然后可以使用diffnet等工具来抓包,然后浏览内网中目标的流量,比如说目标上百度搜索某图片,利用arp就可以看到对方网站上看的照片,又或者可以盗取账号密码等,姿势很多,我这里就不在赘述了
02
原理分析1:
ARP协议就是用来把IP地址转换为MAC地址的 而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为IP地址。假设A(192.168.1.2)与B(192.168.1.3)在同一局域网,A要和B实现通信。A首先会发送一个数据包到广播地址(192.168.1.255),该数据包中包含了源IP(A)、源MAC、目的IP(B)、目的MAC,这个数据包会被发放给局域网中所有的主机,但是只有B主机会回复一个包含了源IP(B)、源MAC、目的IP(A)、目的MAC的数据包给A,同时A主机会将返回的这个地址保存在ARP缓存表中,这应该就是通过ping 主机然后 arp -a查看局域网内主机的原理。
原理分析2:
上面提到过了ARP缓存表,在每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。假设主机 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 网关 G 192.168.1.1;
在同一局域网,主机A和B通过网关G相互通信,就好比A和B两个人写信,由邮递员G送信,C永远都不会知道A和B之间说了些什么话。但是并不是想象中的那么安全,在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。
原理分析3:
这样C就有了偷听A和B的谈话的可能,继续思考上面的例子:C假扮邮递员,首先要告诉A说:“我就是邮递员” (C主机向A发送构造好的返回包,源IP为G 192.168.1.1,源MAC为C自己的MAC地址),愚蠢的A很轻易的相信了,直接把“C是邮递员”这个信息记在了脑子里;
C再假扮A,告诉邮递员:“我就是A” (C向网关G发送构造好的返回包,源IP为A 192.168.1.2,源MAC地址为自己的MAC地址),智商捉急的邮递员想都没想就相信了,以后就把B的来信送给了C,C当然就可以知道A和B之间聊了些什么
上面ABCG的故事就是ARP双向欺骗的原理了 ARP单向欺骗就更好理解了,C只向A发送一个返回包,告诉A:G 192.168.1.1 的MAC地址为 5c-63-bf-79-1d-fa(一个错误的mac地址),A把这个信息记录在了缓存表中,而G的缓存表不变,也就是说,A把数据包给了C,而G的包还是给A,这样就是ARP单向欺骗了。
后记: