自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (8)
  • 收藏
  • 关注

转载 vba 读取excel

首先引用Excel:【工具】→【引用】 查找到Microsoft Excel 选中引用Public Sub ReadSource()     '声明Excel相关       Dim xlApp As Excel.Application       Dim xlBook As Excel.Workbook              Set xlApp = New E

2013-09-08 23:06:06 892

转载 解决hibernate向mysql插入中文乱码问题

在一个用Struts + Spring+ Hibernate + Mysql架构的的项目里,通过前台表单向后台MySql数据库添加数据,当遇到提交中文信息的时候,问题总是比较多,我见过的出错的情况有两种:     1)错误情况1:       ERROR 1366 (HY000): Incorrect string value        Incorrect st

2013-06-08 21:42:18 763

转载 ext-2.0扩展多选下拉框(代码及演示)

var auto_field=new Ext.form.MultiSelectField();if(contextlist==null){    auto_field.contextArray=    [      ['1','一'],      ['2','二'],      ['3','三']    ]}else{    auto_field.c

2013-05-24 21:31:51 618

转载 jmeter2

JMeter是一款在国外非常流行和受欢迎的开源性能测试工具,像LoadRunner 一样,它也提供了一个利用本地Proxy Server(代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用。所以在本文中介绍一个更为常用的方法——使用Badboy录制生成 JMeter 脚本。简单的介绍一下Badboy。Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用

2012-11-23 20:38:42 332

转载 jmeter

最近在公司想做下压力或负载测试,当然我首先想到的就是用JMeter,以前也认识过它,可能它能满足基本测试需求。使用之前要先认识下它。    先到官方网站下载最新版本:http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi,目前最新版是jakarta-jmeter-2.7。   运行bin/jmeter.bat后

2012-11-23 20:36:49 483

转载 java调用shell命令

import java.io.BufferedReader;   import java.io.File;   import java.io.FileOutputStream;   import java.io.IOException;   import java.io.InputStreamReader;   import java.io.OutputStream;   import java.

2012-10-14 14:48:41 575

转载 vab

用VBA操作Word(转)在所有 Office 应用程序中,Microsoft Word 可能是应用最广泛的应用程序,它还经常在自定义 Office 解决方案中扮演重要的角色。开发人员用各种不同的方式使用 Word,有一些方式很简单,而另一些极其复杂。无论涉及何种自定义解决方案,用 Visual Basic for Applications (VBA) 处理 Word 文档的基本方法都是一样的

2012-09-27 23:11:41 709

转载 动态表格创建

Ext.onReady(function() {2 Ext.QuickTips.init();// 初始化3 Ext.form.Field.prototype.msgTarget = 'side';4 5 Ext.Ajax.request({6 method:'post',7 url:'report?type=make_grid',8 async : false,

2012-09-16 16:54:06 456

转载 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-10 21:08:53 973

转载 在Windows上编译Wireshark源代码 .

Wireshark最近需要开发Wireshark插件,分析一套协议,于是首先要解决的问题就是如何在windows环境下编译Wireshark,编译过程中也借鉴了一些网上的资料,但是基本都有问题,在经历无数次的失败之后的摸索,最终在Wireshark编译成功。 在编译过程中需要一下软件:Visual Studio,Python,Cygwin以及Wireshark源代码。1. Visual Studi

2012-06-10 21:02:43 818

转载 wireshark源代码分析报告之二

一、源代码结构在wireshark源代码根目录下,可以看到以下子目录:1)物理结构 其中,epan文件夹负责所有网络协议识别工作,plugins里面存放了wireshark所有插件,gtk文件夹里面是wireshark的界面部分代码,其余文件夹没有单独研究。2)逻辑结构 下图给出了Ethereal功能模块: a) GTK1/2 处理用户的输入输出,源码在gtk目录 b) Core 将其他模块连接在

2012-06-10 21:00:16 1105

转载 Wireshark抓包工具使用教程以及常用抓包规则

Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的,所以今天讲述的内容可能无法直接帮你解决问题,但是只要你有解决问题的思路,学习用这个软件就非常有用了。Wireshark官方下载地址:http://www.wireshark.org/download.html如果记不住,可以在百度中输入W

2012-06-10 20:55:53 1490

原创 文件传输

