自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chengfangang的专栏

linux c 开发 关注安全

  • 博客(42)
  • 资源 (15)
  • 收藏
  • 关注

转载 Linux 下判断空白字符串

http://blog.csdn.net/yasi_xi/article/details/7305753用 ctype.h 中定义的 isspace() 函数判断一个字符是否是空白字符,然后用下面的函数判断一个字符串是不是空白字符串isspace()返回值:    0:非空白字符    非0:空白字符这里的空白字符(white character)包

2013-02-28 17:16:00 1886

转载 Programming with GNU Readline

http://web.mit.edu/gnu/doc/html/rlman_2.htmlProgramming with GNU ReadlineThis chapter describes the interface between the GNU Readline Library and other programs. If you are a programmer, and yo

2013-02-28 15:08:28 1464

转载 编写自己的Shell解释器

http://blog.csdn.net/kanghua/article/details/1844989摘要:本期的目的是向大家介绍shell的概念和基本原理,并且在此基础上动手做一个简单shell解释器。同时,还将就用到的一些 linux环境编程的知识做一定讲解。本文适合的读者对象       对linux环境上的c语言开发有一定经验;对linux环境编程(比如进程、管道)有

2013-02-28 11:50:44 1553

转载 写自己的shell解释器

http://3270239.blog.51cto.com/3260239/884166今天研究了简单的shell解释器,里面就虽然只可以解释几条简单的命令,但是看了一些资料,可以调用外部命令,这样的话简单的shell就不简单 了呵呵,我现在还在继续研究,尽量完善,争取写出属于自己的“不简单”的shell解释器。源代码过些时日再发布,就发在此空间,望高手指教,目前为止, 我自己写的sh

2013-02-28 11:36:22 681

转载 linux exec的用法

http://www.cnblogs.com/guyson/articles/2295633.html说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:#include extern char **environ;int execl(const char *path, const ch

2013-02-28 10:18:09 1102

转载 虚拟网卡 TUN/TAP 驱动程序设计原理

http://hi.baidu.com/fiction_junru/item/735b98127518c2051994ec7c简介虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在linux环境下的设计思路。tun/tap驱动程序实现了虚拟

2013-02-27 11:13:58 1183

转载 关于 tun/tap 设备

http://wangcong.org/blog/archives/1679长期以来对tun和tap这对兄弟分不太清,今天下定决心研究了一下代码,总算是搞明白了。首先它们都是从/dev/net/tun里ioctl出来的虚拟设备,一个是通过IFF_TUN,另一个是 IFF_TAP。最好的例子莫过于vpnc里面的代码了。PLAIN TEXTC:

2013-02-27 11:05:34 1222

转载 关于如何在linux下 查看设备 型号、属性

http://linux.chinaunix.net/techdoc/develop/2007/03/28/953545.shtmldmidecode是一个十分有用的工具,它可以全面的显示你系统的信息,包括bios、cpu、内存等信息。目前最新版本为2.9,可以在http://www.nongnu.org/dmidecode/ 下载到。    用dmidecode可以显示非常详细的硬件信息

2013-02-27 11:02:54 1851

转载 linux主次设备号介绍

http://www.zhiwenweb.cn/Category/Learning/linux-major-minor-dev-number.html1、主设备号与次设备号的功能在Linux内核中,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务;而次设备号则用来标识具体且唯一的某个设备。比如说在linux的

2013-02-27 10:59:10 4724

转载 #if、#ifdef、#if defined之间的区别

http://www.yucoat.com/c_program/difference_if_ifdef_if_defined.html#if的使用说明#if的后面接的是表达式#if (MAX==10)||(MAX==20) code...#endif它的作用是:如果(MAX==10)||(MAX==20)成立,那么编译器就会把其中的#if 与 #endif之间

2013-02-27 10:57:20 826

转载 How do I install kernel header files?

http://askubuntu.com/questions/75709/how-do-i-install-kernel-header-filesHow do I install kernel header files?up vote2down votefavorite1i want to write

2013-02-26 14:55:58 1150

