第五章 局域网的ARP 欺骗
@ARP欺骗
arp欺骗仅限于局域网。
arp欺骗虽然仅限于局域网,但却能让我们掌握网络的布局,以及如何通信;所以,我觉得这个章节非常有用。
监控本机流量
kali linux默认是不转发ip,如果我们直接arpspoof监控目标主机,会致使目标主机连不上网;所以我们要设置ip转发。
命令:echo 1 > /proc/sys/net/ipv4/ip_forward

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

输入命令后会弹出一个窗口,通过这个窗口可以监控本机浏览的图片。
监控其他设备的流量
通过监控本机流量,我们知道arpspoof具有监控流量的功能。
他是可以监控到其他设备的流量。
步骤,把对象指向网关和目标ip就可以实现监控其他设备流量的效果。
命令:arpspoof -i eth0 -t 192.168.1.2 192.168.1.1 (-i后面的是网卡名称,-t后面的是目标ip和网关)

输入命令后,目标主机的上网流量就会经过我的主机。
如果想要实现上一小节的效果,用窗口对目标实时监控,打开另一个命令窗口,输入命令:driftnet -i eth0

窗口一般没有信息,是因为大部分网站走https;
arp欺骗是无法监控https网站的内容的,除非切断目标主机访问https网站,使其重定向到http。
还有第二种方法,就是伪造https证书(代价太高)
除了以上的监控方法,还可以抓包对监控的目标主机抓取有用的信息。
这里用的是wireshark。

通过抓包,可以获取到更多有用的信息(有惊喜)
@原理部分
arp是怎样欺骗成功呢?
先从TCP开始,一步一步了解网络通信原理。

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广播,以欺骗的方式返回A主机一个欺骗信号,告诉A主机,我才是目标主机。
C作为欺骗主机,返回给A主机的欺骗信号很多,远远大于目标主机返回的信号数量。
当A主机收到不同的返回信号。
A主机是无法识别真假的。
所以,A主机的数据流量都跑到C主机上面了。
如果C主机没有把这些数据包妆发出去,A主机是无法联网的。
我们通过IP转发,让A主机的数据流量经过C主机(欺骗),然后转发到网关,最后发送给真正的目标主机,让A主机继续访问目标主机,实现继续上网的功能。
在这个过程中,C主机已经成功监控A主机发送数据的流量了。
……………………
第五章 局域网的ARP 欺骗的更多相关文章
- [c#]记一次实验室局域网的ARP欺骗
起因 某天中午午睡时,笔者被激烈的键盘和鼠标声音吵醒,发现实验室的同学在那边忘我地打LOL,顿觉不爽,于是决定整他一下.想了一下之后觉得就让他掉线一下作为惩罚好了.结合以往的理论知识,大家在同一个局域 ...
- 中间人攻击-Arp之局域网内DNS欺骗
基础知识 网关是啥? 网关是工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同网络之间的连接,网关就好比一个房间通向另一个房间的一扇门. ARP协议 假设A(192.168.1.2)与B(1 ...
- 使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息
ARP欺骗的作用 当你在网吧玩,发现有人玩LOL大吵大闹, 用ARP欺骗把他踢下线吧 当你在咖啡厅看上某一个看书的妹纸,又不好意思开口要微信号, 用arp欺骗,不知不觉获取到她的微信号和聊天记录,吓一 ...
- Kali实现局域网ARP欺骗和ARP攻击
原文地址: http://netsecurity.51cto.com/art/201303/386031.htm http://xiao106347.blog.163.com/blog/static/ ...
- 『局域网安全』利用ARP欺骗劫持Cookie
0x 00 ARP欺骗说明 欺骗原理相关内容就不多叙述了,百度一大堆 实施ARP欺骗在Windows下,Linux下都相关工具 由于在Linux下可以开启ip_forward功能,个人认为Linux下 ...
- kali系统:局域网arp欺骗, 搞定任意windows计算机
目的 通过Arp欺骗, 给局域网内的所有用户网页中植入木马, 只要用户运行以后, 就会反弹一个shell到我们计算机 准备 kali系统 metaspolit的使用 Arp欺骗工具:bettercap ...
- 树莓派上使用KickThemOut对局域网内的设备进行ARP欺骗
安装KickThemOut工具 $ git clone https://github.com/k4m4/kickthemout.git $ cd kickthemout/ $ sudo -H pip ...
- 同一局域网环境下的arp欺骗和中间人攻击(mac)
最近读了一篇有关arp欺骗和中间人攻击的文章,于是乎就想着自己实现一下,顺便验证下微信在回话劫持后的安全性. 1.本机环境 Macbook Air:OS X 10.11 El Captain 2.推荐 ...
- 局域网 ARP 欺骗原理详解
局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...
随机推荐
- appium+python 【Mac】UI自动化测试封装框架流程简介 <一>
为了多人之间更方便的协作,那么框架本身的结构和编写方式将变得很重要,因此每个团队都有适合自己的框架.如下本人对APP的UI自动化测试的框架进行进行了简单的汇总.主要目的是为了让团队中的其余人员接手写脚 ...
- c语言1博客作业07
一.本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/9929 我 ...
- C语言学习系列(一)开门首篇
一.特辑 此次是我自己的学习之路,和大家一起分享(我现在是做Java),途中遇到什么问题大家也可以提出来一起讨论一起进步: 主要参考教程是菜鸟教程上面的C语言教程,以及大学课本C语言教程-第四版(谭浩 ...
- winfrom 遍历文本框
//winform中Control是所有组件的基类 ; i <= ; i++) { Control[] coltxtSpeed = this.Controls.Find("txtbox ...
- 浏览器事件环(EventLoop)
1. 基础知识 1. js语言特点 1. js语言是单线程语言,主线程是单线程.如UI渲染,脚本加载是主线程任务. 2. js语言采用事件循环(EventLoop)机制. 2. 同步任务: 不被引擎挂 ...
- Activiti服务类- FormService服务类
转自:https://www.cnblogs.com/liuqing576598117/p/9814953.html 1.获取//通过流程定义ID获取表单字段集合StartFormData start ...
- Gradle 如何打包 Spring Boot 如何不添加版本代码
在 Gradle 中如何在打包的 Jar 中不包含版本代码? 在 bootJar 中,使用下面的代码进行打包不包含版本代码. archiveFileName = "${archiveBase ...
- 【AGC030F】Permutation and Minimum(DP)
题目链接 题解 首先可以想到分组后,去掉两边都填了数的组. 然后就会剩下\((-1,-1)\)和\((-1,x)\)或\((x,-1)\)这两种情况 因为是最小值序列的情况数,我们可以考虑从大到小填数 ...
- qt 布局管理按钮控件间有空隙?
定义了几个按钮控件,想要按钮间没有空隙,我使用setspaces(0)来设置它们之间的间隔. 结果控件间还是有空隙,如图 我对控件所在的widget的背景进行设置,(会把style传到子控件)发现结果 ...
- Luogu5339 [TJOI2019]唱、跳、rap和篮球 【生成函数,NTT】
当时看到这道题的时候我的脑子可能是这样的: My left brain has nothing right, and my right brain has nothing left. 总之,看到&qu ...