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

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

转载 linux驱动程序之虚拟以太网设备vmeth

Posted on 2006-10-05 15:05 倚槛追风 阅读(197) 评论(0)  编辑 收藏 引用 所属分类: 嵌入式linux,驱动程序        在《linux驱动程序之hello world》中我们编写了一个简单的能运行与linux内核态的模块,虽然它没有打印“Hello World”,我们还是称之为“hello模块”。Hello模块仅仅是一个演示,它除了打印两个字符

2013-03-25 11:10:23 1134

转载 ps aux命令显示的状态列中的Ss+,Rsl,R+,S<sl都是什么意思呢?

D    不可中断     Uninterruptible sleep (usually IO)R    正在运行,或在队列中的进程S    处于休眠状态T    停止或被追踪Z    僵尸进程W    进入内存交换(从内核2.6开始无效)X    死掉的进程N    低优先级L    有些页被锁进内存s    包含子进程+    位于后台的进程

2013-03-22 14:55:20 1491

转载 如何查看linux版本 如何查看LINUX是多少位

http://sopace.blog.51cto.com/1227753/670526如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案!  1. 查看内核版本命令:  1) [root@q1test01 ~]# cat /proc/version   Linux version 2.6.9-22.ELsmp (bhcompile@cro

2013-03-22 14:50:11 873

转载 linux下安装apache与php;Apache+PHP+MySQL配置攻略

1.apache   在如下页面下载apache的for Linux 的源码包     http://www.apache.org/dist/httpd/;   存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹。   命令列表:    cd /home/wj   tar -zxvf httpd-2.0.54.tar.gz   mv httpd-2.

2013-03-22 14:49:34 876

转载 使用strace工具故障排查的5种简单方法

strace 是一个非常简单的工具,用来跟踪可执行程序的系统调用(system call)。最简单的使用是,它追踪可行程序运行时的整个生命周期,输出每一个系统调用的名字,参数和返回值。 但是它还可以做更多的事情:它可以基于系统调用或者系统调用组来过滤它可以通过计算制定系统调用的次数,花费的时间以及成功和失败的次数来描述系统调用的使用它可以追踪发送给进程的信号(signal)

2013-03-22 14:20:41 1582

转载 你需要知道的 16 个 Linux 服务器监控命令

http://www.oschina.net/question/12_44528如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Gu

2013-03-22 11:42:46 672

转载 用strace排除Linux服务器故障

http://opkeep.com/system/linux/strace-linux.htmlstrace是一个有用的小工具 – 大多数Linux系统默认已经安装 – 可以通过跟踪系统调用来让你知道一个程序在后台所做的事情。Strace是一个基础的调试工具;但是即便你不是在跟踪一个问题的时候它也是一个极好的软件。它能告诉你很多关于一个Linux程序怎样工作的信息。一个系统调用就是

2013-03-22 11:36:23 1045

转载 linux lsof详解

http://blog.csdn.net/guoguo1980/article/details/2324454lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配

2013-03-22 11:30:18 656

转载 自助Linux之问题诊断工具strace

http://www.cnblogs.com/bangerlee/archive/2012/02/20/2356818.html引言“Oops,系统挂死了..."“Oops,程序崩溃了..."“Oops,命令执行报错..." 对于维护人员来说,这样的悲剧每天都在上演。理想情况下,系统或应用程序的错误日志提供了足够全面的信息,通过查看相关日志,维护

2013-03-22 11:11:08 741

转载 ip_local_deliver_finish()

ip_local_deliver() --> ip_local_deliver_finish()    The packet has now reached the end of the Internet Protocol processing. It is checked to see whether the packet is intended for a RAW-IP socke

2013-03-21 17:18:32 1587

原创 生活态度

2013-03-21 11:38:40 659

转载 ssh 上传下载文件

利用scp传输文件  1、从服务器上下载文件  scp username@servername:/path/filename  例如scp [email protected]:/home/kimi/test.txt  把192.168.0.101上的/home/kimi/test.txt  的文件下载到当前目录  2、上传本地文件到服务器  scp /path/

2013-03-21 09:34:56 833

转载 25个必须记住的SSH命令

http://www.cnblogs.com/weafer/archive/2011/06/10/2077852.htmlOpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多

2013-03-21 09:09:52 799

转载 ubuntu 关闭屏保 取消桌面

