自定义博客皮肤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 开发 关注安全

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

转载 How to Configure, Install and Use libnefilter_queue on Linux

According to libnetfilter_queue home page, libnetfilter_queue is a userspace library that allows one to retrieve and manipulate the packets that have been queued by kernel packet filter. It is suppose

2013-08-27 15:57:44 1123

转载 get all ips

#include #include #include #include #include #include int main (int argc, const char * argv[]) { struct ifaddrs * ifAddrStruct=NULL; struct ifaddrs * ifa=NULL; void * tmpAddrPtr=NULL; getifaddrs(&ifAd

2013-08-27 13:53:47 837

转载 跟我一起写 Makefile

陈皓 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefi

2013-08-23 18:05:46 750

转载 12岁的少年教你用Python做小游戏

本文由 伯乐在线 - 伯乐在线读者 翻译自 Julian Meyer。转载请参见文章末尾处的要求。【感谢@贱圣OMG 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】你有没有想过电脑游戏是怎样制作出来的?其实它没有你想象的那样复杂!在这个教程里,你要学做一个叫《兔子和獾》的塔防游戏,兔子作为英雄,需要在城堡里抵御獾的进攻。

2013-08-23 10:45:10 1969

转载 Vim简明教程【CoolShell】

转载地址:http://blog.csdn.net/niushuai666/article/details/7275406vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命

2013-08-22 09:53:08 593

