python考试题库 pcap_使用Python修改PCAP
我需要读取一个PCAP文件,修改一些字段(实际上是IPv4源和目标,以及以太网源和目标). PCAP已预先过滤,仅包括基于以太网的IPv4数据包.
到目前为止,我尝试使用Scapy进行此操作,但是Scapy存在严重的内存问题.读取〜350MB PCAP文件时,我的16GB RAM已满.实际上,只是阅读.我对此文件没有做任何其他事情.我也有found this answer,有了这些更改,阅读速度很快.一旦我开始修改数据包,内存就会再次膨胀. Scapy实际上在这种情况下不可用
我还考虑过使用其他工具,例如tcprewrite,但是它不能满足我的目的.每个数据包的源MAC始终相同,这也可以使用tcprewrite完成.源IP在给定的子网范围内应该是随机的,例如均匀分布在10.0.0.0/16中.不太容易.目的地IP甚至更加复杂,它需要根据给定的流量矩阵进行计算.
因此,问题是:如何读取PCAP文件,使用自定义功能修改四个基本字段(以太网src dst,IP src dst),然后将其写回到(另一个)PCAP文件中?
实际上,我框架的其余部分都是用Python编写的,因此我更喜欢基于python的解决方案.但是,由于我可以简单地调用其他脚本,所以这不是强制性的.谢谢!
解决方法:
我不知道是否有办法用scapy做到这一点,但您也可以使用非常简单的PcapFile.py库,该库允许您逐包读取/写入pcap文件(免责声明:我是其中的一位作者).如果您的需求不是太复杂(例如,您不需要重新生成校验和),则可以使用Python切片和Python的struct模块简单地修改帧的字节串.
但是我认为也有可能使Scapy使用p = Ether(packet_bytes)分析帧,并使用str(p)将其转换回PcapFile.py的字节流.这样,您就可以让scapy重新为您计算有效的校验和.
标签:pcap,python
python考试题库 pcap_使用Python修改PCAP相关推荐
- python第三方库有哪些-Python常用第三方库大盘点
Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域.下面简单介绍下网络爬虫.自动化.数据分析与可视化.WEB开发.机器学习和其他常用的一些第三方库,如果有你感兴趣的库,不妨去试试它的功能 ...
- 计算机二级Python选择题真题第一套,计算机二级Python考试题库
更多最新Python真题套题微信搜索小程序[Python计算机二级] 1.计算机完成一条指令所花费的时间称为一个( ). A.执行时序 B.存取周期 C.执行速度 D.指令周期 正确答案:D 解析: ...
- python考试题目及答案-python考试题库
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 4. 能够阅读和分析 python程序. 5. 熟练使用idle开发环境 ...
- python cgi库_《Python 数据库 GUI CGI编程》
1. 上次写在前面,我们介绍了一篇关于开始使用Python.今天我们将介绍Python数据库,GUI, CGI编程和Python和Python的区别.2.连接到数据库标准Python数据库接口是Pyt ...
- python支持向量机库安装,使用python学习【机器学习】需要安装的库~
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 ----------------------------------------------------------------------------- ...
- 以下属于python标准库的选项是-Python 标准库一览(Python进阶学习)
转自:http://blog.csdn.net/jurbo/article/details/52334345 写这个的起因是,还是因为在做Python challenge的时候,有的时候想解决问题,连 ...
- python第三方库安装方法-Python第三方库安装
Python有一个全球社区:https://pypi.org/,在这里我们可以搜索任何主题的Python第三方库.PyPI全称是Python Package Index,指的是Python包的索引,它 ...
- python pdf库_3个Python PDF库,提取信息、转换格式、分割剪裁有它就够了!
Python无处不在,似乎支持从主要网站到桌面实用程序到企业软件的所有功能.Python已经被用来编写流行的软件项目,如dnf/yum.OpenStack.OpenShot.Blender.Calib ...
- c调用python第三方库_用 Python ctypes 来调用 C/C++ 编写的第三方库
看到一篇简洁的文章--如何用Python ctypes调用C++(ctypes调用C没这么多麻烦事),不敢独享... 如果需要用 Python 调用 C/C++ 编写的第三方库(这些第三方库很可能就是 ...
最新文章
- 深入讲解微信小程序上传图片与JAVA后台的结合
- IT从业者(程序员等)之强身健体-武术
- 斐波那契数列(Fibonacci Sequence)
- 分布式锁的多种实现方式
- 高级点的php书,深入理解php:高级技巧、面向对象与核心技术(原书第3版) 中文pdf扫描版[76MB]...
- mysql使用多个索引_mysql索引合并:一条sql可以使用多个索引
- 怎样快速修改论文格式-使用人工智能技术助手
- 电子发票撤销 java_已确认的发票如何撤销
- 5G网元结构和协议栈
- 手机屏幕常见故障_iPhone手机一些比较常见的维修故障分析
- 童年学习机器人的 5 大好处
- 关于Element-ui中el-table在谷歌和360极速浏览器的兼容问题
- 用户登录 验证数据库
- 晶联讯LCD(JLX128128G-610-PC)使用教程
- undefined local variable or method `daemonize‘ for puma
- 计算机音乐如何复制到手机桌面,电脑上的歌怎么传到手机上
- 内蒙古中考计算机考试知识点总结,内蒙古包头中考语文备考分析及知识总结.doc...
- Cadence PSpice 模型10:ABM库的控制源型模型介绍与使用方法图文演示
- 【交互设计】如何设计“取消”按钮
- 乐优商城(10)--数据同步
热门文章
- pb调用c语言dll,PB调用C#编写的Dll类库
- java sort reverse_Java ArrayList sort() 方法
- 华为 mysql实例监控,华为云文档数据库服务DDS监控告警全新优化
- 每日一皮:这题作的没毛病...
- Spring-Security-入门(一):登录与退出
- prism项目搭建 wpf_WPF Step By Step 系列-Prism框架在项目中使用
- error LNK2001: 无法解析的外部符号 “void __cdecl cv::cvtColor
- insightface 切换GPU训练报错解决
- insightface mxnet训练 旧版
- mxnet.gluon 加载预训练