验证文件切分实验

实验目标:

对数据包负载文件进行分割,可以让分割块近似1000字节。

背景:

PACK是一种基于接收端的字节缓存算法。核心思想是利用当前的数据预测下一步需要接收的数据。

但是数据块不应该被分割的太小,这样的话会耗费过多的内存和磁盘; 当然也不能分割的太大,

数据块过大会导致预测的命中率降低。具体的PACK算法中,我们需要找到前后两个分割点,来确定

一个数据块,然后根据此数据块来预测下一次需要接收的数据。当分割点只受其内容影响的时候,

发送数据的修改对数据的预测影响有限。

预备知识:

rabin指纹通过数据内容计算,因此可以用于计算分割点。原理可以参考维基百科条目:https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm。

在统计学中,中位数(median)被定义为一系列数据的中点。在这一数据点所有数据的一半在其

之上而另一半在其之下。百分位点用于定义数据集或数据分布中等于或者小于一个特定数据值的个体

百分数。对数据集排序后,我们可以将数据分成4等份,分别为:最小值,25百分位点,中位数,

75百分位点,最大值。标准差表示一个数据集中变异性的平均值,实际含义是与均值的平均距离。

标准差越大,每一个数据点与数据分布的均值的平均距离越大。

实验步骤:

  1. 从pacp文件读取TCP的数据负载部分。
  2. 针对TCP的数据负载部分计算rabin指纹并记录采样点,采样点将作为数据的分割点。
  3. 通过数据的分割点来计算分割区间的大小
  4. 使用R语言来分析分割区间的数据分布

实验结果:

1.验证pic.pcap图片数据

上图为R语言分析的结果,通过上图我们可以观察出两点:

中位数为962,均值为1126,中位数和均值接近说明数据集中的极大值或极小值的影响有限

75百分位点为1332说明整个数据集的四分之三的数据都是小于1332

在针对data数据集计算其标准差,那么得出的标准差为:540.267410224。说明数据集中

所有数据到均值的平均距离就是大约540。

2.验证wzhvod.pcap数据

通过上图可以观察数据大部分分布在1325以内。其标准差为:562.128433851。

3.对比实验

使用python的random模块在【570, 2000】之间随机生成样本空间,观察其数据特征。

此数据集的标准差为:413.00726093

通过实验1,2和3的标准差的对比,我觉得差距为100多应该可以接受。实验1,2和实验3的75百分位点

的差距也不是太大。

实验结论:

1.采用rabin指纹的方法可以将数据按内容切分。

2.切分出的数据块可能出现极大值,出现此问题的原因是:计算出的指纹没有被取样。

时间: 2024-10-14 14:18:51

验证文件切分实验的相关文章

链路聚合LACP 配置和结果验证(51cti实验11)

1. 实验线路连接图使用Cisco Packet Tracer6.0 构建拓扑结构图. 2. 实验内容(1) 按图配置各台计算机IP 地址.(2) 参阅教材中内容,完成链路聚合的配置内容,配置要求如图9.14 所示.在各台交换机上使用showrunning-config 和show etherchannel summary 查看链路聚合的配置情况,并使用Ping 指令测试各台计算机之间的连通性. SWA Switch>enable Switch#configure terminal SA(con

百度联盟“获取验证文件失败或文件错误”解决办法

许多朋友都用过百度联盟,不过,我相信好多朋友都会遇到过这种情况,不管你的网站是备-案了还是没备-案,你在申请百度联盟的时候都会遇到网站验证不成功的问题,提示获取验证文件失败或文件错误,请您确认正确放置后,再次点击"完成验证"按钮,如下图: 我以前没有用过百度联盟,不过我以前用过淘宝联盟.前些天我在申请百度联盟的时候需要验证网站权限,就是下载验证文件上传到网站根目录,然后点击验证的. 不过,我发现怎么验证都不成功,我的文件明明也上传到网站的根目录了.其实,对于这个问题我一直就知道怎么解决

磁盘存储结构与文件恢复实验(FAT文件系统)

