自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 libjpeg.h文件

/* * jpeglib.h * * Copyright (C) 1991-1998, Thomas G. Lane. * This file is part of the Independent JPEG Group's software. * For conditions of distribution and use, see the accompanying README fil

2015-06-17 14:36:37 2887 1

原创 jpeg_start_decompress (j_decompress_ptr cinfo)分析

GLOBAL(boolean)jpeg_start_decompress (j_decompress_ptr cinfo){ if (cinfo->global_state == DSTATE_READY) { /* First call: initialize master control, select active modules ;初始化参数*/ jinit_mas

2015-05-05 10:23:41 1667

原创 FFmpeg处理过程(代码说明)

编码环境:ubuntu 麒麟 14.10FFmpeg默认编译。在编译自己写的代码时,由于默认路径原因,直接修改源代码中doc/example下面的Makefile文件头文件如下:#include #include #include #include struct buffer_data { uint8_t *ptr; size_t size; ///< si

2015-04-23 21:23:56 723

原创 Linux查找包含某些字符串文件的命令

在Linux环境中,查找文件中是否包含某个字符串的方法:方法1,使用find命令,查找home下的包含www的文件 find /home/ –type f |xargs grep “www”方法2,使用grep,查找home下的包含www的文件 grep -r "test" /home/

2015-04-23 18:13:48 2603

转载 机器学习中的范数规则化之L0、L1与L2范数

机器学习中的范数规则化之(一)L0、L1与L2范数[email protected]://blog.csdn.net/zouxy09        今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化。我们先简单的来理解下常用的L0、L1、L2和核范数规则化。最后聊下规则化项参数的选择问题。这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文。

2015-04-01 10:00:44 957

原创 SeLeCT:Self-Learning Classifier for Internet Traffic

4.实验结果A、实验数据集B、性能评估用2个度量准则对聚类迭代算法的输出进行评估,聚类的个数以及被聚类流的百分比。用混淆矩阵对分类结果进行说明,混淆矩阵的每一行的代表分类的实际结果,每一列代表实际的分类结果。对性能进行评估时,采用以下三个度量标准:总体精度,召回,精度。总体精度并不能完全评估分类的能力,如果一个trace里面有90%的流为HTTP,讲所有的流都归为HTTP,其总

2014-12-09 17:55:14 666

原创 QQ2013 协议分析

在目前的版本中,其主要分析0825 0826数据包。先来2个数据包NO1:02 32 41 08 25 25 B7 0F 10 A5 38 03 00 00 00 0101 01 00 00 66 28 00 00 00 00 A8 89 BC 90 FA 7C6A 32 55 EB D8 F4 2B 52 25 C8 C4 69 C1 09 4F A86A BE 0C E

2013-04-16 22:07:45 8260 4

原创 libnids分析(10)

