前言:

  由于在局域网中,网关会不断地发送 ARP 数据包询问当前是否有新的客户端上线,如果我们可以欺骗当前局域网网段下的主机,

  把我们当成网关地址,并且我们把欺骗的流量转发到真正的网关地址,这样我们就可以嗅探到别人的信息

实验环境:

  1、虚拟机 A(kali)

  2、实验主机 B(win 10)

  3、保证虚拟机和主机在同一网段,方法在上一篇有写

实验步骤:

  1、kali 里使用 netdiscover -i eth0 [-r range...] 来获取目标主机的 IP 地址,这里直接使用主机 B 的 IP 和网关

  2、kali 终端使用 ettercap -i eth0 -Tq -M arp:remote /// /// 来进行流量欺骗,前一个 /// 为 B 的 IP,后者为网关

注:/// 的完整写法为 MAC/IPs/IPv6/PORTs,默认为全部,MAC 为物理地址,IPs 为 IPv4,PORTs 为端口号

  若  ettercap 操作失败,需要我们对其进行提权

  修改 /etc/ettercap/etter.conf 文件,将 ec_uidec_gid 的值改为 0,可以使用  leafpad、vim 等进行操作

  3、打开一个新的终端,通过 driftnet -i eth0 -a -d dir 来把 B(目标主机)浏览的图片保存在目录 dir 里,也可以通过 -b 弹窗直接查看浏览的图片

  4、打开主机 B 的浏览器查看图片(需要 http 的)

  5、在 kali 里打开相应文件夹,查看里面的内容

扩展:

  1、netdiscover

    a、基于 ARP 协议

    b、主动被动地发现WIFI或交换网络的主机

    c、常用参数选项:

      -i :接口。选择你监控的接口,比如eth0

      -r :range 比如192.168.0.0/24(/24 表示网络号为 24 位)

      -l :从文件读取range列表

      -p :被动模式

      -t :每个ARP请求之间等待时长,单位为毫秒。这个可以用来规避检测系统的告警

      -c :对每个IP发多少个探针

      -P :输出形式更适合重定向到一个文件中。

注:具体可以使用 man netdiscovernetdiscover -h 来查询详细操作

  ARP 协议是将 IP 地址转换为 MAC 地址(物理地址)地网络协议

  局域网中主机的通讯是通过 MAC 地址来实现的,区分 IPv4 里的网络号和主机号

  2、ettercap [OPTIONS] [TARGET1] [TARGET2]:

    a、两种运行方式:UNIFIED 方式是以中间人方式嗅探;BRIDGED 方式是在双网卡情况下,嗅探两块网卡之间的数据包

    b、常用参数:

      -i :指定接口

      -T :文本模式,常配合 -q 安静模式使用,-s 表示加载脚本

      -M :指定中间人模式

        ·ARP 欺骗:arp:remote(双向)、arp:oneway(单向,欺骗目标一到目标二的通讯)

        ·ICMP 欺骗:icmp:(MAC/IP)

        ·DHCP 欺骗:dhcp:(ip_pool/netmask/dns)

      如:-M dhcp:/255.255.255.0/192.168.0.1 不提供 IP 地址,只欺骗目标子网掩码和 DNS 服务器

    c、常见参数组合:

      ARP 毒化 eth0 所在的网段,安静模式文本显示:ettercap -Tqi eth0 -M ARP /// ///

      对 192.168.1.120 进行 DNS 欺骗,使用默认网卡 eth0,文本模式安静显示:ettercap -Tq -P dns_spoof -M arp:remote /192.168.1.120// ///

  3、driftnet [options] [filter code]:

    a、driftnet 是一款使用简单的图片捕获工具,可以很方便的在网络数据包中抓取图片

    b、参数命令:

      -b :捕获到新的图片时发出嘟嘟声

      -i :选择监听接口

      -f:读取一个指定 pcap 数据包中的图片

      -p :不让所监听的接口使用混杂模式

      -a :后台模式,将捕获的图片保存到目录中(不会显示在屏幕上)

      -m :指定保存图片数的数目

      -d :指定保存图片的路径(目录)

      -x:指定保存图片的前缀名