转载 Redirecting packets to user space TCP stack without modifying application

http://stackoverflow.com/questions/966031/redirecting-packets-to-user-space-tcp-stack-without-modifying-applicationRedirecting packets to user space TCP stack without modifying application

2013-02-26 14:30:19 1656

转载 在kernel里怎样把IP地址从二进制转换成点分十进制

#define NIPQUAD(addr) \        ((unsigned char *)&addr)[0], \        ((unsigned char *)&addr)[1], \        ((unsigned char *)&addr)[2], \        ((unsigned char *)&addr)[3]#def

2013-02-26 14:07:02 1612

转载 Howto: Build Linux Kernel Module Against Installed Kernel w/o Full Kernel Source Tree

http://www.cyberciti.biz/tips/build-linux-kernel-module-against-installed-kernel-source-tree.htmlHowto: Build Linux Kernel Module Against Installed Kernel w/o Full Kernel Source Tree

2013-02-26 11:50:35 3104

转载 netlink+netfilter实例

http://bbs.chinaunix.net/thread-1959009-1-1.html再次见识了内核的伟大,大半年不碰,忘记的一干二净!!!写netfilter,netlink不得不提的就是九贱和duanjigang了...   Linux 用户态与内核态的交互——netlink 篇        http://bbs.chinaunix.net/viewthread.p

2013-02-26 11:48:50 1628

转载 How to: Compile Linux kernel modules

http://www.cyberciti.biz/tips/compiling-linux-kernel-module.htmlThis is one the essential and important task. Many time we upgrade our kernel and some precompiled drivers won't work with Linux.

2013-02-26 10:52:28 1422

转载 Access MAC address from sk_buff

http://stackoverflow.com/questions/10127806/access-mac-address-from-sk-buffAccess MAC address from sk_buffstruct ethhdr {unsigned char h_dest[ETH_ALEN

2013-02-26 10:35:01 1901

转载 makefile的一个错误:*** missing separator

http://blog.sina.com.cn/s/blog_87c063060101c9yp.html1、在写 多目录下makefile的时候,碰到一个错误提示,让我纠结许久,后面还是解决了,这个错误不容易被发现。2、错误提示如下:Makefile:8: *** missing separator (did you mean TAB instead of 8 spac

2013-02-26 10:29:35 4488

转载 数据包在内核态的捕获、修改和转发(基于netfilter)

http://biancheng.dnbcw.info/linux/263145.html忙活了好几天,经过多次得死机和重启,终于把截获的数据包转发的功能给实现了。同时,也吧sk_buff结构学习了一下。    本程序利用netfilter的钩子函数在PREROUTING处捕获数据包,并且修改数据包首部信息,之后直接转发,从而实现对数据包转发得功能。修改数据包得数据和地址之后,最主要的

2013-02-25 15:28:32 4925 1

转载 socket编程——sockaddr_in结构体操作

http://blog.sina.com.cn/s/blog_6151984a0100etj1.html    sockaddr结构体sockaddr的缺陷:sa_data把目标地址和端口信息混在一起了struct sockaddr {       unsigned short sa_family;   char sa_data[14];

2013-02-25 14:41:59 4462

转载 Linux ubuntu PF_RING+libpcap 极速捕获千兆网数据包,不丢包

http://blog.chinaunix.net/uid-23225855-id-3228867.html上一篇文章讲到了libpcap 捕获数据包,尤其在千兆网的条件下,大量的丢包,网上搜索好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之类的方法,我对PF_RING+libpcap进行实验,发现千兆网条件下,捕获数据包的性能很好,几乎不丢包,Linux Fe

2013-02-25 13:56:02 6574 6

转载 Fedora下集成PF_RING的详细过程

http://blog.chinaunix.net/uid-23225855-id-3228870.html在千兆网环境下,tcpdump丢包率相当高。网上搜了很多制标不治本的方法,比如增大缓冲区,然而缓冲区再大也有塞满的时候,只能从驱动和硬件下手。好在有“零拷 贝(Zero Copy)”这个东西(说白了也就是通过DMA等方式,省掉从NPF驱动到用户程序内存空间的一次复制,给CPU减少