添加数据处理过程static voidadd_from_skb(struct tcp_stream * a_tcp, struct half_stream * rcv, struct half_stream * snd, u_char *data, int datalen, u_int this_seq, char fin, char urg, u_int u

2013-04-06 16:08:17 1732

转载 流处理框架Storm简介

EMC中国研究院 向东提起Big Data,人们往往会提起大数据的4个V: Volume,Velocity , Variety 以及Value。这四个V从各个侧面说明了大数据并不是新瓶装旧酒: 面对数据产生来源,产生方式,处理方式等等一系列质变,原来适用的数据挖掘/BI工具已经不再满足实际需要,人们迫切需要新的计算模式,基础架构以及开箱即用的工具集来使自己的业务运行的更好。这也

2012-12-26 14:56:35 792

原创 PHP出错返回无缓存

在PHP页面注册中,使用了session_start ,注册时,使用history.go(-1)时,填写的数据没有了,即没有缓存数据。在session_start前加上session_cache_limiter('private')即可解决;

2012-12-25 19:00:59 467

原创 启动Hbase

# ./bin/start-hbase.sh# ./bin/hbase-daemon.sh start thrift

2012-08-16 10:11:46 572

转载 Ubuntu右键添加"以管理员身份打开","在终端中打开"

右键中添加"在终端中打开"第一种方法:安装一个包,即可在右键里面添加一个“打开终端”的菜单。sudo apt-get install nautilus-open-terminal第二种方法:进入主目录的.gnome2/nautilus-scripts目录。新建一个文件,文件名任意(这个文件名会显示在右键菜单里,最好是通俗易懂的,比如“打开终端”或“open-terminal

2012-08-16 09:45:56 1006

原创 hbase开启thrift服务

./bin/start-hbase.sh./bin/hbase-daemon.sh start thrift

2012-08-15 10:31:01 2420

转载 使用C++(通过Thrift)访问/操作/读写Hbase

转载必须注明出处:http://www.codelast.com/无奈,网上关于C++访问Hbase的文章实在太少,所以只好自己折腾一下,然后写出来了。要使用C++访问Hbase,可以走的途径少之又少,据说当前最好的方法就是通过Thrift来实现:http://thrift.apache.org/所以本文分成几部分:(1)安装Thrift;(2)用Thrift 生成访问Hbase所需的

2012-08-14 16:28:00 1203

转载 libnids分析(9)---nids.h注释

#ifndef _NIDS_NIDS_H #define _NIDS_NIDS_H #define NIDS_MAJOR 1     /* 主版本号 */#define NIDS_MINOR 20    /* 次版本号 */#include enum {   NIDS_WARN_IP = 1,     /*表示 IP 数据包异常 */   NIDS

2012-06-21 10:07:39 1681

原创 libnids分析(8)

完成第二次握手后,需要对一些数据进行处理,代码如下:/*                 (如果有数据存在或者修列号不等于确认号的)并且         序列号在窗口之外         已经确认过的序号    */       if (     ! (!datalen&&ntohl(this_tcphdr->th_seq)== rcv-

2012-06-20 09:04:03 1370

原创 libnids分析(7)

下面来看TCP重组过程当中的三次握手:第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_REC

2012-06-20 08:59:36 1543

原创 libnids分析(6)

查找是否存在tcp流struct tcp_stream *find_stream(struct tcphdr * this_tcphdr, struct ip * this_iphdr, int *from_client){ struct tuple4 this_addr, reversed; int hash_index; struct tcp_stream *a_

2012-06-19 19:47:56 1865

原创 libnids分析(5)——TCP重组

无限循环的抓包函数的回调函数调用了gen_ip_proc()函数,该函数通过判断类型进入到对应的重组阶段。下面开始分析TCP重组部分。函数名:process_tcp(data, skblen)代码很长,如下:void process_tcp(u_char * data, int skblen)//传入数据与其长度{ struct ip *this_iphdr = (str

2012-06-19 16:11:07 6213

原创 libnids分析(4)

nids初始化中最后一个函数为:scan_init();void scan_init(){ struct timeval tv; if (nids_params.scan_num_hosts > 0) //存储口哈希表大小,默认256 { gettimeofday(&tv, 0); time0 = tv.tv_sec; hashhost = (str

2012-06-19 14:13:04 2452

原创 libnids分析(3)

在nids_init()函数中,TCP初始化完成之后,进行ip包初始化,函数如下:ip_frag_init(nids_params.n_hosts);//ip哈希表大小,默认256int ip_frag_init(int n){ struct timeval tv; gettimeofday(&tv, 0); time0 = tv.tv_sec; fragtab

2012-06-19 11:26:29 1441

原创 libnids分析(2)----哈希树

哈希树初始化:void init_hash (){ int i, n, j; int p[12]; getrnd (); for (i = 0; i < 12; i++) p[i] = i; for (i = 0; i < 12; i++) { n = perm[i] % (12 - i); perm[i] = p[n];

2012-06-19 10:56:12 2813

原创 libnids分析(1)

nids首先初始化:int nids_init(){ if (nids_params.filename) { if ((desc = pcap_open_offline(nids_params.filename, nids_errbuf)) == NULL) return 0; } else if (!open_live()) return

2012-06-19 10:52:28 3146

转载 Wireshark 部分数据结构

typedef struct _capture_file {  FILE_T       fh;        /* 捕获到的数据包文件句柄 */  int          filed;     /* 捕获到的数据包文件描述符 */  gchar       *filename;  /* 捕获到的数据包文件名称 */  gboolean     is_tempfile; /* 是

2012-06-18 10:04:06 1191

转载 解压HTTP gzip的

#include #include #include #include /* Compress data */int zcompress(Bytef *data, uLong ndata,  Bytef *zdata, uLong *nzdata){ z_stream c_stream; int err = 0; if(data && ndata > 0)

2012-06-16 14:16:53 1074 1

转载 libnids抓不到包

程序编译链接运行无错误,但一直没有数据,后多方查找资料,得以解决nids.h中有这么一段:struct nids_chksum_ctl {u_int netaddr;u_int mask;u_int action;u_int reserved;};extern void nids_register_chksum_ctl(struct nids_chksu

2012-06-16 13:32:39 2737 2

原创 Libnids:提领指向不完全类型的指针

加入头文件: #include

2012-06-16 13:30:08 757

转载 libnids开发包

Libnids 是一个用于网络入侵检测开发的专业编程接口,它使用了Libpcap所以它具有捕获数据包的功能。同时,Libnids提供了TCP数据流重组功能,所以 对于分析基于TCP协议的各种协议Libnids都能胜任.Libnids还提供了对IP分片进行重组的功能,以及端口扫描检测和异常数据包检测功能。Libnids数据结构一.基本常量1.报警类型enum{NIDS

2012-06-16 11:26:30 1141

转载 libnids中TCP/IP栈实现细节分析(上)——TCP会话重组

libnids是网络安全方面的一个库,可以用来检测网络上的攻击行为。其中最有价值的部分是,它模拟了linux内核中3层和4层的协议栈。可以供我们进一步研究linux内核中的TCP/IP协议栈做一些有价值的参考。这里简单谈谈这个库中模拟3、4层协议的实现细节(在继续读下去之前,有必要复习一下TCP/IP协议相关理论,主要是滑动窗口协议)。这里送上一张网上到处都有的TCP状态转化图,算是开胃小菜:

2012-06-15 19:39:20 1493

转载 libnids中TCP/IP栈实现细节分析(下)——IP分片重组

好了,有时间了,来看看libnids中IP分片重组的方法吧。在此之前,如果不懂IP分片技术的话,请参照这里。IP分片技术比较简单暴力,没有TCP那样复杂复杂的窗口协议。基本上只是暴力的拆分和重组,代码基本在ip_defragment.c中。先从总体上说说。首先,每个IP(主机)都会有IP分片包(注意是IP,不是IP对)。所以,每个IP都有一个如下的结构体来维护上面的所以IP分片:

2012-06-15 19:36:21 1481

转载 libnids ip重组

1、 IP分片    任何IP层接收到一份要发送的IP数据报时,它要判断向本地哪个接口发送数据,并查询该接口的MTU。IP把MTU与数据报的长度进行比较,如果需要则进行分片。分片可以发生在原始发送端主机上,也可以发送在中间路由器上。IP数据报分片后,只有到达目的主机后才进行重装。IP首部与分片有关的字段: (1)对于每份IP数据报来说,都有一个标识字段,该值在分片时被复制到每个

2012-06-15 19:34:33 1063

转载 wireshark源代码分析

经过多次尝试,终于在windows上成功编译wireshark源代码,但用的不是下面的这个步骤,不过大同小异,我的是vs2005,所以用的:http://blog.csdn.net/alexander_vc/article/details/6198836 的方法。1.2.7版的wireshark的capture_if_details_dlg_win32.c对vs2005有bug,需要下载更

2012-06-15 19:31:52 1117

转载 wireshark流程分析

初始化入口代码应该是在gtk\main.c下create_main_windowgtk_mainWireshark的初始化包括一些全局变量的初始化、协议分析引擎的初始化和Gtk相关初始化,显示Ethereal主窗口,等待用户进一步操作。重点就是Epan模块的初始化。Epan初始化:tvbuff初始化:全局变量tvbuff_mem_chunk指向用memchunk分配

2012-06-15 19:28:37 1686

转载 wireshark还原HTTP数据

转自:http://1.guotie.sinaapp.com/?p=40wireshark的HTTP协议分析代码大部分在epan/dissectors/packet-http.h(c)文件中,数据组装还原用到了epan/reassemble.h(c)文件中的函数。当然,连接跟踪是tcp的基础,连接跟踪代码在epan/stream.h(c)文件中。dissect_http_mes

2012-06-15 19:27:09 5922

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除