- 博客(44)
- 资源 (19)
- 收藏
- 关注
转载 Unix/Linux环境下多一点不如少一点
正如很多人所知道的$PATH环境变量里存着一张目录列表,当用户要执行某一程序时,系统就会按照列表中的内容去查找该程序的位置。当程序名前不带点斜线 . / 时$PATH就会起作用。 对于普通用户和root用户$PATH里默认是不包含"."来指定用户的当前目录。这在本机进行脚本开发的程序员来说却不方便,想图省事的人就把点加到了搜索路径中,这就等于在你的系统埋下了险情。 例如:root为了方
2013-06-26 16:37:25 226
转载 各种字符串Hash函数比较
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对
2010-01-05 10:02:00 426
转载 ASCII,Unicode和UTF-8
1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位
2010-01-05 09:48:00 1338 7
原创 几种经典的Hash算法的实现(源代码)
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Has
2010-01-05 09:37:00 989
原创 VC(MFC)判断文件/目录是否存在,创建目录
BOOL CPubFunc::FileExist(CString FileName){ CFileFind fFind; return fFind.FindFile(FileName); }BOOL CPubFunc::DirectoryExist(CString Path){ WIN32_FIND_DATA fd; BOOL ret = FALSE; HANDLE hFind = Fi
2010-01-05 09:33:00 4794
原创 ubuntu下安装anjuta
应用程序,ubuntul软件中心,搜anjuta,安装;运行:sudo apt-get install libtool sudo apt-get install autogen automake build-essential indent intltoolOK了启动开始工作吧!在IRC中常见人问起,学C/C++,在Linux下用什么工具好。有推荐vi/vim和emacs的,
2010-01-05 09:32:00 944
原创 ubuntu8.04的配置
从7.10升级到8.041、使用sudo gedit /etc/apt/sources.list 修改sources.list文件,将gutsy修改hardy。gutsy是ubuntu 7.10的开发代号,hardy是ubuntu 8.0开发代号。2、然后启用系统-》系统管理-》更新管理器,使用部分升级进行升级。大概600多M,慢慢升吧。3、升级后重新启动系统,ok。7.10升级可以使用下面的命令
2010-01-05 09:29:00 328
转载 《UTF-8与GB2312之间的互换》的改进
在UTF-8,与UNICODE之间转换的时候,用二进制运算,代替了字符串的转换。UTF-8一个汉字,用3个字节,而UNICODE用2个字节;对应关系如下:UTF-8编码: [1,1,1,0,A5,A6,A7,A8], [1,0,B3,B4,B5,B6,B7,B8], [1,0,C3,C4,C5,C6,C7,C8];对应的UNI
2010-01-05 09:21:00 317
原创 Ubuntu安装GTK+
GTK的安装 apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件apt-get install pkg-config #用于在编译GTK程序时自动找出头文件
2010-01-05 09:20:00 399
转载 linux 共享库基本使用
1 创建和使用静态库创建一个静态库是相当简单的。通常使用 ar 程序把一些目标文件(.o)组合在一起,成为一个单独的库,然后运行 ranlib,以给库加入一些索引信息。2 创建和使用共享库特殊的编译和连接选项-D_REENTRANT 使得预处理器符号 _REENTRANT 被定义,这个符号激活一些宏特性。-fPIC 选项产生位置独立的代码。由于库是在运
2010-01-05 09:14:00 496
转载 Linux系统共享库编程
一、说明 类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so。下面详细介绍如何创建、使用Linux的共享库。二、创建共享库 在mytestso.c文件中,代码如下:#include #include int GetMax(int a, int b){ if (a >= b)
2010-01-05 09:13:00 278
转载 ubuntu设置
下面开始设置篇1. 连网!!首先,最为重要的,当然是连上互联网,否则后面什么都是空中楼阁1.)如果你是ADSL或者FTTB类,需要账号密码的上网方式如下操作按ALT F2 出现如下图1输入 sudo pppoeconf (注意大小写,命令含义,用超级用户权限执行pppoeconf) 下方的Run in terminal(在终端中运行)选项勾上面,然后按RUN会出现要求输入密码的提示,输入你的用户密
2010-01-05 09:09:00 491
原创 c++命名规范
在引入细节之前,先说明一下命名规范的整体原则:同一性在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。 标识符组成标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确。最小化长度 && 最大化信息量原则在保持
2009-11-04 15:29:00 967
转载 UTF-8与GB2312之间的互换
UTF-8与GB2312之间的互换 相信一定有不少的程序开发人员时常会遇到字符编码的问题,而这个问题也是非常让人头痛的。因为这些都是潜在的错误,要找出这些错误也得要有这方面的开发经验才行。特别是在处理xml文档时 ,该问题的出现就更加的频繁了,有一次用java写服务器端程序,用vc写客户端与之交互。交互的协议都是用xml写的。结果在通讯时老是发现数据接受不正确。纳闷!于是用抓取网络数据包工具
2009-10-20 10:37:00 374 1
转载 Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
Ansi、Unicode、UTF8字符串之间的转换和写入文本文件 Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个/0结尾,常用于txt文本文件 Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的/0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为u
2009-10-20 10:36:00 480
原创 BAT常用命令
BAT常用命令echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。 call 调用另一个批处理文件(如果不用call而直接
2009-10-20 10:35:00 324
转载 WEB服务器安装教程:如何安装IIS - WINDOWS XP下IIS的安装教程
WEB服务器安装教程:如何安装IIS - WINDOWS XP下IIS的安装教程安装条件:Windows XP操作系统 + 系统安装光盘其它说明:windows2000下IIS安装和Windows2003下IIS安装可以参照该教程,大同小异安装步骤:1、插入windows xp安装光盘,打开控制面板,然后打开其中的“添加/删除程序”2、在添加或删除程序窗口左边点击“添加/删除Windows组建
2009-10-20 10:16:00 345
转载 可以让你少奋斗十年的工作经验
第一:不要认为停留在心灵的舒适区域内是可以原谅的。 每个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规定的时限做事,不愿意主动的去关心别人,不愿意去思考别人还有什么没有想到。这在学生时代是很容易被理解的,有时候这样的同学还跟“冷酷”“个性”这些字眼沾边,算作是褒义。然而相反,在工作之后,你要极力改变这一现状
2009-10-14 12:50:00 227
原创 电脑快捷键
一、常见用法: F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows键或CTRL+ESC 打开开始菜单 CTRL+ALT+DELETE 在win9x中打开关闭程序对话框 DELETE 删除被选择的选择项
2009-09-18 09:58:00 222
转载 详细解说STL string
C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触perl, php, 和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了。举例来说,如果
2009-09-15 12:18:00 205
转载 VC++怎样生成DLL
---- 在用PowerBuilder开发应用程序时,经常需要调用动态链接库DLL,本文介绍了动态链接库的基本特点,给出了VC++建立DLL以及在PowerBuilder中调用VC++创建的DLL函数的编程实例,实现了通过DLL连接PowerBuilder和VC++编制的不同程序的目的。一、 DLL概述:---- 动态链接库(Dynamic-Link Library),简称DLL,是基于Win
2009-09-15 08:28:00 629
转载 关于c语言创建dll文件及dll文件的调用
近来又有人在群里问如何用c语言编制dll文件(动态链接库)。原来没有对这个问题太在意过,也没有尝试过任何解决方案,毕竟原来我是用vb的(现在用.net),做个dll只不过是点选一下建立activeX dll工程的图标而已。今天在网上与朋友聊天,看了他指给我的几个几个文件,用MingW将C程序编译成dll文件的例子,我恍然大悟,原来讲C程序编译成dll文件只不过是在要公开的接口函数声明前面加上几个特
2009-09-15 08:26:00 3855
转载 vc++6.0制作dll
新建项目 “Win32 Dynamic-Link Library” 项目名称“Dll_1”,确定后选择“一个空的DLL工程”点击“完成”。 "MyDll.h" 文件里的内容extern "C" _declspec(dllexport) int Max(int a, int b);extern "C" _declspec(dllexport) int Min(int a, int b);
2009-09-15 08:25:00 1283
转载 三种Windows中的定时或计时方法
------------------------------------------------------------------------------- 三种Windows中的定时或计时方法 --------------------------------------------------------------------------------
2009-09-14 12:17:00 333
转载 理解HTTP消息头 (四)
理解HTTP消息头 (四)服务器返回的消息服务器返回的HTTP消息也分为消息头和消息体两部分。前面连载的第二篇里已经介绍了返回消息中常见返回代码的含义。对于非正常的返回代码的处理比较简单,只要照着要求去做就好了,而对于正常的返回代码(200),其处理方式就多种多样了。1 Content-TypeContent-Type是返回消息中非常重要的内容,它标识出这个返回内容的类型,其值为“
2009-09-12 15:47:00 379
转载 理解HTTP消息头 (三)
理解HTTP消息头 (三)(三) 客户端发送的内容这一次主要来观察HTTP消息头中客户端的请求,从中找到一些有意思的内容。 1 HTTP_REFERER写两个简单的网页:a.htm:to page bb.htm:haha内容很简单,就是网页A中有一个到B的链接。把它们放到IIS上,并访问网页A,从中再点击到B的链接,于是看到了B页的“haha”。那么这两次请求有什么不同吗?观察它们
2009-09-12 15:46:00 305
转载 理解HTTP消息头 (二)
理解HTTP消息头 (二)常见的HTTP返回码上一篇文章里我简要的说了说HTTP消息头的格式,注意到在服务器返回的HTTP消息头里有一个“HTTP/1.1 200 OK”,这里的200是HTTP规定的返回代码,表示请求已经被正常处理完成。浏览器通过这个返回代码就可以知道服务器对所发请求的处理情况是什么,每一种返回代码都有自己的含义。这里列举几种常见的返回码。1 403 Access
2009-09-12 15:45:00 387
转载 理解HTTP消息头(1)
(一)初识HTTP消息头但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体
2009-09-12 15:40:00 328
转载 windows下手把手教你捕获数据包
windows下手把手教你捕获数据包希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带有详细注释的源码文章作者:nirvana 经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,也写过很多的sniffer,所以就想写一系列的文章来详细深入的探讨关于数据包的
2009-09-12 15:39:00 591
转载 应用层HTTP数据包的截获与还原技术
第五章 总结通过做这次毕业设计,我学到更多关于网络、JAVA程序设计和数据编码方面的知识,极大的开拓了我的视野。在整个开发过程中遇到了很多问题,在老师的教导和自己的努力下最终都被一一解决,对其中比较主要的几点体会总结如下。(1)在学计算机网络课时,学的更多的是理论知识,对网络中的分层次的模型只是有那样一个模糊的概念,对每层的具体功能的实现并不清楚,也很难去理解它。通过这次毕业设计,我真正感受到了T
2009-09-12 15:37:00 1049
转载 应用层HTTP数据包的截获与还原技术(5)
4.3.2 捕获数据包的信息还原算法在通过对数据包的分析得到还原文本信息所采用的编码方法后,根据得到的编码方法信息去解码当前要还原的信息。1.当获得的编码方法是GB2312时由于gb2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”。GB2312中汉字的编码范围为,第一字节0xB0-0xF7(对应十进制为176-247),第二个字节0xA0-0xFE(对应十进制为16
2009-09-12 15:35:00 1271
转载 应用层HTTP数据包的截获与还原技术(4)
第四章 http数据包信息的分析与还原4.1 字符编码的信息概述4.1.1 ASCALL字符编码在最初的时候,美国人制定了第一张编码表 《美国标准信息交换码》,简称 ASCII,它总共规定了 128 个符号所对应的数字代号,使用了 7 位二进制的位来表示这些数字。其中包含了英文的大小写字母、数字、标点符号等常用的字符,数字代号从 0 至 127,ASCII 的表示内容如下:0 – 31 控制符号3
2009-09-12 15:20:00 1786 1
转载 应用层HTTP数据包的截获与还原技术(3)
第三章 http数据包截获3.1 http数据包截获模块设计3.1.1 体系结构设计本方案采用Jpcap.dll在数据链路层下进行数据包捕获。Jpcap提供了在Windows或UNIX系统上进行这种访问的Java API,它可以访问底层的网络数据。但Jpcap不是一种纯粹的Java解决方案;它需要依赖本地库的使用。因此,在Windows 或 UNIX上,要使用必要的第三方库,分别是WinPcap
2009-09-12 15:14:00 2925
原创 应用层HTTP数据包的截获与还原技术
第二章 开发工具与环境配置2.1 JAVA语言介绍Java是当今流行的新兴网络编程语言,它的面向对象、跨平台、分布应用等特点给编程人员带来了一种崭新的计算概念,使WWW从最初的单纯提供静态信息发展到现在的提供各样的动态服务,发生了巨大的变化。Java不仅能够编写小应用程序,其强大的网络功能把整个Internet作为一个统一的运行平台,极大地拓展了传统单机或Client/Server模式应用程序的外
2009-09-12 15:13:00 1649 1
转载 应用层HTTP数据包的截获与还原技术(1)
摘要:在因特网日益发展壮大的今天,万维网在其上的通信量已经超过90%,万维网信息的安全问题已经越来越被人们所重视,而作为万维网应用层核心协议的http协议是基础。当网络发生异常时,对网络上传输的数据进行监视和分析,是网管人员解决网络故障的一种常用方法。本文介绍应用层HTTP数据包的截获与还原技术的实现,并简要介绍其中所涉及的数据包截获、数据包分析、应用数据重组以及数据包解码等关键技术。该系统可以监
2009-09-12 15:07:00 2002
原创 应用层HTTP数据包的截获与还原技术的实现
摘要:在因特网日益发展壮大的今天,万维网在其上的通信量已经超过90%,万维网信息的安全问题已经越来越被人们所重视,而作为万维网应用层核心协议的http协议是基础。当网络发生异常时,对网络上传输的数据进行监视和分析,是网管人员解决网络故障的一种常用方法。本文介绍应用层HTTP数据包的截获与还原技术的实现,并简要介绍其中所涉及的数据包截获、数据包分析、应用数据重组以及数据包解码等关键技术。该系统可以监
2009-09-12 14:45:00 3873 1
原创 应用层HTTP数据包的截获与还原技术的实现
摘要:在因特网日益发展壮大的今天,万维网在其上的通信量已经超过90%,万维网信息的安全问题已经越来越被人们所重视,而作为万维网应用层核心协议的http协议是基础。当网络发生异常时,对网络上传输的数据进行监视和分析,是网管人员解决网络故障的一种常用方法。本文介绍应用层HTTP数据包的截获与还原技术的实现,并简要介绍其中所涉及的数据包截获、数据包分析、应用数据重组以及数据包解码等关键技术。该系统可以监
2009-09-12 14:26:00 2693 1
原创 循序渐进学WinPcap
循序渐进学WinPcap [导入][转]C#.net同步异步SOCKET通讯和多线程总结 摘要: 同步套接字通信Socket支持下的网上点对点的通信服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能服务器端建立一个socket,设置好本机的ip和监听的端口与socket进行绑定,开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端
2009-09-12 10:25:00 2298
原创 基于SPI的数据报过滤原理与实现
基于SPI的数据报过滤原理与实现一、个人防火墙技术概述 随着网络安全问题日益严重,广大用户对网络安全产品也越来越关注。防火墙作为一种网络安全工具,早已受到大家的青睐。在PC机上使用的个人防火墙,很大程度上成为广大网民的安全保护者。Windows下的个人防火墙都是基于对数据报的拦截技术之上。当然在具体的实现方式上它们却有很大的不同。总的来说可分为用户级和内核级数据报拦截两类。其中内核级
2009-09-12 10:21:00 249
原创 使用zlib库进行数据压缩
使用zlib库进行数据压缩zlib is designed to be a free, general-purpose, legally unencumbered -- that is, not covered by any patents -- lossless data-compression library for use on virtually any computer hardwa
2009-09-12 10:19:00 209
unix环境高级编程
2010-11-16
windows程序设计——光盘源码
2009-11-09
winsdk编程——CHM资料
2009-09-29
Windows程序设计基础
2009-09-29
Winsock2 SPI网络封包截获技术
2009-09-08
利用了SPI的技术来实现对网络封包的截获处理
2009-09-08
gzip文件解压程序源码 zlib
2009-09-07
Win防火墙与网络封包截获
2009-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人