package com.kum.im.file;import java.nio.channels.SocketChannel;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.ByteBuffer;import java.io.RandomAcc

2012-02-08 22:23:49 383

原创 checksum

import java.util.zip.CheckedInputStream;import java.util.zip.Adler32;  import java.io.*;  public class ChecksumByteArray{  public static void main(String[] args){  try{   Strin

2011-12-18 15:30:11 346

转载 PCAP 文件格式协议分析

PCAP 文件格式协议分析时间:2010-02-09 11:20来源:未知作者:admin 点击: 776次一、基本格式: 文件头 数据包头 数据报 数据包头 数据报...... pcap文件格式 结构 文件头 格式如结构体 pcap_file_header 数据包头 1 格式如 pcap_pkthdr 数据包 数据 包 数据包头 n-1 格式如 pcap_pkthdr 数据包

2011-12-15 11:44:33 1936

转载 pcap文件格式(续)

pcap文件格式 pcap文件格式是bpf保存原始数据包的格式,很多软件都在使用,比如tcpdump、wireshark等等,了解pcap格式可以加深对原始数据包的了解,自己也可以手工构造任意的数据包进行测试。 pcap文件的格式为:  文件头    24字节  数据包头 + 数据包  数据包头为16字节,后面紧跟数据包  数据包头 + 数据包  ......

2011-12-06 23:02:28 434

转载 pcap文件格式

前段时间因工作要求,需要对各种数据包进行分析和操作,内容涉及网路协议分析,socket,文件操作等。在此分享下学习和实践的经验。    首先介绍下网络抓包、协议分析的必备软件Ethereal,新版(Wireshark)以下还以Ethereal代之,目前最新版本已经支持在无线局域网抓包了。Linux和Windows均有对应安装包,它们分别是gcc和VC++编译的。不过Windows下是基于W

2011-12-06 22:59:43 394

转载 Eclipse插件FatJar安装与使用

【转】Eclipse插件FatJar安装与使用  2011-05-27 22:41:24|  分类:java-j2ee |  标签:|字号大中小 订阅今天启动tomcat发现特别慢,得等1分多钟才启动完,这才想起来,我把WEB-INFO/lib/struts.jar , pager-tag.jar都删除了,取而代之的是他们的源码,tomcat启动的时

2011-12-04 15:45:22 385

extjs动态表格

extjs动态表格实例(封装GRID,从STRUTS2读取后台数据 )

2012-09-16

ext动态表格

ext动态生成表格,前台代码和后台代码集合,动态生成表格,前台+后台.

2012-09-16

wireshark源码

wireshark源码分析问题这几天在看wireshark(ethereal)源代码。看源代码的主要兴趣点是它的分析模块(dissect)。分析之后他的数据存在哪儿,怎么打印的(-V参数)。我想把分析后的数据,提取出来,存在自己定义的数据结构里面,或者按我自己的格式写入文本中。 看了几天,对一些数据结构,似懂非懂,一些流程也是似懂非懂。可能由于经验不足的原因,搞来搞去就在几个函数,结构体里面打转。好几次以为找到切入点,发现又回来原来的起点。 这两天看晕了。有点打击,水平太差劲了。。呵呵。先这边问问,看看有没有熟悉的朋友。指点一下。先谢谢了。 这样问问题可能太细了。感觉也不大合适。 1. 我应该如何来看代码?如何找到突破点? 2. 有wireshark有了解的朋友,说说你们关于源码剖析的体会。 3. 说什么都可以,朋友觉得对我有用,有启发就好。千万别 “我顶,UP啊”。呵呵:emn23:我觉得重要的是看 pcap库 本帖最后由 peidright 于 2010-04-02 16:36 编辑 楼上说得对!。 看源代码之前,问下你自己,看代码的目的是什么? 对于 wireshark 来说,你是想学他写界面? 还是抓包? 还是业务逻辑? 界面的话,wireshark 还行 抓包的话,应该看pcap库 业务逻辑的话。不应该看wireshark,看tcpdump.看下啊,:em03:看看这个也许对你有帮助 添加一个基础的RDP解析器 下面我们将循序渐进地设计一个基础的RDP解析器。它依次包含如下构成要素: 包类型字段(占用8比特位,可能的值为:1,初始;2,终结;3,数据); 标志集字段(占用8比特位:0x01,开始包;0x02,结束包;0x04先包); 序列号字段(占用16比特位); 1. 创建解析器 首先您需要选择解析器的类型:内置型(包含在主程序中)或插件型。 插件是容易编写的,先做一个插件型解析器吧。 例1. 解析器初始设定. #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include void proto_register_rdp(); void proto_reg_handoff_rdp(); static void dissect_rdp(tvbuff_t *tvb,packet_info *pinfo,proto_tree *tree); static int proto_rdp=-1; static dissector_handle_t rdp_handle; static gint ett_rdp = -1; define TCP_PORT_RDP 3389 void proto_register_rdp(void) { proto_rdp=proto_register_protocol( "RDP Protocol", "RDP", "rdp"); } 现在来逐一分析这段代码。首先我们有一些常规的包含文件,最好依惯例在文件开始包含进来。随后是一些函数的前置声明,我们稍后定义它们。 接下来我们定义了一个整型变量"proto_rdp"用于记录我们的协议注册信息。它被初始化为"-1",当解析器注册到主程序中后,其值便会得到更新。这样做可保证我们方便地判断是否已经做了初始工作。将所有不打算对外输出的全局变量和函数声明为"static"是一个良好的习惯,因为这可以保证命名空间不被污染。通常这是容易做到的,除非您的解析器非常庞大以致跨越多个文件。 之后的模块变量"TCP_PORT_RDP"则包含了协议使用的TCP端口号,我们会对通过该端口的数据流进行解析。 solaris10下proc编译问题 >紧随其后的是解析器句柄"rdp_handle",我们稍后对它进行初始化。 至此我们已经拥有了和主程序交互的基本元素,接下来最好再把那些预声明的函数定义一下,就从注册函数"proto_register_rdp"开始吧。 首先调用函数"proto_register_protocol"注册协议。我们能够给协议起3个名字以适用不同的地方。全名和短名用在诸如"首选项(Preferences)"和"已激活协议(Enabled protocols)"对话框以及记录中已生成的域名列表内。缩略名则用于过滤器。 下面我们需要一个切换函数。 例2. 解析器切换. void proto_reg_handoff_rdp(void) { static gboolean initialized=FALSE; if(!initialized) { rdp_handle = create_dissector_handle(dissect_rdp, proto_rdp); dissector_add("tcp.port", TCP_PORT_RDP, rdp_handle); initialized=TRUE; } } 这段代码做了什么呢?如果解析器尚未初始化,则对它进行初始化。首先创建解析器。这时注册了了函数"dissect_rdp"用于完成实际的解析工作。之后将该解析器与TCP端口号相关联,以使主程序收到该端口的UDP数据流时通知该解析器。 至此我们终于可以写一些解析代码了。不过目前我们仅写点儿基本功能占个位置。 例3.解析 static void dissect_rdp(tvbuff_t *tvb,packet_info *pinfo,proto_tree *tree) { if(check_col(pinfo->cinfo, COL_PROTOCOL)) { col_set_str(pinfo->cinfo, COL_PROTOCOL, "RDP"); } if(check_col(pinfo->cinfo,COL_INFO)) { col_clear(pinfo->cinfo,COL_INFO); } } 该函数用于解析传递给它的数据包。包数据由"tvb"参数指向的特殊缓冲区保管。现在我们已深入到协议的细节,对它们您肯定是了若指掌。包信息结构参数"pinfo"包含了协议的基本数据,以供我们更新。参数"tree"则指明了详细解析发生的地方。 这里我们仅做了保证通过的少量工作。前两行检查UI中"协议(Protocol)"列是否已显示。如果该列已存在,就在这儿显示我们的协议名称。这样人们就知道它被识别出来了。另外,如果"信息(INFO)"列已显示,我们就将它的内容清除。 至此我们已经准备好一个可以编译和安装的基本解析器。不过它目前只能识别和标示协议。 为了编译解析器并创建插件,还需要在解析器代码文件"packet-rdp.c"所在目录下创建一些提供支持的文件: - Makefile.am - UNIX/Linux的makefile模板 - Makefile.common - 包含了插件文件的名称 - Makefile.nmake - 包含了针对Windows平台的Wireshark插件makefile - moduleinfo.h - 包含了插件版本信息 - moduleinfo.nmake - 包含了针对Windows平台的DLL版本信息 - packet-rdp.c - 这是您的解析器原代码文件 - plugin.rc.in - 包含了针对Windows平台的DLL资源模板 "Makefile.common"和"Makefile.am"文件中涉及到相关文件和解析器名称的地方一定要修改正确。"moduldeinfo.h"和"moduleinfo.nmake"文件中的版本信息也需要正确填充。一切准备妥善后就可以将解析器编译为DLL或共享库文件了(使用nmake工具)。在wireshark文件夹下的"plugins"文件夹中,建立"rdp"文件夹。将修改过的Makefile.common,Makefile.am,moduleinfo.nmake,moduldeinfo.h,Makefile.nmake及packet-rdp.c文件考到"rdp"文件夹下,然后进行编译,rdp插件自动生成完整,就可以正常工作了。 1. 解析协议细节 现在我们已经有了一个可以运用的简单解析器,让我们再为它添点儿什么吧。首先想到的应该就是标示数据包的有效信息了。解析器在这方面给我们提供了支持。 首先要做的事情是创建一个子树以容纳我们的解析结果。这会使协议的细节显示得井井有条。现在解析器在两种情况下被调用http://www.boomss.com:其一,用于获得数据包的概要信息;其二,用于获得数据包的详细信息。这两种情况可以通过树指针参数"tree"来进行区分。如果树指针为NULL,我们只需要提供概要信息;反之,我们就需要拆解协议完成细节的显示了。基于此,让我们来增强这个解析器吧。 例4 static void dissect_rdp(tvbuff_t *tvb,packet_info *pinfo,proto_tree *tree) { proto_item *ti=NULLV; if(check_col(pinfo->cinfo,COL_PROTOCOL)) { col_set_str(pinfo->cinfo,COL_PROTOCOL,"RDP"); } if(check_col(pinfo->cinfo,COL_INFO)) { col_clear(pinfo->cinfo,COL_INFO); } if(tree) { ti = proto_tree_add_item(tree, proto_rdp, tvb, offset, -1, FALSE);} } 这里我们为解析添加一个子树。它将用于保管协议的细节,仅在必要时显示这些内容。 我们还要标识被协议占据的数据区域。在我们的这种情况下,协议占据了传入数据的全部,因为我们假设协议没有封装其它内容。因此,我们用"proto_tree_add_item"函数添加新的树结点,将它添加到传入的协议树"tree"中,用协议句柄"proto_rdp"标识它,用传入的缓冲区"tvb"作为数据,并将有效数据范围的起点设为"0",长度设为"-1"(表示缓冲区内的全部数据)。至于最后的参数"FALSE",我们暂且忽略。 做了这个更改之后,在包明细面板区中应该会出现一个针对该协议的标签;选择该标签后,在包字节面板区中包的剩余内容就会高亮显示。 现在进入下一步,添加一些协议解析功能。在这一步我们需要构建一组帮助解析的表结构。这需要对"proto_register_rdp"函数做些修改。首先定义一组静态数组。 例5 定义数据结构 static hf_register_info hf[]= { { &hf;_rdp_version, { "TPKT Header:Version", "rdp.version",

2012-06-10

wireshark源代码

wireshark源代码,分析源码,可以解决tcp抓包乱序重传问题

2012-06-10

java 文件传输

利用 Socket 套接字进行面向连接通信的编程。客户端读取本地文件并发送;服务器接收文件并保存到本地文件系统中。

2012-02-08

tcp checksum

计算IP/TCP 的checksum,对TCP/UDP/ICMP 通信协议与Packet分析

2011-12-18

ycsb 源代码

YCSB(Yahoo! Cloud Serving Benchmark)是雅虎开源的一款通用的性能测试工具。 通过这个工具我们可以对各类NoSQL产品进行相关的性能测试

2011-12-04

FATJAR 下载

解压缩后在plugins中有一个jar文件,(net.sf.fjep.fatjar_0.0.31.jar),把这个jar文件拷贝myeclipse下的plugins下,重新启动myeclipse MyEclipse->Windows->prefernce->fat jar preference看到他就说明已经安装成功了。这里暂时不用配置,如果没有看到,删除myeclipse\configuration\org.eclipse.update\platform.xml文件(此文件可以自动生成)不用担心以前的插件会因此而消失。

2011-12-04

空空如也

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

TA关注的人

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