- 博客(59)
- 资源 (7)
- 收藏
- 关注
原创 初探iptables自动加载模块原理
iptables使用dlopen加载动态库,每个库中都定义了void _init(void)函数,在使用dlopen加载库的时候系统会调用_init函数,在_init函数中调用xtables_register_match对模块进行注册。iptables这种动态加载模块的方式很适合做定制开发,所以我就自己摸索了下。我自己写了一个测试的例子:gcc -O2 -Wall -fPIC -
2012-04-16 17:39:30
2413
原创 协议分析之UDP旁路阻断
udp是一种无连接的传输层协议,不像tcp在传输数据前要先发起连接,因此要可以说没有办法阻断udp之间的通讯。有一些资料称可以伪造目的主机发出目的端口不可达的ICMP报文,从而误导源主机中止与目的主机的udp通讯,伪造icmp目的端口不可达的代码如下: int ForgedICMP(char *srcIP, char *dstIP, void *forgedData, int count){ char buff[2048] = {0}; char *ptr = buff;
2010-08-17 16:26:00
6785
原创 协议分析之TCP旁路阻断
一、阻断未建立起来的连接 我们知道TCP的建立要经过3次握手,假设客户端C向服务器S请求连接 1、C发送带有SEQ_C(随机)初始序列号的SYN报文给S 2、S回复带有SEQ_S(随机)初始序列号和确认序列号ACK_S(必须是SEQ_C+1)的SYN报文给C 3、C回复确认序列号ACK_C(取值为SEQ_S)给S 整个过程如果正确的话,连接将会建立。 通常需要进行阻断的情况是审计控制系统旁路监听内网。旁路监听的方式一般是将主交换机的数据镜像到控制系
2010-08-16 17:24:00
18665
转载 oracle表分区
当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 Oracle中提供了以下几种表分区: 一、范围分区:这种类型的分区是使用列的一组值,通常将该列成为分区键。 示例1:假设有一个CUSTOMER表,表中有数据200000行,我们将此表通过CUSTOMER_ID进行分区,每个分区存储100000行,我们将每个分区保存到单独的
2010-06-22 14:56:00
871
转载 HTTP协议中的Tranfer-Encoding:chunked编码解析
HTTP协议中的Tranfer-Encoding:chunked编码解析 当不能预先确定报文体的长度时,不可能在头中包含Content-Length域来指明报文体长度,此时就需要通过Transfer-Encoding域来确定报文体长度。 通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunked编码是
2010-05-15 12:07:00
1363
转载 获取http的gzip内容并解压
08年在csdn上面写了一个帖子关于解压http的gzip内容的,一直以来有不少的程序员前仆后继,持续的遇到同样的问题,正如我08年遇到的时候看的都是03 04年的帖子一样,现在把论坛上面的资料整理一下放到这里,希望能这个问题不会再困扰其他的程序员。------------------------------寻找gzip 获取一个网页数据返回的编码类型是gzip,我该怎么解压缩 ?HTTP
2010-05-14 14:30:00
18221
原创 模仿javascript中的alert 和confirm弹出框
table.messagebox {FONT: bold 11px tahoma,arial,verdana,sans-serif; BORDER-LEFT: 0px; color: #000000; background-color: #CDDEF3; border-left: 1px solid #99BBE8; border-bottom: 1px solid #99BBE8; bord
2009-01-15 16:27:00
1687
转载 web server服务程式编写
本程序是一个提供特殊服务的Web Server。该程序是一个Daemon程序,用单进程+I/O多路转换(select)的方式接收Http的Get请求,请求中是一个字符串(可以是数字或者字母),返回一个PNG格式的图片,整个过程符合Http 1.0协议。 本程序类似于网站上常用的生成“验证码”的程序。 本程序在FreeBSD环境下开发完成,并可同时在FreeB
2009-01-13 14:14:00
987
原创 cgi文件下载
用cgi做服务器在嵌入式开发中会遇到要下载一个文本文件,浏览器默认打开,而我们想下载到本地来。通过下面的代码告诉浏览器当前文件是要下载的,cgi通过printf将数据输出到stdout中,mini_httpd从stdout中接收数据发送到浏览器。这种方式也避免了像这种直接通过访问文件路径http://server/test.txt 下载,把文件暴露出来的问题。 void dow
2009-01-13 13:57:00
5196
3
转载 怎样生成CAB
一、制作cab包: 在命令提示行中执行 cabarc -s 6144 n Remtcardsetup.cab Remtcard.dll remtcard.inf -s 6144:为签名留下6k的空间 .inf文件的格式 [version] signature="$CHICAGO$" AdvancedINF=2.0
2009-01-12 11:14:00
1441
转载 早上起来空腹喝白开水
早上起来空腹喝白开水 喝白开水的好处:滋养皮肤,健康长寿新鲜的白开水是最佳选择。白开水是天然状态的水经过多层净化处理后煮沸而来,水中的微生物已经在高温中被杀死,而开水中的钙、镁元素对身体健康是很有益的。有研究表明,含钙、镁等元素的硬水有预防心血管疾病的作用。有不少人认为喝淡盐水有利于身体健康,于是晨起就喝淡盐水,这种认识却是错
2008-12-10 08:58:00
1508
原创 字典树(支持大小写)
#include #include #define MAX_LETTER 52 typedef struct tire { struct tire *next[MAX_LETTER]; char data; char cnt; }*_tire; void init_tire(_tire root, char *str
2008-12-01 16:27:00
876
原创 可拖拽DIV
可拖拽DIV .bg{ height:18px; padding:3px; background:#147B95; FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ffffff,endColorStr=#147B95,style=1;);
2008-11-15 16:30:00
1766
1
原创 用div模拟ALT的提示效果
在网页设计过程中经常会用到标签的alt,title提示效果,但往往满足不了要求。昨天一个同事在设计页面时刚好需要用到这种提示效果,我就帮他用div做了一个。 var innerhtm = ;document.write(innerhtm);function showTitle(ev,title, content) { ev = ev||window.event;
2008-11-15 10:15:00
3940
2
原创 pagination(一个封装好的分页导航)
最近想找一个好看点的分页显示,在国外的一个网站上看到了这样一个分页样式,挺喜欢的,就把它封装成一个可以复用的类 代码如下:text.htmlhtml> title>测试title> meta http-equiv="pragma" content
2008-09-13 21:41:00
2020
原创 JavaMail收发邮件(包含附件)
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.InputStream;import ja
2007-11-02 17:08:00
1409
转载 使用telnet登陆smtp服务发邮件(带身份验证)和Base64加密算法源码(java版)
转载:使用telnet登陆smtp服务发邮件(带身份验证)。昨天,公司的合作伙伴新增了一台 FC4 ,(Apache1 + php5 + mysql +exim)的服务器,要把一个PHP程序挂到新增的服务器上,程序在新增的服务器上不能发信,我是使用比较简单的方法 mail() 函数来发信的,配置了 php.ini 里面的 sendmail_path=/usr/sbin/exim
2007-10-24 09:58:00
3604
2
原创 用jsp发送邮件
Properties props=new Properties();props.put("mail.smtp.host","smtp.163.com");props.put("mail.smtp.auth","true");Session s = Session.getDefaultInstance(props);s.setDebug(true);MimeMessage message
2007-10-22 15:20:00
1413
原创 用JfreeChart创建热点图片
在实际项目开发中,尤其是报表开发经常要用来热点图片JAVA的开源项目JfreeChart提供了热点生成图片的方法这里介绍几种方法第一在JSP页面中:...@ page language="java" pageEncoding="UTF-8"%>...@ include file="/WEB-INF/jsp/include.jsp"%>...@ page import="org.
2007-08-17 10:46:00
2344
转载 JAR 文件揭密
JAR 文件揭密Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<objectclassid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id
2007-02-27 17:22:00
983
原创 jsp杂碎
<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitc
2007-02-26 17:22:00
975
转载 C++ 中stdafx.h中文意思,并且在C++中起到的作用是什么?
Standard Application Fram Extend 没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。 Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。 为避免这种浪费,App
2007-02-06 11:23:00
1080
转载 心理寓言
(一)成长的寓言做一棵永远成长的苹果树,一棵苹果树,终于结果了。 第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。 但是,它还可以这样:继续成长。譬如,第二年,它结了100个果子,被拿走90个,自己得到10个。
2007-01-26 20:42:00
899
转载 CRC16/CRC32/CRC16F算法和MD5加密算法
CRC16算法和代码如下:unsigned short crc16(char *data_p, unsigned short length)...{ unsigned char i; unsigned int data; unsigned int crc
2007-01-20 15:42:00
4246
原创 初识字典树
由字母a~z所组成的字符串的一个集合中,各个字符的长度之和为n。设计一个O(n)时间的算法,将这个集合中所有字符串依字典进行排序。注意,这里可能存在非常长的字符串。 #include #include typedef struct tire{ struct tire *next[26]; char date; int cnt;}*_tire;void init_tire(_ti
2007-01-19 09:59:00
978
转载 想成为嵌入式程序员应知道的0x10个基本问题
转自 http://developer.51cto.com/art/200609/32275.htm【导读】作者给出了一些真正针对嵌入式系统的考题,是经验之谈。希望这些令人头痛的考题能给正在找工作的人一点帮助。其中有些题很难,但它们应该都能给你一点启迪。C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者
2006-12-23 12:12:00
838
原创 C语言的产生和我理解的C语言“缺陷”
气死我了,写了两个多钟头的文章竟然没了,又得重写晕啊 ~~~~~~~~~~~~~先简单做个记录吧,以后再写C语言产生的背景: C语言产生于一次失败的项目……一、 C标准中的未定义和类型扩展int类型的大小依赖于系统,并且其符号也依赖于系统。ANSI标准没有定义char、int、long这样的内部类型,这取决于编译器,为使编写的代码具有可移植性,建议明确定义类型的符号,如 sig
2006-12-21 01:32:00
1663
转载 C语言嵌入式系统编程修炼之道
C语言嵌入式系统编程修炼之道 作者:宋宝华 e-mail:21cnbao@21cn.com C语言嵌入式系统编程修炼之道——背景篇... 1C语言嵌入式系统编程修炼之道——软件架构篇... 41.模块划分... 42.多任务还是单任务... 53.单任务程序典型架构... 64.中断服务程序... 75.硬件驱动模块... 96.C的面向
2006-12-19 19:35:00
1143
原创 用hash表解变位词
Mr. Right有一个奇怪的嗜好,就是看见一个单词就有找它所有的变位词的冲动。一个单词的变位词就是该单词所有字母的一个排列。输入输出格式输入数据第一行为一个整数n,1 对应Mr. Right看到的每个单词,输出落在字典里的它的变位词的个数。//如果用普通的方法,一个一个比较的话,当输入的单词很大的时候,时间是无法忍受的//我看到这一道题目的印象是将字符串通过某种算法生成一个整数,但我没
2006-12-19 19:05:00
1328
原创 1000瓶酒的思考
上次我在星网锐捷笔试中,有道题目是这样的在一个part中有准备了1000瓶酒,但其中有一瓶是毒酒,要求用最少的囚犯测出毒酒毒酒发作时间略短于part开始的时间,发作后囚犯会死。(这里暗示每个囚犯只能喝一次酒,但可以喝多瓶)当时我没有想出来,因为当时我纠缠于一个不是试卷上的算法浪费了很多时间所以没有仔细去想,后来听其他有去的人讲起我才认真做了一下。对于这道题我得出的答案是10个囚犯。我是这样想的如果
2006-12-16 18:54:00
1590
原创 sizeof的实现
//关于模拟sizeof函数实现计算类型大小//查了很多资料,也用过模板//但都无法获得对象的类型//下面是一个用宏来实现的方法#define my_sizeof(L_Value) ( / (char *)(&L_Value + 1) - (char *)&L_Value /)#include #include int main(void){
2006-12-10 23:21:00
2868
6
原创 一个类似printf的可变参数函数
#include stdio.h>#include stdlib.h>void print(char* format, ...)...{ char* pArg=NULL,*p; char c; pArg = (char*) &format; //取得栈中变量的首地址 pArg += sizeof(format);while (*format != )...{ c
2006-12-10 21:46:00
1489
原创 人民币小写转换成大写
这也是我做过的一道笔试题//52367.23//伍万贰仟叁佰陆拾柒元贰角叁分#include #include char RMB[10][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};char value[13][3]={"零","拾","佰","仟","万","拾","百","千","亿","拾","佰","仟","万"};char faction[2
2006-12-04 00:40:00
1188
原创 触摸不到的痛
你伸向天空的手 蓦然停下 似乎想触摸什么 又或者想抓住什么 却只能无助地停下 停在记忆的空隙里 我看到 透明的哀伤爬满你的双眸 你望向远方的目光多么迷茫 你迷失的脚步无法带你 到达心中的渴望 远方是触摸不到的痛
2006-10-09 12:54:00
1295
1
转载 asp.net 回车自动激发按钮事件
WebForm http://schemas.microsoft.com/intellisense/ie5"> function EnterKey() { if(event.keyCode == 13) { window.document.all.Button2.focus(); } } //--> private void Page_Load(object sender, S
2006-09-24 21:23:00
1261
转载 ASP.NET程序中常用的三十三种代码
ASP.NET程序中常用的三十三种代码1. 打开新的窗口并传送参数: 传送参数:response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>") 接收参数:string a = Request.QueryString("id");
2006-09-22 03:45:00
1051
转载 ASP.NET 2.0 正式版中无刷新页面的开发
ASP.NET 2.0 正式版中无刷新页面的开发来源:http://pfzhou.cnblogs.com/archive/2006/03/31/363342.html在已经发布的 ASP.NET2.0 中,无刷新页面开发相关部分同 beta2 有不少改动。而且在越来越多的 Ajax 开发包被开发出来的情况下, ASP.NET2.0 自带的无刷新页面技术没有被很多人了解,甚至不少人认为该功能有些“鸡
2006-09-20 22:00:00
981
转载 datagrid点删除,弹出一个确认和取消的消息框
datagrid点删除,弹出一个确认和取消的消息框 有个简单的方法:在datagrid的删除按扭datagrid的属性生成器-》列-》添加按扭列-》删除在数据字段中加上:删除+++++++++++++++++++++++++++++++++++++++++++++++++++++++如果按钮类型是LinkButto
2006-09-17 13:43:00
2300
原创 眼里的沙
生活是挂在老屋的蜘蛛网寂寞而空虚决心是墙上的日历本一天一天变薄把梦想装进泡泡期待着飘上天空默数着大学剩下的时间沉重的双脚却迈不开半步被钢筋水泥刺穿的羽翼告别了飞翔爬上岸的鱼儿等待不归的命运坐在北上的汽车里窗外变换着风景而我寻找的不过是一粒尘埃的归宿一个属于我自己的坐标
2006-08-26 00:54:00
891
原创 烟的味道
飘雨的夜晚没有星星没有月亮路边的灯撒出迷离的光风轻拂丝微发热的脸这样的夜晚突然很想抽烟可是没有烟大象已经回家了我也不想下去买烟不苦不涩我只看到口中悠悠飘出的白色烟雾没有任何感觉开始吸烟是前几天聚会的时候那时多喝了点酒就随便抽了一跟大象给的烟那个晚上吸了三跟烟没有什么感觉烟不是无聊时抽的是悲伤时抽的
2006-07-08 22:46:00
2370
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人