其中在做http数据包临控时碰到gzip压缩格式,在网友发布的一些技术文章基础上,经过一段时间的研究.调试,终于解析成功.现将核心代码公布于此,希望能够和大家一起共同学习交流.注:以下代码需要依赖zlib开源库,可以到网上搜索下载. /* HTTP gzip decompress */int CNNHttp::httpgzdecompress(const PVOID zdata, DWORD nzdata,                            PVOID data, DWORD…
GPS数据包解析 GPS数据包解析 目的 GPS数据类型及格式 数据格式 数据解释 解析代码 结构体定义 GPRMC解析函数 GPGGA解析函数 测试样例输出 gps数据包格式 gps数据解析 车联网 目的 任务很简单就是将从串口获取的GPS数据包提取你需要的gps数据信息,过滤掉不用的数据即可. GPS数据类型及格式 GPS数据信息类型有下面几类: 类别 描述 GPGSV 可见卫星信息 GPRMC 推荐最小定位信息 GPVTG 地面速度信息 GPGGA GPS定位信息 GPGSA 当前卫星信息…
C++版的网络数据包解析策略(升级版) 一.数据包格式形如下图 二.代码 int ReceiveFromRemoteEndPoint() { int nPackageDataLength = ; char *szPackageCleaner = NULL; char *szPackageIterator = NULL; do { char *szReceiveArray = new char[RECEIVED_BUFFER_LENGTH](); int nReceiveLength = RECE…
[九度OJ]题目1475:IP数据包解析 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1475 题目描述: 我们都学习过计算机网络,知道网络层IP协议数据包的头部格式如下: 其中IHL表示IP头的长度,单位是4字节:总长表示整个数据包的长度,单位是1字节. 传输层的TCP协议数据段的头部格式如下: 头部长度单位为4字节. 你的任务是,简要分析输入数据中的若干个TCP数据段的头部. 详细要求请见输入输出部分的说明. 输入: 第一行…
目录 过滤器 数据包解析 参考 推荐阅读: https://www.cnblogs.com/zwtblog/tag/计算机网络/ 过滤器 显示过滤器 和 捕获过滤器,俩者使用非常类似. 在Wireshark首页未选定接口前可以输入捕获规则. 多个过滤要求可以用连接词 && wireshark进行过滤时,按照过滤的语法可分为 协议过滤 和 内容过滤. 对标准协议,既支持粗粒度的过滤如HTTP,也支持细粒度的.依据协议属性值进行的过滤. 如 tcp.port==53.http.request.…
linux 文件压缩格式详解 压缩文件原理 在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据比特(或者其它信息相关的单位)表示信息的过程.例如,如果我们将"compression"编码为"comp"那么这篇文章可以用较少的数据位表示.常见的例子是ZIP文件格式,此格式不仅仅提供压缩功能,还可作为归档工具(Archiver),能够将许多文件存储到同一个文件中. 简单的说,就是经过压缩软件压缩的文件叫压缩文件,压缩的原理是把文件的二进制…
一.启动镜像initrd.img 文件类RedHat 系统从vmlinuz 核心引导后,会读取initrd.img 启动镜像.该文件中包含驱动模块等信息,是非常重要的文件.不同版本使用的格式不同.1.RHEL 4.0 版本采用ext2 文件格式镜像,再通过gzip 压缩: 引用 # file initrd.imginitrd.img: gzip compressed data, from Unix, max compression# mv initrd.img initrd.img.gz# gu…
解压: 1.*.tar 用 tar –xvf 解压, --skip-old-files跳过已经存在的文件,压缩用tar -cvf 2.*.bz2 用 bzip2 -d或者用bunzip2 解压 3.*.gz 用 gzip -d或者gunzip -c解压 gzip命令中,  -1或--fast最快,-9或--best最慢压(高压缩比).系统缺省值为6. 压缩,并保留源文件: gzip –crv --fast filename > filename.gz  解压,并保留源文件: gzip -dc 2…
tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的参数是根据需要在压缩或解压档案时可选的. -z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名. # tar -cf all.tar *.jp…
zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况下覆盖文件: -d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他 zip -d myfile.zip smart.txt 删除压缩文件中smart…
SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html 说明: 1.环境:SpringMVC+Spring+Tomcat7+JDK1.7 2.支持 zip和rar格式的压缩文件上传和解压: 3.这里只提供处理上传文件的工具类,方法在Controller中进行的调用,前端View层进行文件上传的表单提交不再进行赘述. ---------------------------------------------------------------分割线----------…
我们上传东西的时候,由于文件过大而不能上传,或者不给上传,最明显的就是发邮件了,附件最大5M,有的10M.如果超过了就郁闷了.这个时候,如果能把压缩的东西,分割开来就比较爽了,windows下面我想大家知道怎么分割,利用winrar,winzip图型化设置压缩出来的块的大小.但是在linux下面有没有这样的方法了,linux下面有rar命令,有zip命令,windows下面这二种方式可以分割压缩,我想linux下面绝对也是可以的.下面是我尝试过程的记录: 一,rar分卷压缩和合并解压 rar -…
是用innobackup stream 压缩备份,解压后很多文件还是qp格式的压缩文件,需要再解压. 备份: [root@ ~]# /usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password=*** --stream=xbstream --compress --compress-threads=8 --parallel=4 ./ > /data/backup/all_db_backup.xbstream 解压:…
AES 压缩解压 压缩加密解密解压 对称加密: 就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密.密钥是控制加密及解密过程的指令.算法是一组规则,规定如何进行加密和解密.   因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要.因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题.     由此可见密钥传递也是比较重要的一环,一般都是通过对密钥二次加密的方式,进行密钥的传输   加密实现代码:   public static byte[…
PHP zip压缩文件及解压 利用ZipArchive 类实现 只有有函数.界面大家自己写 ZipArchive(PHP 5.3 + 已自带不需要安装dll) /** * 文件解压 * @param $zipFile 要解压的文件 * @param $toPath 解压到拿个目录 * @return bool */ function zipExtract($zipFile, $toPath) { if (empty($zipFile) || empty($toPath)) return fals…
题目描述: 我们都学习过计算机网络,知道网络层IP协议数据包的头部格式如下: 其中IHL表示IP头的长度,单位是4字节:总长表示整个数据包的长度,单位是1字节. 传输层的TCP协议数据段的头部格式如下: 头部长度单位为4字节. 你的任务是,简要分析输入数据中的若干个TCP数据段的头部. 详细要求请见输入输出部分的说明. 输入: 第一行为一个整数T,代表测试数据的组数. 以下有T行,每行都是一个TCP数据包的头部分,字节用16进制表示,以空格隔开.数据保证字节之间仅有一个空格,且行首行尾没有多余的…
全球时区的划分: 每个时区跨15°经度.以0°经线为界向东向西各划出7.5°经度,作为0时区.即0时区的经度范围是7.5°W——7.5°E.从7.5°E与7.5°W分别向东.向西每15°经度划分为一个时区,直到东11区和西11区.东11区最东部的经度是172.5°E,由172.5°E——180°之间就是东12区.西11区最西部的经度是172.5°W,由172.5°W——180°之间就是西12区.东.西12区各占经度7.5°,合成一个完整的时区,即全球总共划分为24个时区.东.西12区钟点相同,日…
初版:http://www.cnblogs.com/wjshan0808/p/6580638.html 说明:在实现了对应的接口后该策略可以适合绝大多数的网络数据包结构 首先,是三个接口 IProduceProxy.h #ifndef _I_PRODUCE_PROXY_H_ #define _I_PRODUCE_PROXY_H_ //Code #define CODE_PRODUCE_PROXY_OK 0x00 //OK #define CODE_PRODUCE_PROXY_NI 0x01 //…
http://www.creseek.cn/products-install/install_on_bsd_linux/ 中文检索 离线cloudera ecosystem components: http://archive-primary.cloudera.com/cdh4/redhat/5/x86_64/cdh/4.6.0/RPMS/x86_64/ ARP数据包…
主要是为了能大量的减少文件使用空间,为了能节约带宽. 那么就用了7z的压缩方式. 这里,使用了7z的压缩方式,硬生生的将一个10k多的图片压缩成了3k左右的包.图片是不好压缩的,这个压缩比比zip gzip bzip 等好很多. 请查阅 7z 命令的用户手册 这里,我给放出了几个简单的example,一看就会用. example 1 非常详细啦,一般用不着这么多的 flag options. 所以,我一般都只用 7z a -t7z -mx= something.7z apicture.jpeg…
情景:把project_a文件夹下的文件打包成project.war 1. 打包 jar -cvf project.war /project_a 说明: -c 创建war包 -v 显示过程信息 -f 指定 JAR 文件名,通常这个参数是必须的 -M 不产生所有项的清单(MANIFEST]文件,此参数会忽略 -m 参数 -0 这个是阿拉伯数字,只打包不压缩的意思 2. 解压 jar -xvf project.war 注:解压到当前目录 jar 命令详解 使用不带任何的 jar 命令我们可以看到 j…
默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行压缩传输,我们需要手动来调. 开启gzip的指令如下: gzip on; gzip_http_version 1.0; gzip_disable "MSIE [1-6]."; gzip_types text/plain application/x-javascript text/css t…
xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具. 之前xz使用一直很少,所以几乎没有什么提起. 我是在下载phpmyadmin的时候看到这种压缩格式的,phpmyadmin压缩包xz格式的居然比7z还要小,这引起我的兴趣. 最新一段时间会经常听到xz被采用的声音,像是最新的archlinux某些东西就使用xz压缩.不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些.不过压缩是一次性的,所以可以忽略. xz压缩文件方法或命令 xz -z 要压缩的…
压缩命令主要用到tar打包和split分割,命令如下: tar czf - aaa | split -b 1024m - bbb.tar.gz_ aaa可以是文件也可以是目录, 大小可以是b.k.m这3个单位. 解压是: cat xxx.tar.gz_* | tar zvxf - 也可以先把包合起来再解压: cat xxx.tar.gz_* >xxx.tar.gz tar zvxf xxx.tar.gz 以上,如果有不同格式,请适当调整参数 转:http://blog.csdn.net/a5na…
3.2 使用 unzip 命令解压缩 zip 文件 将 shiyanlou.zip 解压到当前目录:   $ unzip shiyanlou.zip 使用安静模式,将文件解压到指定目录:   $ unzip -q shiyanlou.zip -d ziptest 上述指定目录不存在,将会自动创建.如果你不想解压只想查看压缩包的内容你可以使用 -l 参数:   $ unzip -l shiyanlou.zip 注意: 使用 unzip 解压文件时我们同样应该注意兼容问题,不过这里我们关心的不再是上…
JDK 压缩与解压工具类 在实际的应用场景中,特别是对外传输数据时,将原始数据压缩之后丢出去,可以说是非常常见的一个case了,平常倒是没有直接使用JDK原生的压缩工具类,使用Protosutff和Kryo的机会较多,正好在实际的工作场景中遇到了,现在简单的看下使用姿势 I. 压缩与解压工具类 1. 基本实现 主要借助的就是Deflater, Inflater两个工具类,其使用姿势如下 public static String uncompress(byte[] input) throws IO…
要采集一个网站,目标站采用了gzip压缩传输网页,本来应该只要发送一个http头 Accept-Encoding: identity或者干脆不发送这个头等,就可以使目标站返回没有经过gzip压缩的页面了,不过很不幸,目标站无视客户端的请求,仍然返回gzip数据,造成乱码. 其实php对gzip解压很简单,用内置的gzdecode函数就可以了,不过很可惜我配置了半天也无法支持gzdecode函数,所以只好变通一下: 复制代码 代码如下: if (!function_exists('gzdecode…
下面是搜集的Linux系统下,压缩&&解压命令,以备參考使用.     .tar   解包: tar xvf FileName.tar   打包:tar cvf FileName.tar DirName    tar cvf a.tar a.txt b.txt c.txt   (注:tar是打包.不是压缩!)   ---------------------------------------------   .gz   解压1:gunzip FileName.gz   解压2:gzip -…
需求描述: 前段时间写了一篇博客<Java实现对文本文件MD5加密并ftp传送到远程主机目录>,实现了一部分的业务需求.然而有些业务可能不止传送一个文件,有时候客户需要传多个文件,原有系统并不支持,因此现在需要在这个的基础上新开发一个功能,要求可以实现该业务场景,传送多个文件到远程主机指定的目录上. 业务梳理: 对于此需求,我有两个想法,想法一是通过点击文件上传按钮的选择文件的时候,设置让用户选择多个文件,Java端对于文件的对象的信息设置成数组,但是这个方法,我尝试设置Struts的<…
package com.wy.data.emaildata.util; import org.apache.commons.io.FileUtils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.util.zip.GZIPInputStream; import java.…