2013-02-25 13:52:29 1506

转载 基于 linux 平台的 libpcap 源代码分析

http://blog.chinaunix.net/uid-21768364-id-3244490.html关于作者: 施聪,成都人,高级程序员、网络设计师。从事基于 UNIX/LINUX 下的 c/c++ 程序设计和数据库建模工作已 10 年。libpcap 是 unix/linux 平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。Libpcap 可以在绝大多数类 un

2013-02-25 10:49:47 2766

转载 libpcap丢包原理分析及Fedora 9 内核2.6.25.14下安装PF-RING的详细过

http://www.linuxidc.com/Linux/2011-03/33841p2.htm看到网上有人讲解Fedora 9下安装PF-RING的过程,都是几年前的了,比较老了,我安装PF-RING就是为了使用libpcap库,libpcap的原理是通过socket将数据包从网卡 捕获数据包,然后在提交给应用程序,和winpcap很大的区别是,libpcap采用的是2个缓冲区,内核类

2013-02-25 09:47:31 1353

转载 pcap不得不提的问题

最近在公司做一个项目,同事写的程序用rawsocket总是丢包。以前用pcap的java版做过一个接受程序不丢包,所以想采用pcap库实现接收包的问题。同事改成了这个库,但是消息量小了不丢,消息量大了还是丢包。我花了大约一个周的时间专门找这个问题,结合gulp的程序,发现同事的程序和gulp的程序不同的地方就是接收方法不一样,还有一些初始化变量不同,开始断定应该不是变量的问题,怀疑是pcap_

2013-02-25 09:28:40 4106

转载 Linux TCP/IP 协议栈的关键数据结构Socket Buffer(sk_buff )

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类:Layout 布局General 通用Featur

2013-02-22 09:05:21 921

转载 linux awk

http://www.cnblogs.com/dong008259/archive/2011/12/06/2277287.htmlawk是一个非常棒的数字处理工具。相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分为数个“字段”来处理。运行效率高,而且代码简单,对格式化的文本处理能力超强。先来一个例子:  文件a,统计文件a的第一列中是浮点数的行的浮点数的平均值。用awk来

2013-02-21 16:48:27 559

转载 linux sed

http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.htmlsed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] ‘command’ 输入文本

2013-02-21 16:43:45 537

转载 防火墙的接口特性

http://book.51cto.com/art/201106/267566.htm基于VLAN 的防火墙组网实例目前,企业内部局域网大多采用VLAN 技术组网,而各大公司也相继推出了支持VLAN 技术的网络防火墙。这种类型的防火墙在VLAN 局域网络中应用更加方便、灵活。笔者就实际工作中遇到的一个基于VLAN 的防火墙应用例子为大家作介绍。防火墙的接口特性

2013-02-21 15:00:39 4171

转载 防火墙模块工作模式配置

http://www.ruijie.com.cn/htmls/3-23/RG-S8600peizhi/Cap2.htm2.1              工作模式概述M8600-FW防火墙模块可以工作在路由模式或透明模式。Ø         路由模式:该模式的防火墙模块可以让处于不同网段的设备通过路由转发的方式进行               相互通信,IP报文到达防火墙业务

2013-02-21 14:54:24 3994

转载 memcpy memmove区别和实现

http://www.cnblogs.com/kekec/archive/2011/07/22/2114107.htmlmemcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。memmove的处理措施:(1)当源内存的

2013-02-21 11:02:34 599

转载 TCP SYN Flood攻击的原理机制/检测与防范及防御方法

http://www.net130.com/CMS/Pub/network/network_security/2008_08_21_42374_3.htm一、TCP连接监控(TCP Interception)   为了有效的防范TCP SYN Flood攻击,在保证通过慢速网络的用户可以正常建立到服务端的合法连接的同时,需要尽可能的减少服务端TCP Backlog的清空时间,大多数防火

2013-02-19 15:12:29 3985

转载 Linux下配置ip地址