转载 Linux man命令的使用方法

Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。Linux的man手册共有以下几个章节:代號代表內容1使用者在shell中可以操作的指令或可执行档2系統核心可呼叫的函数与工具等3一些常用的函数(function)与函数库(librar

2013-08-22 09:42:53 682

转载 wireshark 插件编写

wireshark插件编写所谓插件技术,就是在程序的设计开发过程中,把整个应用程序分成宿主程序和插件两个部分,宿主程序与插件能够相互通信,并且,在宿主程序不变的情况下,可以通过增减插件或修改插件来调整应用程序的功能。运用插件技术可以开发出伸缩性良好、便于维护的应用程序。它著名的应用实例有:媒体播放器winamp、微软的网络浏览器ie等。  由于现在网络协议种类繁多,为了可以随时增加新的协议

2013-08-19 16:58:54 1106

原创 wireshark 插件开发

根据英文介绍的插件开发,写的一个小的demo.

2013-08-19 16:23:44 877

转载 wireshark插件开发

最近在弄wireshark,网上资料很少,不过找到了一篇不错的,翻译过来,方便大家查看。不过设置编译环境那章写的不怎么好,可以参考下官网或其他人写的经验贴。 原文地址:http://www.codeproject.com/Articles/19426/Creating-Your-Own-Custom-Wireshark-Dissector相关例子源代码地址:http://w

2013-08-19 11:16:19 2420

原创 vim 快捷键 总结-移动

工欲善其事必先利其器!用source insight 总是感觉 比不上vim。 所以就狠心总结一下,用多了 ,自然就习惯了。等习惯的时候,呵呵。本文是参阅了 Vim-handbook-cn-72.pdf 的中文版,版权归原作者所有。以Word为单位的移动  使用"w"命令可以将光标向前移动一个word,你可以在"w"前面指定一个数字前辍以向前移动指定个数的word. 。

2013-08-16 13:44:39 888

原创 vim 快捷键 总结-编辑文件

工欲善其事必先利其器!用source insight 总是感觉 比不上vim。 所以就狠心总结一下,用多了 ,自然就习惯了。等习惯的时候,呵呵。本文是参阅了 Vim-handbook-cn-72.pdf 的中文版,版权归原作者所有。:set showmode  查看现在所处的工作模式 现在,如果你键入了"i"命令Vim就会在窗口底部显示--INSERT--。这表明你目前处于Insert模式

2013-08-16 10:40:17 833

转载 MTU & MSS 详解记录

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://infotech.blog.51cto.com/391844/123859          先学习理解一下帧的封装格式:需要注意的是,区别两种帧封装格式:802标准帧和以太网帧1,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C

2013-08-15 11:56:09 1175

转载 七个高效的文本编辑习惯(以Vim为例)

【感谢@dryrun 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】如果你花很多时间输入纯文本、写程序或HTML,那么通过高效地使用一个好的编辑器,你可以节省大部分时间。本文将提供指导和提示,让你更迅速地做这些工作,并且少犯错误。本文用开源文本编辑器Vim(Vi IMproved)来演示如何高效编辑,本文方法同样适用于其他的编辑器。选择合适的编辑器,实际上

2013-08-15 09:25:36 828

转载 HTTPS是如何保证连接安全:每位Web开发者都应知道的

【感谢@埃姆杰 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】 “HTTPS协议的工作原理是什么?”这是我在数天前工作项目中需要解决的问题。作为一名Web开发者,我当然知道 HTTPS 协议是保障用户敏感数据的好办法,但并不知道这种协议的内在工作机制。它怎么保护数据?有人监听线路的情况下,服务器与客户端之间如何建立安全的连接?安全证书又是什

2013-08-14 10:35:40 1137

转载 Linux 常用命令 – 给linux初学者

Linux 常用命令1.# 表示权限用户(如:root),$ 表示普通用户开机提示:Login:输入用户名password:输入口令 用户是系统注册用户成功登陆后,可以进入相应的用户环境.退出当前shell,输入:exit2.useradd netseek 添加一个netseek用户passwd netseek 给netseek这个用户设置密码.(/etc/pa

2013-08-13 17:16:50 1208

转载 linux软中断

在由内核执行的几个任务之间有些不是紧急的,在必要情况下他们可以延迟一段时间。一个中断处理程序的几个中断服务例程之间是串行执行的,并且通常在一个中断的处理程序结束前,不应该再次出现这个中断。相反,可延迟中断可以在开中断的情况下执行。linux中所谓的可延迟函数,包括软中断和tasklet以及通过中作队列执行的函数(这个以后说),软中断的分配是静态的(即值编译时定义),而tasklet的分配和

2013-08-13 15:55:15 793

转载 linux内核中断、异常、系统调用的分析以及实践

报告内容中断是由间隔定时器和和I/O设备产生的。异常则是由程序的错误产生,或者由内核必须处理的异常条件产生。第一种情况下,内核通过发送一个信号来处理异常;第二种情况下,内核执行恢复异常需要的所有步骤,或对内核服务的一个请求。中断和异常改变处理器执行的指令顺序,通常与CPU芯片内部或外部硬件电路产生的电信号相对应。它们提供了一种特殊的方式,使处理器转而去执行正常控制流之外的代码。中断

2013-08-13 15:25:22 1039

转载 Linux中断处理之系统调用

一:前言  有时候,用户空间为了满足某些要求,要从内核空间去进行操作,比例建立文件,建立socket,查看内核数据等等.因此操作系统必须提供一种方式.供用户态转入内核态.我们在前面分析过tarp_init()函数.只有异常跟系统调用才能从用户空间转入到内核空间(PL值为3).但是异常通常带有很大的随意性,用户程序不好控制异常的发生点.所以,系统调用就成了沟通用户空间与内核空间的一座重要的桥

2013-08-13 15:24:18 1404

转载 Linux系统的中断、系统调用和调度概述

最近学习Linux操作系统,关于中断系统调用和进程的级别总是感觉有些模糊的地方,特在此做个小结,整理下思路。所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类:1、由计算机硬件异常或故障引起的中断,称为内部异常中断;2、由程序中执行了引起中断的指令而造成的中

2013-08-13 15:16:07 954

转载 GCC使用

GCC使用by Jian LeeGCC的选项如何指定GCC的默认头文件路径Linux系统的头文件和库文件搜索路径头文件库文件运行时动态库的搜索路径GCC的选项-c只生成目标文件(.o),不连接。% gcc -c main.c% g++ -c reciprocal.cpp-I可以指定头文件的目录% g++ -c -I ../include re

2013-08-13 15:03:07 1055

转载 转:GCC头文件和库文件搜索路径问题

原文:http://blog.csdn.net/diantouxiao/article/details/5836345参考资料:http://hi.baidu.com/relayon/blog/item/95aaf7fcf8e3edf5fc037f89.html 我们编写程序的时候会用到三个东西:头文件,链接时候库文件,运行时动态库文件。

2013-08-13 14:57:20 691

转载 Linux静态链接(库)、动态链接(库)、可执行文件加载相关问题(创建、选项、环境变量等)

参考:http://www.cnblogs.com/hanyan225/archive/2010/10/01/1839906.htmlhttp://www.west263.com/info/html/wangzhanyunying/jianzhanjingyan/20080417/70218.htmlhttp://www.cnblogs.com/lidp/archi

2013-08-13 13:56:56 1484

转载 Linux/Unix平台可执行文件格式分析

本文讨论了 UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and link editor output 汇编器和链接编辑器的输出)、COFF(Common Object File Format 通用对象文件格式)、ELF(Executable and Linking Format 可执行和链接格式)。首先是对可执行文件格式的一个综述,并通过描述 ELF 文件

