@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 欺骗的更多相关文章

  1. [c#]记一次实验室局域网的ARP欺骗

    起因 某天中午午睡时,笔者被激烈的键盘和鼠标声音吵醒,发现实验室的同学在那边忘我地打LOL,顿觉不爽,于是决定整他一下.想了一下之后觉得就让他掉线一下作为惩罚好了.结合以往的理论知识,大家在同一个局域 ...

  2. 中间人攻击-Arp之局域网内DNS欺骗

    基础知识 网关是啥? 网关是工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同网络之间的连接,网关就好比一个房间通向另一个房间的一扇门. ARP协议 假设A(192.168.1.2)与B(1 ...

  3. 使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息

    ARP欺骗的作用 当你在网吧玩,发现有人玩LOL大吵大闹, 用ARP欺骗把他踢下线吧 当你在咖啡厅看上某一个看书的妹纸,又不好意思开口要微信号, 用arp欺骗,不知不觉获取到她的微信号和聊天记录,吓一 ...

  4. Kali实现局域网ARP欺骗和ARP攻击

    原文地址: http://netsecurity.51cto.com/art/201303/386031.htm http://xiao106347.blog.163.com/blog/static/ ...

  5. 『局域网安全』利用ARP欺骗劫持Cookie

    0x 00 ARP欺骗说明 欺骗原理相关内容就不多叙述了,百度一大堆 实施ARP欺骗在Windows下,Linux下都相关工具 由于在Linux下可以开启ip_forward功能,个人认为Linux下 ...

  6. kali系统:局域网arp欺骗, 搞定任意windows计算机

    目的 通过Arp欺骗, 给局域网内的所有用户网页中植入木马, 只要用户运行以后, 就会反弹一个shell到我们计算机 准备 kali系统 metaspolit的使用 Arp欺骗工具:bettercap ...

  7. 树莓派上使用KickThemOut对局域网内的设备进行ARP欺骗

    安装KickThemOut工具 $ git clone https://github.com/k4m4/kickthemout.git $ cd kickthemout/ $ sudo -H pip ...

  8. 同一局域网环境下的arp欺骗和中间人攻击(mac)

    最近读了一篇有关arp欺骗和中间人攻击的文章,于是乎就想着自己实现一下,顺便验证下微信在回话劫持后的安全性. 1.本机环境 Macbook Air:OS X 10.11 El Captain 2.推荐 ...

  9. 局域网 ARP 欺骗原理详解

    局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...

随机推荐

  1. 企业IT运维以及信息管理部服务器管理

    方法 1.服务器有必要保持简洁.除了必要的应用软件以及安全软件之外,尽量不要安全其它的软件. 2.要做好服务器帐号权利规划和分配,分配够用的权利就行,从而降低密码泄漏带来的损失. 3.注意关注服务器软 ...

  2. 0007SpringBoot配置不同环境内容及指定启动哪个环境

    1.多profiles的形式 分别新增application-dev.properties和application-prod.properties配置文件, 其中application-dev.pro ...

  3. 获取mysql一组数据中的第N大的值

    create table tb(name varchar(10),val int,memo varchar(20)) insert into tb values('a', 2, 'a2') inser ...

  4. 2020即将到来!DevExpress Winforms开发有哪些新功能值得期待?

    下载DevExpress v19.2完整版 DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.DevExpress Winf ...

  5. Tarjan算法【阅读笔记】

    应用:线性时间内求出无向图的割点与桥,双连通分量.有向图的强连通分量,必经点和必经边. 主要是求两个东西,dfn和low 时间戳dfn:就是dfs序,也就是每个节点在dfs遍历的过程中第一次被访问的时 ...

  6. fputcsv

    1.a是從結尾添加,w是從頭添加,不知爲什麽 這樣寫最後一行會是錯的,似乎不會自動添加換行符,只有在最後以行寫上"\r\n",才會正確. $fp = sugar_fopen('fi ...

  7. ueditor百度编辑器destoon的word图片转存功能

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...

  8. 关于lda算法的一个博客

    http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html

  9. JavaScript中BOM的重要内容总结

    一.BOM介绍 BOM(Browser Object Model),浏览器对象模型: 用来操作浏览器部分功能的API: BOM由一系列的对象构成,由于主要用于管理窗口和窗口之间的通讯,所以核心对象是w ...

  10. 把字符串当做js代码执行的方法

    字符串还能当做javascript代码来执行?你能想到哪些方法? 1.setInterval("要执行的字符串",500);window对象的方法既可以传字符串,也可以传函数.该函 ...