setterm -blank 0 关闭setterm -blank 1 设置屏保为1分钟setterm -cursor on|off 关闭、打开光标1,ctrl+alt+F2,进入命令行模式,输入你的用户名密码登录2,sudo /etc/init.d/lightdm stop (关闭窗口);sudo /etc/init.d/lightdm restart (重

2013-03-20 17:08:51 7943

转载 Ubuntu 12.04 root用户登录设置

Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo  -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。然后执行: vi /etc/lightdm/lightdm.conf.增加 gre

2013-03-20 16:14:05 933

转载 Linux防火墙iptables的三表五链的关系

熟练操作Linux的防火墙iptables,需要理解其三表五链及数据流的过滤流程,具体如下图:

2013-03-20 13:49:28 4064

转载 Linux netfilter/iptables内核模块介绍

http://www.linuxidc.com/Linux/2012-09/71468.htmnetfilter架构netfilter架构其实就是在一个packet流经系统时的多个关键点处设置了钩子,程序员可以为每一个钩子点注册一个监听器(即钩子函数,就是在packet流经这个钩子点时的一段处理代码),钩子函数将决定packet的下一个动作是什么?在钩子函数的代

2013-03-20 13:42:54 1837

转载 linux-Tcp IP协议栈源码阅读笔记

一.linux内核网络栈代码的准备知识1. linux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protocols.c etcINET socket层:BSD socket是个可以用

2013-03-19 14:49:06 975

转载 解析Linux下Netfilter & iptables:开发一个match模块

http://www.bairimeng.net/2012/11/27/netfilter_iptables_matc/一、说明最近的项目需要软件组基于Netfilter和iptables开发Linux内核模块,以完成一系列防火墙功能,说白了防火墙就是过滤规则。为了熟悉Netfilter和iptables的开发,于是开发过程中写下这篇笔记,以达到温故知新的作用。(盗图自

2013-03-19 13:36:56 4900

转载 解析Linux下Netfilter & iptables:开发一个Hook函数

http://www.bairimeng.net/2012/11/28/netfilter_iptables_hook_1/一、说明Netfilter通过挂载在Hook链上的函数,来对经过链的数据包进行逐一处理,这一篇笔记记录了开发一个最简单的Hook函数的过程,这是一个内核模块,直接加载在内核,只要载入即可生效。我的Linux内核版本为2.6.27.41。二、模块描述

2013-03-19 13:31:54 2254

转载 linux kernel hacking 资料

1) 如何编程接收ppp0上的裸IP包? http://www.linuxforum.net/forum/showflat.php?Cat=&Board=linuxK&Number=60593 如何捕获所有的ip包 http://www.linuxforum.net/forum/showflat.php?Cat=&Board=linuxK&Number=90308 Li

2013-03-19 13:29:45 1127

转载 linux下ip协议(V4)的实现(五)

这次主要介绍一些ip层管理以及统计相关的东西. 首先来看 long-living ip peer information. 我们知道ip协议是无状态的协议.这里内核为了提升性能.为每个目的ip地址(换句话说,也就是和本机进行通信过的主机)保存了一些信息. peer子系统一般是被tcp,或者routing子系统所使用. 这个信息的数据结构是inet_peer,它是一棵

2013-03-19 11:27:01 1082

转载 linux下ip协议(V4)的实现(四)

这次主要介绍的是ip层的切片与组包的实现。 首先来看一下分片好的帧的一些概念: 1 第一个帧的offset位非0并且MF位为1 2 所有的在第一个帧和最后一个帧之间的帧都拥有长度大于0的域 3 最后一个帧MF位为0 并且offset位非0。(这样就能判断是否是最后一个帧了). 这里要注意在linux中,ip头的frag_off域包含了 rfcip头的定义中的

2013-03-19 11:26:23 941

转载 linux下ip协议(V4)的实现(三)

这次我们来看数据包如何从4层传递到3层。 先看下面的图,这张图表示了4层和3层之间(也就是4层传输给3层)的传输所需要调用的主要的函数:  我们注意到3层最终会把帧用dst_output函数进行输出,而这个函数,我们上一次已经讲过了,他会调用skb->dst->output这个虚函数(他会对包进行3层的处理),而最终会调用一个XX_finish_output的函数,从而

2013-03-19 11:25:09 928

转载 linux下ip协议(V4)的实现(二)

上次我们提到当ip_rcv_finish完成后后调用相关的发送函数ip_forward或者ip_local_deliver.这次就主要介绍这两个函数。  先来看forward。  forward一般由下面几部组成:  1 执行ip option  2 确定这个包能被forward  3 减小ttl,当ttl为0时,丢掉这个包  4 如果需要,则将这个

2013-03-19 11:22:07 794

转载 linux下ip协议(V4)的实现(一)

linux下ip协议(V4)的实现(一)首先来看校验相关的一些结构:1 net_device结构:包含一个features的域,这个表示设备的一些特性(比如控制校验),下面的几个flag就是用来控制校验: 每个flags的介绍,注释里面都写得很清楚,这里就不一一解释了。这里要注意的是NETIF_F_HW_CSUM,他其实表示在硬件上为所有协议校验。2 s

2013-03-19 11:20:05 788

转载 Linux Network GSO

http://blog.sina.com.cn/s/blog_57dab0f60100oiw3.html简介:简要介绍了GSO的原理,没有涉及到任何代码,只是原理的介绍。Table of Contents1 TSO2 GSOtent">1 TSOTCP Segmentation Offload 是Linux网络