http://www.cnblogs.com/lidp/archive/2009/12/02/1697480.html即时生效:ifconfig eth0 192.168.1.102 netmask 255.255.255.0启动生效:vim /etc/sysconfig/network-scripts/ifcfg-eth0加入IPADDR=192.168.1.102

2013-02-19 14:33:19 687

转载 vim

2013-02-19 12:08:38 529

转载 Apache安装配置ModSecurity

http://www.2cto.com/Article/201212/174729.html1、安装LAMP和编译环境 环境说明  #Apache 2.2.5#Mysql 5.1.6#Centos 6.0安装apache+php+mysql #yum -y install httpd php mysql mys

2013-02-19 11:44:15 3666

转载 curl 命令使用

http://www.moonhack.org/post-46.html1)初体验curl http://www.yahoo.com回车之后,www.yahoo.com 的html就稀里哗啦地显示在屏幕上了~2)保存页面curl http://www.yahoo.com > page.html或者用curl的内置option,存下http的结果c

2013-02-19 10:46:56 781

转载 使用libevent编写linux服务(一)

http://hi.baidu.com/kanif/item/c308cbffaf679b11fe358297使用libevent编写linux服务(一)一 libevent简介libevent是一个支持Windows、linux和bsd等平台的网络事件驱动程序库。它支持多种I/O服用机制,按照优先级从高到低依次为:evport、kqueue、epoll、devpoll

2013-02-01 14:33:56 769

转载 使用libevent编写linux服务(二)

http://hi.baidu.com/kanif/item/001a08ab1b007f9b151073934 处理连接     到这里为止,大家已经完成了事件的设置、事件的添加并进入到了事件循环。但是当事件发生时(这里就是连接建立)如何处理呢? 聪明的用户会想到前面我们在事件设置时指定的回调函数accept_handle。没错,当连接建立时回调函数accept_handle

2013-02-01 14:33:19 867

转载 在libevent中使用线程池

http://hi.baidu.com/kanif/item/07fe55bbb93754ef4fc7fd97一 线程的初始化1线程对象     在进行事件驱动时,每个线程需建立自己的事件根基。由于libevent未提供线程之间通信的方式,我们采用管道来进行线程的通信。同时为方便主线程分配线程,我们还需保留各个线程的id号。因此我们采用如下结构来保留每个线程的有关信息。

2013-02-01 14:32:41 719

转载 编写linux守护进程

http://hi.baidu.com/kanif?page=5在linux中,系统与用户交流的界面为终端,每一个从此终端开始运行的进程都将依附于这个终端,当终端关闭时,相应的进程都会自动关闭。但在实际使用中,经常需要让进程脱离终端并在后台运行。让进程脱离终端有多种方法,例如nohup、screen、crontable等。那么如何让进城在运行时自动脱离终端转化为守护进程呢?一

2013-02-01 14:32:06 663

uthash hash string

Any C structure can be stored in a hash table using uthash. Just add a UT_hash_handle to the structure and choose one or more fields in your structure to act as the key. Then use these macros to store, retrieve or delete items from the hash table

2013-09-04

cJSON解析json数据

Description An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C compliant JSON parser, under MIT license.

2013-09-04

SecureCRSecureFXPortable打开就能用

秒杀 SecureCRSecureFXPortable打开就能用,其他的弱爆了

2013-08-21

vim+windows 文件

vim+windows 文件

2013-07-27

Burp_Suite使用说明

Burp_Suite使用说明

2013-02-19

Linux系统中vim设置tab键的宽度

Linux系统中vim设置tab键的 宽度

2012-11-26

apache2 简单介绍

apache2 简单介绍

2012-11-26

apt.tar.bz2

apt.tar.bz2

2012-10-30

apt mirror

apt mirrorapt

2012-10-30

openssh_6.0p1.orig.tar

openssh_6.0p1.orig.tar

2012-10-30

Burp Suite教程.pdf

Burp Suite教程.pdf

2012-10-25

Netfilter简介.ppt

Netfilter简介.ppt

2012-03-06

gun 编程规范

编程规范 英文

2012-03-05

空空如也

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

TA关注的人

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