2013-08-13 11:59:18 2414

转载 linux可执行文件的加载和运行之二

a.out文件格式的加载  a.out模块的处理是在binfmt.aout.c中.如下示:双击代码全选1234567static struct linux_binfmt aout_format = {   .module    = THIS_MOD

2013-08-13 11:51:03 962

转载 linux可执行文件的加载和运行之一

linux可执行文件的加载和运行之一        三:可执行文件的加载和运行    Execve系统调用可以调用一个可执行文件完全代替当前的进程,它在libc中的封装有几个API:    int execl(const charp a t* h n a m e, const char a* rg 0, ... /* (char *) 0 */);    i

2013-08-13 11:46:26 2211

转载 linux 代码段,数据段,堆,栈的存放

进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。一、Linux进程的五个段下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区都是干什么

2013-08-13 11:38:31 851

转载 在硬盘留下后门,重装系统都没辙

感谢@心理未成年的某青年这次要给力 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】OHM2013(Observe, Hack, Make. )是一个专为黑客、制造者和那些有探究精神之人举办的国际户外露营节,为期 5 天。今年 7月31日在荷兰 Geestmerambacht 举办,有 3000 人参与。这篇文章相关内容已在 OHM2013 已经公开。原理是利用硬盘的一些智

2013-08-13 10:00:58 1132

转载 elf文件格式

elf文件格式学习总结 编译器将一个源文件生成目标文件时,会在目标文件中生成符号表 和重定位表 。 符号表包含在文件中定义的全局符号 以及在文件中引用的外部符号 (外部函数或变量)。 重定位表告诉链接器在哪些位置要进行重定位操作。 编译器生成的目标文件在文件的                                                                

2013-08-12 17:35:57 939

转载 linux下 nm 命令

用途显示关于对象文件、可执行文件以及对象文件库里的符号信息。语法nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [ -e | -g | -u ] [ -d | -o | -x | -t Format ] File ...

2013-08-12 16:41:08 1047

转载 ar - 创建静态库.a文件

用途说明创建静态库.a文件。用C/C++开发程序时经常用到,但我很少单独在命令行中使用ar命令,一般写在makefile中,有时也会在shell脚 本中用到。关于Linux下的库文件、静态库、动态库以及怎样创建和使用等相关知识,参见本文后面的相关资料【3】《关于Linux静态库和动态库的分析》。 常用参数格式:ar rcs  libxxx.a xx1.o xx2.o

2013-08-12 16:34:06 867

转载 关于Linux静态库和动态库的分析

1.什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。2.库的种类linux下的库有两种:静态库和共享库(动态库)。二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过

2013-08-12 16:30:49 671

转载 深入浅出交换类排序算法(冒泡排序,快速排序)

1) 冒泡排序冒泡排序在众多排序算法中算比较简单的一个, 基本思想是, 重复的进行整个数列的排序, 一次比较两个元素(两两排序),如果它们顺序不符合就交换,重复这样直到数列没有再需要交换的数为止(结束条件).就好像气泡一样, 轻的气泡会往上漂浮,在不断漂浮的过程中,发生了两两交换过程, 所以叫冒泡排序.其实也可以用生活中的例子理解, 就比如: 在军训排队时, 按个子高的