2013-03-19 10:45:54 2424

转载 Packet flow in Netfilter and General Networking

2013-03-18 15:41:22 3176

转载 字符常量包含多个字符的一点思考--有疑问

http://blog.csdn.net/chris_magic/article/details/5962022一。先写段程序来看下机器的大端小端  1 #include  2 /*函数checkCPU判断计算机是使用大端存储还是小端*/  3 int checkCPU()    4 {  5         union w{  6

2013-03-18 10:04:04 1837 1

转载 增加u-boot中的命令

http://blog.chinaunix.net/uid-28449808-id-3527550.htmlu-boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的u-boot命令。u-boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在include/command.h头文件中定义,每一个命令定义一个cmd

2013-03-18 09:31:04 1142

转载 htonl(),htons(),inet_addr(),inet_ntoa()函数

http://blog.chinaunix.net/uid-23668719-id-145387.htmlhtonl()  简述:  将主机的无符号长整形数转换成网络字节顺序。  #include   u_long PASCAL FAR htonl( u_long hostlong);  hostlong:主机字节顺序表达的32位数。  注释:  本函数将一个3

2013-03-14 14:12:28 1481

转载 C++箴言:理解inline化的介入和排除

inline 函数——多么棒的主意啊!它们看起来像函数,它们产生的效果也像函数,它们在各方面都比宏好得太多太多,而你却可以在调用它们时不招致函数调用的成本。你还有什么更多的要求呢?   实际上你得到的可能比你想的更多,因为避免函数调用的成本只是故事的一部分。在典型情况下,编译器的优化是为了一段连续的没有函数调用的代码设计的,所以当你 inline 化一个函数,你可能就使得编译器能够对函数体

2013-03-14 13:53:05 642

转载 字符串IP和数字转换的杂谈

[cpp] view plaincopylong ip_to_value(const string& strIP)//低字节在后,高字节在前  {      int a[4];      string IP = strIP;      string strTemp;      size_t pos;      size_t i=3;

2013-03-14 13:50:58 1314

转载 字符串IP和数字转换的杂谈

http://www.linuxso.com/linuxbiancheng/12500.htmlonst string& strIP)//低字节在后,高字节在前{ int a[4]; string IP = strIP; string strTemp; size_t pos; size_t i=3; do { po

2013-03-14 13:50:28 967

转载 linux透明防火墙(网桥模式)

http://songzheng.org/2009/04/linux%E9%80%8F%E6%98%8E%E9%98%B2%E7%81%AB%E5%A2%99%E7%BD%91%E6%A1%A5%E6%A8%A1%E5%BC%8F/一、网络结构 在现有网络中增加防火墙,主要作用为控制内部上网等等。要求可以灵活控制,包括时间段不同控制,流量限制等。 现有网络拓扑图:

2013-03-13 15:12:13 6674

转载 Linux+bridge做透明网桥

http://hi.baidu.com/sing520/item/56418e51ebb02da8adc85701首先重新编译kernel,make menuconfig..... 注 意,除了要把该编译进去的驱动编进去(象NIC什么的)还要把最重要的iptables给enable起来,进入Network Options,选中Network Packet filtering (repl

2013-03-13 14:36:53 4203

转载 linux网络报文接收发送浅析http://hi.baidu.com/_kouu/item/6cf8c62998da170a42634ad0

linux网络报文接收发送浅析http://hi.baidu.com/_kouu/item/6cf8c62998da170a42634ad0对于linux内核来说,网络报文由网络设备来进行接收。设备驱动程序从网络设备中读取报文,通过内核提供的网络接口函数,将报文传递到内核中的网络协议栈。报文经过协议栈的处理,或转发、或丢弃、或被传送给某个进程。网络报文的发送

2013-03-13 13:59:32 1973

转载 linux网桥浅析

http://hi.baidu.com/_kouu/item/25787d38efec56637c034bd0什么是桥接?简单来说,桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。交换机就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。于是,与交换机相连的若干主机就能够通

2013-03-13 13:50:53 1168

转载 curl posting

http://curl.haxx.se/libcurl/c/libcurl-tutorial.htmlHTTP POSTingWe get many questions regarding how to issue HTTP POSTs with libcurl the proper way. This chapter will thus include example

2013-03-13 13:41:33 1297

转载 How to switch from POST to GET in PHP CURL

7down votefavorite3I have tried switching from a previous Post request to a Get request. Which assumes its a Get but eventually does a post.I tried the following in PHP :curl

2013-03-12 15:49:36 1413

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

vim命令大全

vim命令大全.doc

2012-10-25

Burp Suite教程.pdf

Burp Suite教程.pdf

2012-10-25

Netfilter简介.ppt

Netfilter简介.ppt

2012-03-06

gun 编程规范

编程规范 英文

2012-03-05

空空如也

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

TA关注的人

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