python 读取修改pcap包的例子
作者:seen_in_hw 发布时间:2023-11-29 23:56:48
标签:python,读取,pcap
思路
利用scapy库,在这个库的基础下能够做很多的事情,python读取pcap包网上一找一大把
将读取出来的pcap包改一个名字,然后写回,这不就OK了吗
写回的函数是:scapy.wrpcap(‘filename',list)
第一个参数是filename,第二个参数是一个list,保存报文的list
样例代码
#coding=utf8
import scapy.all as scapy
from scapy.layers import http
import random
#p就是一堆数据,上几层的各种数据
charset = 'QWER.;[]?|%123445TYUerty!@#$%^&*()-uiopadDFGHJKLZXCVBNMqwfghjklzcvbnm,6789=+' #字符集在这里,可以随意更改
def string_change(str_data): #通过字符集替换一个等长的攻击字符串
str_response = ''
for i in range(len(str_data)):
index = random.randint(0,len(charset)-1) # 随机整个区间
str_response+=charset[index]
print str_response
return str_response
# 提取出pacp文件中的所有包,改写path字段然后写入新的pcap,tcp流都会保存
list_a = []
if __name__ == '__main__':
count = 0 #用来记载重复生成样本数据
port = 0
packeges = scapy.rdpcap('/home/seen/桌面/http.pcap')
while(count!=1):
#带有混淆的攻击流量
for p in packeges: #重新拷贝流的时候需要给端口修改啥的,这里还没做
temp = p
if temp.haslayer("HTTPRequest"):
temp["HTTPRequest"].Path = string_change(temp["HTTPRequest"].Path)
list_a.append(temp)
else:
list_a.append(temp)
count = count + 1
scapy.wrpcap('/home/seen/桌面/test_1to0.pcap',list_a)
来源:https://blog.csdn.net/qq_23100787/article/details/80512485


猜你喜欢
- 我们在使用selenium库调用Chromedriver.exe时需要很多的配置参数下面列出了常用参数chrome_options.add_
- 问题来源jupyter notebook在命令行中启动之后,默认根目录为命令行的当前目录,这样便利性较差。下面给出了三种指定启动目录的方法,
- 算法简介鸡群算法,缩写为CSO(Chicken Swarm Optimization),尽管具备所谓仿生学的背景,但实质上是粒子群算法的一个
- 本文实例为大家分享了python网络爬虫的笔记,供大家参考,具体内容如下(一) 三种网页抓取方法1、 正则
- 本文实例讲述了wxpython中自定义事件的实现与使用方法。分享给大家供大家参考,具体如下:创建自定义事件的步骤:① 定义事件类,该事件类必
- 心血来潮写了个多线程抓妹子图,虽然代码还是有一些瑕疵,但是还是记录下来,分享给大家。Pic_downloader.py# -*- codin
- startswith()方法Python startswith() 方法用于检查字符串是否是以指定子字符串开头如果是则返回 True,否则返
- 绘制折线图命令形如:# 常用plt.plot(x, y, linewidth = '1', label = "te
- 写在前面这次的爬虫是关于房价信息的抓取,目的在于练习10万以上的数据处理及整站式抓取。数据量的提升最直观的感觉便是对函数逻辑要求的提高,针对
- UEditor效果图一、简介UEditor是一个开源免费的编辑器,由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,
- 引言从他人的错误中学习,通过本指南避免常见陷阱和坏习惯,提高你的 Go 编程技巧在 Go 语言中,就像在任何编程语言中一样,了解常见陷阱和坏
- 1.IP代理某些网站会检测一段时间内某IP的访问次数,若访问次数过多会禁止访问,这时需要设置一些代理服务器,每隔一段时间换一个代理。IP代理
- 前言:Event在python线程间同步是一种常用的方法,本博客以生产者线程和工作者线程为例说明Event在线程间进行10次同步的应用。im
- 前言本文从代码复用的角度一步一步演示如何从python普通代码进化到面向对象,并通过代码去解释一些面向对象的理论。所以,本文前面的内容都是非
- 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返
- 前言我们百度搜索一些东西得时候,经常找到文档里面然后就会发现需要充值才能复制!怎么可以不花钱也保存呢?今天就分享给大家一个python获取文
- MySQL清空分区表单个分区数据1.单个分区清空ALTER TABLE xxx TRUNCATE PARTITION p
- 解决方法: 给 audio 组件绑定点击事件,手动触发播放暂停方法!代码片段:wxml文件<!-- 判断是语音通话,有通话记录,通话描
- 概述通过自定义网络, 我们可以自己创建网络并和现有的网络串联起来, 从而实现各种各样的网络结构.SequentialSequential 是
- 这篇文章主要介绍了使用python远程操作linux过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需