ettercap + driftnet 实现同网段下流量欺骗的更多相关文章

  1. debian下arp欺骗

    sudo sysctl -w net.ipv4.ip_forward= sudo sysctl -p arpspoof -i eth0 -t 目标ip -r 伪装ip或者ettercap -i eth ...

  2. Nginx + LUA下流量拦截算法

    前言 每逢大促必压测,每逢大促必限流,这估计是电商人的常态.每次大促期间,业务流量是平时的几倍十几倍,大促期间大部分业务都会集中在购物车结算,必须限流,才能保证系统不宕机. 限流算法 限流算法一般有三 ...

  3. 随笔-未整理-linux下流量查看

    nethogs: 按进程查看流量占用 iptraf: 按连接/端口查看流量 ifstat: 按设备查看流量 ethtool: 诊断工具 tcpdump: 抓包工具 ss: 连接查看工具 其他: dst ...

  4. [记]Centos下流量统计使用记录

    因为最近要进行centos流量统计,需求是想针对tomcat进行针对性的上下行流量时段统计及汇总,找了很多资料及命令,要么是可以针对进程的但是没有汇总,要么是有汇总但是不针对进程. 所以只能混合几个命 ...

  5. Java解析网段下包含的所有IP地址

    import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;impor ...

  6. 同网段下,windows自带远程桌面连接

    1.服务器关闭防火墙 2.右键点击’我的电脑‘进入’属性‘点击左侧菜单栏中的’远程设置‘: 把远程桌面选项设置成’允许运行任意版本远程桌面的计算机连接‘. 3.客户端点击“开始”在附件菜单下面找到“远 ...

  7. python-扫描某一网段下的ip

    #!/usr/bin/env python #-*- coding:utf-8 -*- ############################ #File Name: ipscaner.py #Au ...

  8. ping一个网段下的所有ip

    for /l %i in (1,1,255) do ping -n 1 -w 60 192.168.0.%i | find "Reply" >>d:\pingall.l ...

  9. 记录利用ettercap进行简单的arp欺骗和mitm攻击过程

    方法均来自网络,本人只是记录一下自己操作的过程,大神请无视之- 攻击主机平台:kali-linux        被攻击主机:安卓手机192.168.1.107    (在同一局域网内) 1.利用et ...

随机推荐

  1. 省市区县的sql语句——城市

    /*SQLyog v10.2 MySQL - 5.5.48 : Database - 省市县****************************************************** ...

  2. 为什么使用dispatch_sync

    1.充分利用多线程的性能: 2.将分散在多线程中的核心操作归并到一个queue执行(通常为一个串行队列). 3.便于在任务线程中进行后继操作. 术语: 任务线程: 同步模块.

  3. Ad hoc polymorphism

    与面向对象中的接口类或抽象类中定义的函数组类似: 函数的具体执行依赖与函数医用的类型. In programming languages, ad-hoc polymorphism[1] is a ki ...

  4. apicloud图片上传

    app中的图片上传,例如:个人信息页面,上传头像 使用: UIMediaScanner 地址: https://docs.apicloud.com/Client-API/UI-Layout/UIMed ...

  5. 分别用for循环,while do-while以及递归方法实现n的阶乘!

    分别用for循环,while do-while以及递归方法实现n的阶乘! 源码: package book;import java.util.Scanner;public class Access { ...

  6. swift-UITableView的基本使用

    废话不多说了,直接贴我今天写的代码吧:如果新手有什么不懂的,可以发我邮箱. // //  singleInfo.swift            个人信息 //  Housekeeper // //  ...

  7. JavaScript获取日期方法

    var time = new Date(); //当前时间 var year = time.getFullYear();//当前年份 var month = time.getMonth()+1; // ...

  8. font-size:0消除元素间距

    容易发现,inline-block元素之间会有间距, <!DOCTYPE html> <html> <head> <title></title&g ...

  9. android下xml放哪儿?

    1.用Project->Deployment,打开发布文件窗口,增加要发布的文件.然后设置文件发布的位置Remote Path,填写为assets\internal\ 2.代码 varp: st ...

  10. 【Codeforces 229B】Planets

    [链接] 我是链接,点我呀:) [题意] [题解] 设dis[i]表示到达i号传送器的最早时刻. 显然,虽然有那么多的出发时刻的限制,但我们还是越早到越好的. 因为你到得越早,出发的时间肯定不会比到达 ...