- 博客(195)
- 资源 (18)
- 收藏
- 关注
原创 贴一份Linux单网间的透明代理代码
示意图大致如下:系统环境: Windows 或者 Linux,稍作修改也可用于FreeBSD系统。主要用到的技术点:1. select 模型2. 多线程3. libxml库4. 记录日志5. 跨平台6. 命令行参数解析代码大致如下:一、参数解析: //get prameters while(-1 != (opt = get
2015-01-21 11:02:13
820
原创 libevent 在FreeBSD下,因为版本的差异,导致了神奇的问题
libevent 版本导致库不一致导致的问题大致环境: 根据目前的需求,需要完成一个双向双网段间的透明代理。程序需要跨平台,因此采用了libevent库进行开发。但是在windows环境下,直接是在官网下载的最新版libevent-2.0.21-stable.tar.gz,编程使用的VS2008 IDE工具,因此在windows下开发调试通过。后面在FreeBSD 8.1下
2015-01-20 15:11:43
1383
原创 Linux Ldirectord 使用
Linux Ldirectord 使用注:ldirectord 是一个perl脚本,因此不用安装Heartbeat也是可以使用的,如将Heartbeat中的ldirectord单独copy出来,放到一个新的系统里,只需要yum install 一些perl依赖库即可使用。 1. 在安装好 Heartbeat 后,便会在 xxx/sbin/ 目录下生成 ldirectord 可执行文
2014-12-29 23:25:32
942
原创 FreeBSD 8 执行/etc/rc时屏蔽 Ctrl-C
系统启动后,加载完内核,便会执行 /etc/rc,这时候是能够被 Ctrl - C打断的,而有些系统是不能容忍中断的。因此需要屏蔽 Ctrl-C 按键。找到 /usr/src/sbin/init/init.c 文件,这是 init 进程的源文件,/etc/rc 是被这个进程进行调用执行的。在 init.c 中,会调用 run_script 函数,这个函数负责执行一些特定的脚本
2014-01-10 09:45:06
832
原创 修改 Apache 源码,支持root用户
环境: CentOS 6.3 + Apache 2.2.15 + Php5因为在 php 程序中要调用一些 exec 命令,如删除文件,访问系统的一些特殊内容等,都会发生没有权限的情况。不修改源码是无法做到使用 root 权限来运行 httpd 的。httpd.conf -->User rootGroup root 先下载 httpd-2.2.15.tar.
2014-01-10 09:36:01
1465
原创 使用摄像头解析二维码,且可以生成含具体信息的二维码
开源一份早些时候写过的代码,关于二维码在PC端的应用。二维码的具体应用范围,这里不详述。之前项目主要用于朋友一个牙科的平台,不过后面没有采用,也就没有往后继续开发,大家要是觉得有意思,可以自己拿去改改。在这上面还可以有很多玩法,例如开发一个小工具,直接在PC端解读屏幕上的二维码,或者做超市或其他终端二维码解析,或者二维码标签等。现在完成的功能主要有:2013/03/27
2014-01-09 21:17:03
10158
原创 Zbar二维码解析库编译
环境: Win7 + MinGW默认的Zbar for windows 中的DLL在windows不能支持中文,需要修改源码,然后重新编译,没有VS的工程,编译过程相当纠结。1. 首先先安装 MinGW ,安装过程不详述,比较简单。2. 将zbar源码放入到 msys/1.0/proj/下,默认路径为: C:\MinGW\msys\1.0\ ,proj是新建的目录。mingw会将1.0
2013-06-14 09:20:03
20366
1
原创 VC利用 zint 库生成二维码
1. zint库,可以先下载源码,编译出来。编译过程需要用到 libpng库。2. 使用起来比较简单,导入头和库文件即可。3. 在生成QR二维码时,手册上没有描述具体信息。下面给出一段生成二维码的代码。BOOL CSystemInfo::GenerateBarcode(const char *szText,int len,const char *szOutPath){ st
2013-04-27 14:05:41
6660
3
原创 X86系统下 VC环境整二维码识别
libdecoderq 库编译过程本文开发环境和系统说明:系统: Windows 7 旗舰版VS: VS2008 后续的都是使用 Debug方式编译。尝试过另外一个库ZBar 做二维码的解析,因为ImageMagick库实在是在导入后,总是在编译时出现符号找不到,只得先放弃。1. 下载源码,地址为:http://trac.koka-in.org/lib
2013-03-24 18:32:37
3381
原创 sprintf 自动追加'\0'字符
之前都还没有意识到 sprintf会在字符串缓冲追加 '\0'字符,今天在写一个小程序时真实感受到了。如: typedef struct _SE_DATA{ unsigned long id; char md5[32]; char data[64];}SE_DATA;unsigned char md5[16] = {0};...... for (i = 0;i <
2013-02-20 10:08:02
13603
2
原创 jftpgw 0.13.5 支持 MLSD 命令
jftpgw 0.13.5 默认存在一个小BUG,对与一些客户端的MLSD命令无法正确解析,或者说是根本就没有实现该指令的正确代理功能,从而导致客户端卡死,超时。只需要在代码中小改动下,就能使其正常。下面是一些截图,实验用到的客户端是 FileZilla,服务器端是 Server-U。修改 std_cmds.h 文件,将"MLSD" 跟 std_list 对应即可。
2012-11-26 19:19:49
914
原创 yum intall 光盘补装rpm包,如gcc
因为需要在CentOS下使用iperf,网卡又驱动不起来,当时安装系统时忘记选开发工具了,相当纠结。现在只能是使用光盘里面的源作为yum的源,在/etc/yum.repos.d/中新建一个源 cdrom.repo[cdrom]name=CDROM CentOSbaseurl=file:///media/cdrom #之前将光盘挂载在这个 /media/cdrom 目录下
2012-11-20 15:47:39
799
原创 CentOS 6.3 使用163 yum源
方法在网上有介绍,cd /etc/yum.repos.d/ 目录,wget http://mirrors.163.com/.help/CentOS-Base-163.repo 会从163下载一个 repo,这个文件使用时需要注意,链接到的地址有些变化,如果不修改下,yummakecache时会报错。修改 刚下载的 repo 文件,将黑色光标在的位置替换成updates
2012-11-20 15:32:26
648
原创 FreeBSD 8 Warning: syntax error on file /boot/loader.conf
pfsense的VGA版本没有 /boot/loader.conf,于是在windows下新建一个 loader.conf,内容为:beastie_disable="YES"autoboot_delay="1"console=vidconsolelegal.intel_ipw.license_ack=1legal.intel_wpi.license_ack=1很简单
2012-11-19 16:49:01
743
原创 FreeBSD 8.1 dd Invalid argument 问题
FreeBSD 系统,是想做个简单的实验,将pfsense镜像安装到硬盘。这个镜像是经过gzip压缩过的,首先需要解压,然后才能dd到硬盘。ISO 在引导后被识别成 /dev/acd0,硬盘是 /dev/ad0 ,运行下面的命令: gzcat /nanobsd_vga.full.img.gz | dd of=/dev/ad0 bs=16k 运行就提示 dd: /dev/ad0 : Inva
2012-11-19 16:44:58
1412
原创 php cannot be built with multiple SAPI
编译 php5 出错,提示 php5-5.4.7 cannot be built with multiple SAPI (apache and embedded) 原因在于勾选了 'EMBED' 。make clean 然后make config 去除EMBED选中状态 ,然后在重新make install clean即可。
2012-11-08 19:13:56
759
转载 [FreeBSD]Apache + MySQL + PHP + mod_fastcgi
[FreeBSD]Apache + MySQL + PHP + mod_fastcgi转自: http://blog.johnsonlu.org/freebsdapache-mysql-php/Apache安裝1cd /usr/ports/www/apache222make configinstall clea
2012-11-02 10:42:25
619
原创 Fedora 16 默认httpd启动出现段错误
今天尝试搭建 FOSSology V2.0,在弄httpd服务时,发现启动总会出现 Restarting httpd (via systemctl ) Job failed. See system logs and 'systemctl status' for details.查找日志 /var/log/httpd/err_log 没有什么东西可看,查看 messages倒是找到了些内容,如
2012-09-28 11:00:31
1407
转载 FOSSology 安装文档
FOSSology Installation DocumentationIntroduction============This document is designed to help you get FOSSology installed and readyto use. It's intended audience is the system administrator who w
2012-09-24 00:28:37
3321
转载 自由軟體授權分析輔助工具
為了要解決工作上所需處理的授權分析問題,筆者常會需要了解一個專案究竟利用了哪些自由軟體元件,以及這些元件是採用哪一份自由軟體授權條款?這些工作通常得透過人工進行,也就是請實際開發專案的工程師提供他們的軟體架構圖,並且查詢這些軟體元件適用哪些授權條款,等到取得這些資料後,才有辦法進行後續的授權分析,以研擬授權衝突的解決方案。若涉及的自由軟體元件僅三、四個,那這樣的人工作業尚不困難,但若是牽涉到幾十個
2012-09-23 08:51:34
2141
原创 OPENSSL 颁发证书出错
使用Openssl为某个人或者某个服务器进行颁发证书时,出现意外的错误。openssl genrsa -des3 -out aa.key 1024 //为用户创建一个私钥openssl req -new -key aa.key -out aa.csr //生成一个证书请求openssl x509 -req -in aa.csr -out aa.crt -CA ca.crt
2012-08-14 15:22:20
3723
原创 OPENSSL VS环境下源码调试
版本为 openssl-0.9.8x 源码,因为这个库极为庞大复杂,要具体去了解它,单步调试查看是必不可少的。源码在手,却不能和之前的一些项目样,直接将源码放入到VS IDE环境进行编译,毕竟这不是土生土长的微软的东西。现在需要在VS 2008进行单步查看和调试,因此需要对openssl进行DEBUG版的编译,网上很多的教程都是编译的Release版本,要编译DEBUG,需要小小的做些改动
2012-08-14 12:34:39
4793
转载 PKCS cer 证书
PKCS cer 证书 PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。常用的有: PKCS#7 Cryptographic Message Syntax Standard PKCS#1
2012-08-08 14:43:03
766
原创 2003 IIS证书服务器 提示“请求用户名无效,或太长”
为了学习openssl,需要弄些个证书做实验,于是在VmWare8.0中搭建windows 2003证书服务器,安装好后,会在IIS中有个默认网站,然后以后访问这个站点就能进行申请证书。本机做实验都是正确的,申请证书后,在“证书颁发机构” -> "挂起的申请" 能看到并且也能够进行颁发。如下图:证书服务器的IP为: 192.168.199.101,匿名用户为Cert帐号。然
2012-08-07 10:01:08
3128
转载 ipv6地址的分类
自《IPV6详解》 ipv6地址总的来说可分为三大类:单播地址,泛播地址和组播地址 (后面两种网上很多介绍)单播地址还可分为几类:可集聚全球单播地址,链路本地单播地址和站点本地单播地址.见IPV6地址分配表:这样的分配方案支持可集聚地址、本地用地址和组播地址的直接分配,并有保留给 N S A P地址和I P X地址的空间。其余的地址空间留给将来用。可用于已有
2012-08-02 11:04:32
1109
转载 IPV6地址
认识IPv6地址我们知道,IPv4地址是类似 A.B.C.D 的格式,它是32位,用"."分成四段,用10进制表示;而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是128位的,用":"分成8段,用16进制表示;可见,IPv6地址空间相对于IPv4地址有了极大的扩充RFC2373中详细定义了IPv6地址,按照定义,一个完整的IPv6地址的表示法:xxxx:xxxx
2012-08-02 10:59:38
824
转载 在VMware下实现主机与虚拟主机之间的IPv6通信
在VMware下实现主机与虚拟主机之间的IPv6通信 首先需要安装一个虚拟机,本次实验采用的是linux系统,首先需要确认Linux系统可支持IPv6地址,查询方法:输入ifconfig,回车后,如果有类似inet6 addr : fe80::20c:29ff:fed7:4563/64 Scope:link 类型的地址,说明这个lin
2012-08-02 10:56:06
6896
原创 虚拟机与主机进行IPv6通信实验
主机采用 XP 系统,虚拟机VMware 8.0,系统为FreeBSD8.0。一、配置FreeBSD对于FreeBSD来说,可以先检查ipv6是否开启,ifconfig em0 或是 igb0,查看如果存在ipv6,则会显示ipv6地址信息。如下图: (图一)这里存在两个 inet6地址,这是我另外绑定了一个ipv6地址在接口上。 另外在boot引导后,能看到类
2012-08-02 10:51:29
5388
原创 X509_NAME 与WinCrypt冲突
在Windows环境中使用 X509_NAME时,会因为include的顺序导致冲突。如先#include "openssl/x509.h" #include "windows.h"X509_NAME *Name = X509_get_subject_name(p); //就会发生冲突 ,在windows中定义为 #define X509_NAME
2012-07-13 10:00:07
2657
1
转载 warning treated as error; no output file generated
DDK 的 SOURCES 不能包含 .h 头文件今天无意间查看DDk driver 的 source 文件,发现只有.c 文件,还以为写的时候忘记了 .h 谁知加上之后居然通不过。查了一下才发现 SOURCE 不能包含头文件,否则会出现:link : error LNK1218: warning treated as error; no output file generated
2012-07-11 13:17:37
3197
转载 多队列网卡简介
多队列网卡简介多队列网卡是一种技术,最初是用来解决网络IO QoS (quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网卡的需求。常见的有Intel的82575、82576,Boardcom的57711等,下面以公司的服务器使用较多的Intel 82575
2012-07-03 10:20:54
885
转载 FreeBSD路由详解
FreeBSD路由详解在同一个局域网上的计算机是直接连通的,但是不同的网络上的计算机并没有直接相连,只能通过一台特殊的专用计算机 -路由器来完成连通。路由器连接有多个网络界面,每一个网络界面连接到一个相应的网络上,具有一个这个网络上的IP地址,因此,网络内部的计算机可以和路 由器本身相互通信。当网络内部的计算机要向外连接的时候,数据包实际是交给路由器的,路由器再将数
2012-06-20 09:59:39
693
转载 FreeBSD下千兆双口数据包捕获的性能分析
[原创]FreeBSD下千兆双口数据包捕获的性能分析(SMP Kernel)文章转自:http://www.cnblogs.com/bits/archive/2009/12/15/FreeBSD_libpcap_lossless_Gigabit_capture.html 首先说一下测试环境:Intel Xeon 5130(2GHz,双核)、4G内存,外加一块Intel Exp
2012-06-20 09:55:32
2861
转载 FreeBSD 开启POLLING
FreeBSD Set Network Polling To Boost Performanceby Vivek Gite onJune 23, 2009 · 6 comments· last updated atJune 23, 2009I've Intel PRO/1000 Gigabit Ethernet adapter installed in my server.
2012-06-20 09:51:51
1118
转载 IPFW(8) -- IP防火墙和流量整形的控制程序
IPFW(8) -- IP防火墙和流量整形的控制程序名称:ipfw – 用来控制IP防火墙、流量整形、数据包调度、内核网络地址转换的程序ipfw语法:防火墙规则: ipfw [-cq] add rule ipfw [-acdefnNStT] [set N] {list | show} [rule | first-last ...] ipfw
2012-06-19 10:19:42
4906
转载 Linux的时间与时钟中断处理
本文主要介绍在Linux下的时间实现以及系统如何进行时钟中断处理。一. Linux的硬件时间PC机中的时间有三种硬件时钟实现,这三种都是基于晶振产生的方波信号输入。这三种时钟为:(1)实时时钟RTC ( Real Time Clock) (2)可编程间隔器PIT(Programmable Interval Timer )(3)时间戳计数器TSC(Time Stamp Clock
2012-06-13 09:01:17
960
转载 FreeBSD路由详解
FreeBSD路由详解在同一个局域网上的计算机是直接连通的,但是不同的网络上的计算机并没有直接相连,只能通过一台特殊的专用计算机 -路由器来完成连通。路由器连接有多个网络界面,每一个网络界面连接到一个相应的网络上,具有一个这个网络上的IP地址,因此,网络内部的计算机可以和路 由器本身相互通信。当网络内部的计算机要向外连接的时候,数据包实际是交给路由器的,路由器再将数据包从连
2012-06-12 16:52:27
1473
转载 Lighttpd与PHP
Lighttpd与PHP2007年12月21日 星期五 下午 7:40作者:老王Lighttpd和PHP的搭配现在越来越常见了。但是老实说,如非必要,我还是推荐你使用Apache和PHP的搭配方式,毕竟LAMP构架的成熟度和稳定度都是经过时间考验的。那么什么时候Lighttpd和PHP的搭配更值得选择呢?可以从以下几点考虑:如果访问量比较大,硬件资源吃紧,那么Lighttp
2012-06-12 16:05:09
625
BJ8F ARF2496K 代码
2014-05-27
二维码解析
2014-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人