第五章 局域网的ARP 欺骗

时间:2025-04-05 17:06:07

@ARP欺骗

arp欺骗仅限于局域网。

arp欺骗虽然仅限于局域网,但却能让我们掌握网络的布局,以及如何通信;所以,我觉得这个章节非常有用。

监控本机流量

kali linux默认是不转发ip,如果我们直接arpspoof监控目标主机,会致使目标主机连不上网;所以我们要设置ip转发。

命令:echo 1 > /proc/sys/net/ipv4/ip_forward

第五章 局域网的ARP 欺骗

设置ip转发后,可以在监控目标主机同时,不妨碍目标主机联网(可能会导致目标主机网速变慢)

监控命令:driftnet -i eth0

第五章 局域网的ARP 欺骗

输入命令后会弹出一个窗口,通过这个窗口可以监控本机浏览的图片。

监控其他设备的流量

通过监控本机流量,我们知道arpspoof具有监控流量的功能。

他是可以监控到其他设备的流量。

步骤,把对象指向网关和目标ip就可以实现监控其他设备流量的效果。

命令:arpspoof -i eth0 -t 192.168.1.2 192.168.1.1  (-i后面的是网卡名称,-t后面的是目标ip和网关)

第五章 局域网的ARP 欺骗

输入命令后,目标主机的上网流量就会经过我的主机。

如果想要实现上一小节的效果,用窗口对目标实时监控,打开另一个命令窗口,输入命令:driftnet -i eth0

第五章 局域网的ARP 欺骗

窗口一般没有信息,是因为大部分网站走https;

arp欺骗是无法监控https网站的内容的,除非切断目标主机访问https网站,使其重定向到http。

还有第二种方法,就是伪造https证书(代价太高)

除了以上的监控方法,还可以抓包对监控的目标主机抓取有用的信息。

这里用的是wireshark。

第五章 局域网的ARP 欺骗

通过抓包,可以获取到更多有用的信息(有惊喜)

@原理部分

arp是怎样欺骗成功呢?

先从TCP开始,一步一步了解网络通信原理。

第五章 局域网的ARP 欺骗

tcp有三次握手,四次挥手的说法。

也就是说,用tcp协议通信,必须进行三次握手,在第四次挥手结束会话。

列子:

A主机→我要发送信息给你→B主机

A主机(开启监控状态)←你发吧←B主机(开启监控状态)

A主机→我发了→B主机

经过三次会话握手后,两个主机间才能够正常通信。

发送的报文正是上图所示。

source port 是源端口号 ,distination port 是目标端口号。

源端口就是本地端口,目标端口就是远程端口;他们分别是两者通信的窗口。

整体实现原理,端口+IP+目的端口+IP共同完成两个主机的连接。

Sequence Numbe

Sequence Numbe起到保证数据包发送前后的作用,让数据包有序发送和达到。有着先发先到的作用。

Acknowledgment Numbe

Acknowledgment Numbe 确认序列号,起到确认收到的作用;如,A主机发送数据给B主机,B主机收到之后返回一个状态ACK=1给A主机,告诉A主机已经收到信息。(同时,它可以避免丢包问题)

ICMP和ARP协议

ICMP 协议主要作用是确认网络通不通,确认数据包送到目标主机;通知在通信过程数据包被丢弃的原因。

ARP协议称为地址解析协议。

也是我们本章节的主要内容。

两个主机在通信过程中,本地主机需要通过目标主机的IP获取MAC地址。

而MAC地址是刻录在硬件设备上面的,是唯一的;相当于人的身份证。

A主机怎么知道目标主机的MAC地址呢?

在局域网中,A主机通过在网关发送ARP广播,让所有主机都收到ARP广播信号,如果目标主机收到信号,就会告诉A主机,我是目标主机。如果其他主机收到A主机发出的广播,拆开数据包发现不是给自己的,会自动丢弃。

图解ARP欺骗过程:

第五章 局域网的ARP 欺骗

ARP欺骗是通过收到的ARP广播,以欺骗的方式返回A主机一个欺骗信号,告诉A主机,我才是目标主机。

C作为欺骗主机,返回给A主机的欺骗信号很多,远远大于目标主机返回的信号数量。

当A主机收到不同的返回信号。

A主机是无法识别真假的。

所以,A主机的数据流量都跑到C主机上面了。

如果C主机没有把这些数据包妆发出去,A主机是无法联网的。

我们通过IP转发,让A主机的数据流量经过C主机(欺骗),然后转发到网关,最后发送给真正的目标主机,让A主机继续访问目标主机,实现继续上网的功能。

在这个过程中,C主机已经成功监控A主机发送数据的流量了。

……………………