实验地点:主楼A2-412 一.实验室名称:主楼实验室A2-412                  二.实验项目名称:磁盘存储结构与文件恢复实验 三.实验学时:6学时 四.实验原理: 在Debug环境下利用基本汇编程序对引导扇区.文件分配表.目录表等结构进行显示,并进行分析: 使用工具软件WINHEX对指定的文件(被删除文件)进行恢复. 五.实验目的: 1)了解文件系统在磁盘上的存储映像和它在系统安全中的地位和作用: 2)了解文件目录结构及其访问方式: 3)掌握使用系统基本汇编程序进行磁盘和文

ssh 登陆指定 验证文件

当前用户jim ssh-keygen -t rsa 生成密钥 把pub结尾的公用密钥数据追加到192.168.1.3上的 /home/tom/.ssh/authKeys(文件名可能不一样) ssh -i  /home/ssh/124_rsa [email protected]  #指定验证文件,并且登陆时用远程机上tom这个用户

Linux命令之大文件切分与合并

当面临将一个大文件进行切分时,linux的split命令是很好的选择.它包含多种参数,支持按行.大小进行切分. split命令的语法如下: split [--help][--version][-a ][-b][-C ][-l ][要切割的文件][输出文件名前缀] 对应的参数描述如下: -a, --suffix-length=N 使用的后缀长度 (默认为 2) -b, --bytes=SIZE 每个输出文件的字节大小 -C, --line-bytes=SIZE 每个输出文件每行的最大字节大小 -d

如何使用pgp证书来验证文件的完整性

下载nginx服务器时提供了pgp证书,可以验证完整性. pgp证书是这样生成的(个人理解): 1. 现找到文件的HASH码,类似于md5 2. 用私钥对其进行加密. 3. 将公钥暴露到网站上. 4. 将证书暴露到网站上. 5. 终端用户导入公钥到本地. 6. 终端用户使用公钥解密证书,拿出hash信息来验证文件的完整性. 参考列表: http://www.jb51.net/LINUXjishu/156064.html http://blog.sina.com.cn/s/blog_630bf12

文件上传如何合理地验证文件类型?

在网上搜了一下,一般都是通过文件后缀名判断,很显而易见的是用户通过修改后缀名来逃避,我想问的问题有两个: 还有什么验证文件类型的方法? 攻击者利用后缀名漏洞能造成什么样的危害? 在网上找到的攻击方式有: 修改后缀名(exe->jpg), 多后缀名(test.php.fr), 后缀名大小写(php->pHp), 代码嵌入(图片里注入php代码), null字符(00) 相对路径(../../../) 知乎用户-江南回答 其实对于防御者来说,其实不用这么费劲来进行验证 时间戳+随机数+.jpg后缀

Hadoop Mapreduce 中的FileInputFormat类的文件切分算法和host选择算法

文件切分算法 文件切分算法主要用于确定InputSplit的个数以及每个InputSplit对应的数据段. FileInputFormat以文件为单位切分成InputSplit.对于每个文件,由以下三个属性值确定其对应的InputSplit的个数. goalSize:根据用户期望的InputSplit数据计算,即totalSize/numSplit.totalSize为文件总大小:numSplit为用户设定的Map Task个数,默认情况下是1. minSize:InputSplit的最小值,由

[C#.NET] 如何 使用 HashAlgorithm 类 / 杂凑验证文件是否有被修改

[C#.NET] 如果使用 HashAlgorithm 类 / 杂凑验证文件是否有被修改 1.HashAlgorithm 类 提供我们两种Hash算法包含了SHA1.SHA256.SHA384.SHA512.MD5. 2.HashAlgorithm 类 可以用来验证文件是否有被修改过. 3.只要有修改过文件内容就会产生不可预期的杂凑值变化,如果在网络上下载一个文件,通常都会附上该文件的MD5验证码,那就是要来验证文件是否被有心人士修改过,以确保文件是安全的. 4.我们可以不用知道杂凑算法,只要会