2013-08-12 15:10:30 1006

转载 Linux Cache 机制

在阅读文章前,您应该具备基本的存储器层次结构知识,至少要了解局部性原理。要详细了解cache基本原理,可以参考本书《深入理解计算机系统》中存储器体系结构一章:  带着疑问来看文章,cache对于程序员是不可见的,它完全是由硬件控制的,为什么在linux内核中还有cache.h这个头文件,定义了一些关于cache的结构? 1. cache概述cache

2013-08-09 15:57:16 809

转载 14条建议,使你的IT职业生涯更上一层楼

升值为企业IT部门的领导者,并非一件易事。从一般大众中脱颖而出,则更不容易。2013是一个好年头,据专家报告显示,6月所有新工作中,10%来自技术领域。这对于那些希望高升、换岗、跳槽的IT技术人员来说是个好消息。但要想这些职业“变动”成为可能,你需要让雇佣者感受到你可以带来更多价值。根据CIO、职业顾问及专家的观点,仅把工作干好还不够。你需要展示出投身于技术发展的奉献精神及伴随技术

2013-08-08 15:03:35 740

转载 开发者必备的6款源码搜索引擎

在推动技术变革上,开源运动发挥了非常显著的作用。而Linux成功地将开源转换成商务模式,给广大开源工作者带来了更大的信心和勇气。目前,开源已成为主流,在未来的几年内,它的足迹将会遍布前沿教育、航空航天(如无人驾驶飞机)等许多领域。借鉴现有的开源项目或开源代码,对于初级开发者来说,不失为一种很好的编程手段,但千万不要单纯地“用”,更多地是理解与提升,这样才会进步。下面为大家介绍6款源

2013-08-08 14:43:22 923

转载 TCP Flags: PSH and URG

TCP Flags: PSH and URGBy stretch | Wednesday, March 2, 2011 at 3:58 a.m. UTCThe TCP header contains several one-bit boolean fields known as flags used to influence the flow of data across

2013-08-08 11:48:19 2156

转载 12 个有效的提高编程技能的方法

1. 永远不要停止学习和阅读阅读 书籍,而不只是网站阅读 只为自我提升,而不是为了下一个项目阅读 提升你的基础,而不只是最新技术2. 跟比你聪明的人一起工作跟比你更聪明的人或者是更有经验的人一起工作,可以让你快速提升3. 变成一个全才不要过于钻牛角尖,这可能会让你停滞不前和伤害你的就业前景。4. 阅读并记录别人的代码其实写代码比阅读并理解别人的代

2013-08-07 17:27:17 709

转载 从编译器角度分析C语言中数组名和指针的区别

数组名和指针是两个往往很容易让人们混淆的概念,很多人以为数组名就是一个指针,也有很多人知道数组名不同于指针但是仅知道数组名的值不能像指针一样改变,例如你可以写出下面这样的代码:int *p;p++;却不能写这样的代码:int a[];a++;那么数组名跟指针之间到底有什么区别呢?第一,在声明上,除了作为函数参数的数组名总是

2013-08-07 16:25:09 1242 5

转载 linux-c编程-访问mysql

1 简介用C语言连接MySQL数据库有两个步骤:1)初始化一个连接句柄结构2)建立连接2 库函数2.1 函数mysql_init初始化一个连接句柄结构[cpp] view plaincopy函数原型:  MYSQL *mysql_init(MYSQL * mysql);  参数说明:  

2013-08-07 15:00:56 946

转载 查找单链表中倒数第m个元素

相对于双向链表来说,单向链表只能从头到尾依次访问链表的各个节点,所以如果要找链表的倒数第m个元素也只能从头到尾进行查找,在查找的过程中,设定两个指针,其中current指针指向当前访问的节点,previous指针指向current之前的节点,且两者之间相距m个节点,这样,当 current指针指向最后一个节点时,那previous指针指向的元素就是倒数第m个元素,程序的处理过程如下:eleme

2013-08-07 13:03:40 2370

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关注的人

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