首先介绍一个python第三方库--Scapy,这个库不是标准库,默认是没有的,需要安装,不过在kali-linux里边是默认安装的,

这里我用kali做攻击者,xp做受害者

关于Scapy

Scapy是一个功能强大的交互式数据包操作程序。它能够伪造或解码大量协议的数据包,通过线路发送它们,捕获它们,匹配请求和回复等等。它可以轻松处理大多数经典任务,如扫描,跟踪路由,探测,单元测试,攻击或网络发现(它可以取代hping,85%的nmap,arpspoof,arp-sk,arping,tcpdump,tethereal,p0f等)。它还能在许多其他工具无法处理的其他特定任务中表现良好,例如发送无效帧,注入自己的802.11帧,组合技术(VLAN跳跃+ ARP缓存中毒,WEP加密通道上的VOIP解码,...... )等。

首先我们学习下Scapy的几个函数用法,

getmacbyip----查找ip的Mac地址

get_if_hwaddr----查找网卡的Mac地址

看下图:受害者的ip地址为192.168.122.136,网关是192.168.122.2,攻击者ip:192.168.122.129

关于ARP欺骗
由于局域网的网络流通不是根据IP地址进行,而是根据MAC地址进行传输。所以,MAC地址在A上被伪造成一个不存在的MAC地址,这样就会导致网络不通,A不能Ping通C!这就是一个简单的ARP欺骗。

本来受害者是通过将请求发给网关,然后网关去访问外面,这里ARP欺骗是将攻击者Mac地址假装成网关的Mac地址,完成ARP欺骗

了解ARP

我们需要用到的是下边5个,

op---   接收包数(默认为1)

hwsrc---    仿作的Mac地址(也就是攻击者的Mac地址)

psrc---   网关的ip地址

hwsrc---    受害者的Mac地址

pdst ---     受害者的ip地址

因为是以太网,因此要了解下Ether()

三个参数,目的主机MAC地址,攻击者Mac地址,

部分代码:

这里包的地方有个/号

这是将两者连接的意思,例子如下:

接下来构造一直发送请求,来认识sendp

sendp(x, inter=0, loop=0, iface=None, iface_hint=None, count=None, verbose=None, realtime=None, return_packets=False, *args, **kargs)

x为包,inter为请求间隔,iface为网络接口

完整代码:

这时我们来测试一下

不开启ARP欺骗,ping是畅通的

开启后:

要想恢复通讯,改一下网关所指的Mac地址

将pack包里边的psrc改为网关Mac :gmac即可

这里仅仅只能让受将害者断网,要想进一步学习

来举个例子

接收受害者的图片

用到的  软件 driftnet

开启ip转发代码

sysctl net.ipv4.ip_forward=1

再输入driftnet,打开窗口

然候在受害者电脑上打开图片链接,即可在driftnet里边显示

快去试试吧!

用python实现ARP欺骗的更多相关文章

  1. Python黑帽编程 3.1 ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  2. Python黑客编程ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  3. python scapy的用法之ARP主机扫描和ARP欺骗

    python scapy的用法之ARP主机扫描和ARP欺骗 目录: 1.scapy介绍 2.安装scapy 3.scapy常用 4.ARP主机扫描 5.ARP欺骗 一.scapy介绍 scapy是一个 ...

  4. 编写Python脚本进行ARP欺骗

    1.系统环境:Ubuntu 16.04 Python版本:2.7 2.攻击机器:Ubuntu(192.16.0.14) 目标机器:Windows 7(192.168.0.9) 网关:(192.168. ...

  5. arp协议分析&python编程实现arp欺骗抓图片

    arp协议分析&python编程实现arp欺骗抓图片 序 学校tcp/ip协议分析课程老师布置的任务,要求分析一种网络协议并且研究安全问题并编程实现,于是我选择了研究arp协议,并且利用pyt ...

  6. python arp欺骗

    使用python构造一个arp欺骗脚本 import os import sys from scapy.all import * import optparse def main(): usage=& ...

  7. 用python编写的定向arp欺骗工具

    刚学习了scapy模块的一些用法,非常强大,为了练手,利用此模块编写了一个arp欺骗工具,其核心是构造arp欺骗包.加了一个-a参数用于进行全网欺骗,先暂不实现.代码如下: #--*--coding= ...

  8. 用Python构造ARP请求、扫描、欺骗

    目录 0. ARP介绍 1. Scapy简述 2. Scapy简单演示 2.1 安装 2.2 构造包演示 2.2.1 进入kamene交互界面 2.2.2 查看以太网头部 2.2.3 查看 ICMP ...

  9. 关于ARP欺骗与MITM(中间人攻击)的一些笔记( 二 )

    一直没有折腾啥东西,直到最近kali Linux发布,才回想起应该更新博客了….. 再次说明,这些技术并不是本人原创的,而是以前记录在Evernote的旧内容(排版不是很好,请谅解),本文是继关于AR ...

随机推荐

  1. 关于文件I/o的原子操作

    [摘自<Linux/Unix系统编程手册>] 所有系统调用都是以原子操作方式执行的.这里是指内核保证了某系统调用中的所有步骤会作为独立操作而一次性执行,其间不会为其它进程或线程所中断. 原 ...

  2. 【LGR-052】洛谷9月月赛II(加赛)

    题解: 没打... ab题满世界都过了应该没什么意思 c题是个比较有意思的思维题(先看了题解才会的...) 我们考虑这么一件事情 没钥匙的人出门后 门一定是开着的 他进来的时候,门一定是开着的 其他时 ...

  3. nginx 源码安装的重启命令

    源码安装nginx就面临这样的麻烦,不能使用service nginx restart 来重启nginx,没办法只能重新加载下nginx. #/usr/local/nginx/sbin/nginx - ...

  4. 【ASP.NET】UCenter实现多站点同步登录退出

    利用UCenter实现discuz论坛和应用网站同步登录和退出功能 测试环境:Discuz! X3.2.UCenter 1.6..Net Framework 4.0 进入Discuz 后台的UCent ...

  5. Flink--输入数据集Data Sources

    flink在批处理中常见的source flink在批处理中常见的source主要有两大类. 1.基于本地集合的source(Collection-based-source) 2.基于文件的sourc ...

  6. Python--os的常见方法

    1.os.getcwd()+'/filename'------>相当于在当前运行文件的目录下创建一个以filename命名的文件 2.os.path.realpath(__file__)---- ...

  7. HDU5692 Snacks DFS序 线段树

    去博客园看该题解 题目 HDU5692 Snacks Problem Description 百度科技园内有n个零食机,零食机之间通过n−1条路相互连通.每个零食机都有一个值v,表示为小度熊提供零食的 ...

  8. 总结TCP为什么三次握手四次挥手

    为什么三次握手,而不是两次或者四次五次? 2019/3/4更新: 在阅读了很多技术博客后,发先大家对为什么三次握手不是两次众说纷纭:我觉得说的最好的是英文文章对TCP的解读.TCP和UDP的区别就是可 ...

  9. FastAdmin 基本知识流程一栏

      fastadmin进阶 安装:出现登陆页无法显示:可能是php的gd2扩展未开启 FastAdmin 在 Nginx 中的配置 用的是AdminLTE后台模板require.js.less.Bow ...

  10. MYSQL总览

    第一,二,三范式解决的是非主属性的关系.BC 范式解决的是主属性的关系:第二范式:就是完全依赖,没有部分依赖([id,b]->c 即不能c即依赖id又依赖b):[非主属性不能依赖于主键的一部分, ...