自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(270)
  • 资源 (8)
  • 收藏
  • 关注

转载 Lighttpd中CGI执行流程

对于Lighttpd中CGI执行流程的多余文字不用过多说明,图片里已经基本说的很清楚了。从图中,我们可以看到对于客户端的每一个请求(动态页面,也就是需要CGI处理的),Lighttpd进程都是先fork一个CGI进程,然后将请求头(通过环境参数)和请求体(通过管道)传递给CGI程序,等待CGI处理并将从CGI进程那接收到的处理结果再响应给客户端,然后将CGI终止(通过发送SIGTERM信号)。CGI的处理有一些缺点,先不说其它的,单从图中可以看到的就有:首先,对于客户端的每一个请求都需要fork一个CGI进

2011-01-14 16:30:00 1235

转载 什么是vlan透传

<br />假设有数据s要通过一个网络,这个网络的入口为a,出口为b,数据s到达a处,由a负责对s进行封装,比如s是ip数据,a就用二层格式进行封装,在整个网络中,都是利用二层进行传输,到了出口b,在把封装解开,还原成s本来的ip结构。对于s来说,通过这个网络,没有改变它的任何结构和数据,因此对于 s,这个通过的网络是“透明”的,这就是透传。<br />****************************************<br /><br />对于传输网络来说,透传即是透明传送,也就是传送网络不

2011-01-05 10:55:00 3922 1

转载 交换机专业术语

交换机专业术语1. 交换机        交换机是用来实现交换式网络的设备,在ISO的OSI模型中,它是位于第二层——数据链路层的设备,能对帧进行操作,是一种智能型设备。 2. IEEE 802.3         以太网标准 3. IEEE 802.3u         快速以太网标准 4. IEEE 802.3ab         千兆以太网(非屏蔽双绞线)标准5. IEEE 802.3z         千兆以太网(光纤、铜缆)标准 6. IEEE 802.3x        流量控制标准 7. IE

2010-10-29 10:40:00 440

转载 PHY管理接口(MDIO)

<br />对吉比特以太网而言,串行通信总线称为管理数据输入输出 (MDIO)。该总线由IEEE通过以太网标准IEEE 802.3的若干条款加以定义。MDIO是一种简单的双线串行接口,将管理器件(如MAC控制器、微处理器)与具备管理功能的收发器(如多端口吉比特以太网收发器或 10GbE XAUI收发器)相连接,从而控制收发器并从收发器收集状态信息。可收集的信息包括链接状态、传输速度与选择、断电、低功率休眠状态、TX/RX模式选择、自动协商控制、环回模式控制等。除了拥有 IEEE 要求的功能之外,收发器厂商还

2010-09-15 18:38:00 2376

转载 VMware Workstation unrecoverable error: (vmx)

解决方法:删除或修改虚拟机目录下拓展名为.vmss文件,再次启动即可。

2010-08-13 15:13:00 1152

转载 ubuntu 安装 man手册页

<br />新安装了ubuntu8.04版本,发现安装过的系统中缺少很多手册页。<br /><br />用以下命令搞定了<br /><br />sudoapt-getinstallmanpages<br />sudoapt-getinstallmanpages-de<br />sudoapt-getinstallmanpages-de-dev<br />sudoapt-getinstallmanpages-dev

2010-07-26 13:06:00 327

转载 终端中Vim中文乱码的解决办法

<br />解决vi中文乱码问题<br />乱码, 中文, 解决<br />由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。<br /><br />$vi ~/.vimrc<br /><br />let &termencoding=&encoding<br />set fileencodings=utf-8,gbk<br /><br />$:wq<br /><br />再次打开vi,显示就正常

2010-07-25 21:13:00 398

转载 程序员修炼

“而立”,“不惑”和“知天命”--程序员的三个层次<br /> <br /> <br />编了12年的程序,国内国外四处奔波,从“三五个人,十来条枪”的小公司里的程序员一直做到500强企业的系统架构设计师、部门负责人,真是很多感慨。看到院子里大家热火朝天地讨论程序员的年龄和职业通道问题,终于也忍不住想和大家分享下我的一些体会,顺带为我的开发团队打打小广告。<br />我把我接触过的有经验的程序员分为三个层次,借用夫子的话来形容这三个层次就是:“而立”,“不惑”和“知天命”。<br />1.而立<br /> 

2010-07-11 20:04:00 374

转载 linux 驱动mmap操作

三、VMA和PAGE结构 和mmap函数 1.page  主要成员   atomic_t count; //这个页的引用数. 当这个 count 掉到 0, 这页被返回给空闲列表.void *virtual; //如果页被映射,则表示这页的内核虚拟地址; 否则, NULL.unsigned long flags; //描述页状态的一套位标志. 这些包括 PG_locked, 它

2010-03-08 11:02:00 1320

转载 链路层到网络层的数据传递

我们知道在tcp/ip模型中,基本每一层都可以处理多重协议类型,那么当一个输入帧到达后,内核的每一层是如何来取得相应的处理函数呢?也就是说当我要把包传递给上层的时候,如何取得相应协议的处理函数。 我们这里先来看从二层如何把把数据传递给三层。 Java代码 struct sk_buff {  ....................................  

2010-03-02 12:02:00 1125

转载 Linux网络截包不完全整理

继上一篇vlan学习笔记大致理清Linux内核的网络收发架构后,我们可以发现,在网络收发的路径上,基本上每一个连接点都可以做网络截包,如果说L1驱动截包和L3netfilter截包是在必经之路上设伏的话,那L2虚拟设备,L3自定义协议等,就是在大路旁开出一条小路来劫道了。    网络截包是一项很有意思的课题,可以有数据过滤,防火墙,流量控制,报文篡改等诸多应用,按照内核分层架构将一些截包方法不

2010-03-01 20:42:00 2006

转载 内核通知链 (转)

1.通知链表简介    大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。    通知链表是一个函数链表,链表上的每一个节点都注册了一个函数。当某个事情发生时,链表上所有节点对

2010-03-01 14:56:00 638

转载 进程地址空间和虚拟内存

进程地址空间,简单的讲就是,程序可以访问的地方,就象鱼,只能在水里一样,不能到岸上来,特须的情况不算。   cx!2{Nm4    虚拟内存指,从字面上理解是,他其实不是内存,但可以当成内存用,这种情况发生在,你的程序需要很多内存来存储数据,而你的机器没有这么多内存,这时候操作系统通过文件虚拟内存来帮你,这就是虚拟内存。进程地址空间理论上,在32位操作系统上为4G,实际上,你的内存可能没有那么

2010-02-22 15:07:00 578

原创 Linux内存管理

摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容

2010-02-21 16:40:00 579 1

转载 Linux环境进程间通信(五

 文档选项打印本页将此页作为电子邮件发送级别: 初级郑彦兴 (mlinux@163.com), 国防科大攻读博士学位2003 年 5 月 01 日共享内存可以说是最有用的进程间通信方式,也是最快的

2010-02-21 16:35:00 353

转载 Intel e1000零拷贝设计实现说明

明Intel e1000系列网卡零拷贝的设计实现。使用该实现,应用程序可以从网卡直接接收到报文,且不存在任何数据拷贝,极大得提高了抓包性能。作者: 老莱 lyxmate#gmail.com在实际应用中,网络管理程序常常需要接收网卡的原始报文进行分析。然而,传统的报文捕获机制往往无法保证大流量的网络流的要求,从而成为系统处理的瓶颈。在Linux系统上,报文从网卡到应用层经过了多次

2010-02-03 20:01:00 1386

转载 pf_ring

 http://linux.chinaunix.net/bbs/thread-1149919-1-1.htmlPF_RING实现分析版权所有,转载请注明出处独孤九贱内核版本:Linux 2.6.30.9PF_RING版本:4.1.0最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。一、什么是PF_RINGPF_RING是一个第三方的内核

2010-02-02 17:36:00 1723

转载 pf_ring

http://linux.chinaunix.net/bbs/thread-1149919-1-1.html 独孤九贱 PF_RING实现分析版权所有,转载请注明出处独孤九贱内核版本:Linux 2.6.30.9PF_RING版本:4.1.0最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。一、什么是PF_RINGPF_RI

2010-02-02 16:21:00 676

转载 pf_ring

感谢独孤九贱   http://linux.chinaunix.net/bbs/thread-1149919-1-1.html   PF_RING实现分析版权所有,转载请注明出处独孤九贱内核版本:Linux 2.6.30.9PF_RING版本:4.1.0最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。一、什么是PF

2010-02-02 16:10:00 1799

转载 Linux内核如何接收不同类型以太帧

1. 前言以太头中除了6字节目的MAC地址、6字节源MAC地址外,还有两字节的以太帧类型值,如IPv4为0x0800,ARP为0x0806等,网卡驱动收到以太帧后通过接口函数netif_receive_skb()(netif_rx实际最后也是调用netif_receive_skb)交到上层,而这个接口函数就完成对以太帧类型的区分,交到不同的协议处理程序。如果想自己编写某一以太类型帧的处理程序,

2010-02-01 14:30:00 460

原创 Nagle 算法

improving the efficiency of TCP/IP networks by reducing the number of packets that need to       be sent over the network.)Nagle算法    if there is new data to send         if the window size >= MSS and

2010-01-31 15:45:00 293

转载 linux sock_raw原始套接字编程

sock_raw原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket 1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送接收ip数据包2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|E

2010-01-29 08:50:00 519

转载 对 Linux的协议栈理解

Linux的网络协议栈       Linux的协议栈其实是源于BSD的协议栈,它向上以及向下的接口以及协议栈本身的软件分层组织的非常好。       Linux的协议栈基于分层的设计思想,总共分为四层,从下往上依次是 :物理层,链路层,网络层,应用层。       物理层主要提供各种连接的物理设备,如各种网卡,串口卡等;链路层主要指的是提供对物理层进行访问的各种接口卡的驱动程序,如网

2010-01-28 16:45:00 420

转载 TCP TIME_WAIT状态(2MSL)

一般来说,tcp正常关闭需要四个包。比如a和b关闭连接,a先 给b发一个fin,b会进行确认ack,然后b也会发出fin,当a接受到这个fin,并发出最后一个ack后,就会处于time_wait状态。这个时 间长短跟操作系统有关,一般会在1-4分钟,也就是两倍的数据包(2msl)最大生存时间。TCP主动关闭方采用TIME_WAIT主要是为了实现终止 TCP全双工连接的可靠性及允许老的重复分节在网络

2010-01-28 10:54:00 620

转载 TCP 协议中的流量控制

TCP 协议中的流量控制 (转)关键词: TCP    协议    流量控制    滑动窗口    Nagle                                            TCP 协议中的流量控制 (转)   TCP协议上的网络协议特别多  1)交互数据类型,例如telet,ssh,这种类型的协议在大多数情况下只是做小流量的数据

2010-01-28 09:40:00 1198

转载 什么是MTU

MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包,单位是字节。如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。不同的接入方式,MTU值是不一样的,下面是常用的几种接入方式默认的MTU值:网络接入方式 MTUEtherNet (以太

2010-01-27 10:37:00 1650

原创 学习方法

更多首先要去思考怎么去实现呢,找我自己的解决方案,然后看它的解决方案,对比,吸取好的思维方式

2010-01-27 10:23:00 298

转载 网络设备基础知识

理论物理层:功能,在物理连接上传输二进制比特流,定义机械、电气、功能及规格的特性机械特性:接口插件形状、尺寸…电气特性:二进制bit流信号电平高低、阻抗等功能特性:多条信号线的功能定义,一般分成数据线、控制线、、地线;规程特性:各信号线的工作规则和时序  数据链路层:功能链路管理、帧传输、流量控制、差错控制;帧:封装了一定数据,具严格逻辑性,并且高度优化了的包;

2010-01-26 20:58:00 371

转载 TCP机制与实现

version 1.02008-11-3一、  TCP的任务:在不可靠的IP之上,实现可靠的端到端的字节流服务; 二、  要解决的问题:l         数据分段,将合适大小的数据段交给IP传送;l         确认与重发;l         校验和以保证数据传输的正确性;l         失序数据的排序,丢弃重复数据;l         流量控制;l 

2010-01-26 20:54:00 656

转载 重装系统显示error:dynamic drive overlay not loaded

 不管是用正版XP还是用GHOST xp重新启动你就会发现电脑上不只是显示的上面那个蓝色背景框里面的内容了下面还多了一些Errorynamic drive overlay not loaded。Insert boot diskette in drive A;press spacebar when ready……从网上搜了一些遇到同样问题的同伴有人的解决办法如下:{意思是:错误:动态驱动器覆盖未

2010-01-26 09:46:00 6453

转载 从能力到素质

——谈谈个人能力的系统性 作者:周爱民什么是能力,而什么又是素质呢?前者可以变成行动方案,是可以有技术方法,进而有技巧的;后者则是涵养,先天因素或许有一部分,但更多的则要靠累积。素质提升与能力提升有一定的关系,但并不是强耦合的,例如我们不能指望一个没有代码经验的人能在调试时准确地设下断点,同样也不能指望写了几十年的程序的人就不犯低级的错误。但是,总体来说,当一个人在某方面的素质得以提升

2010-01-25 16:36:00 331

原创 学习方法

 设计的时候考虑的东西 1.主要框架是什么,框架图 2.实现什么功能 3. 模块组成 4.文件和数据 5. 接口 去理解代码的时候 最好掌握的总体框架,然后其基本的数据结构的实现    

2010-01-23 16:57:00 376

转载 IP分片重组的分析

http://hi.baidu.com/liulife/blog/item/4f0564ef9cbfd413fcfa3c09.html  1. 概述在linux源代码中,ip分片重组的全部程序几乎都在都在/net/ipv4/ip_fragment.c文件中。其对外提供一个函数接口ip_defrag()。其函数原型如下:struct sk_buff *ip_defrag(struct s

2010-01-22 16:20:00 2391

转载 ARP欺骗

1、什么是ARP协议要想了解ARP欺骗攻击的原理,首先就要了解什么是ARP协议。ARP是地址转换协议(Address Resolution Protocol)的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时对上层(网络层)提供服务。我们知道二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址

2010-01-22 16:15:00 377

转载 tcp push

由于发送该数据会清空发送缓冲,所以要加上PUSH标志。(告诉接收者:所有数据已发送,马上送到应用层去。)这里所说的数据包括与此PUSH包一起传输的数据以及之前就为该进程传输过来的数据设置PUSH标志:如果待发送的数据会清空发送缓存,那么栈就会自动为此包设置PUSH标志正在看《tcp/ip详解》8个wrtie,每个写1024的数据,每个都会加上push标志,原因是这么说的each w

2010-01-22 10:52:00 522

转载 基于libnids的TCP数据流的还原(多线程实现)

我们知道,libnids本身可以实现TCP数据流的重组,但是如果一个TCP流数据量比较大的时候,就会分成好多个TCP报文段,这些报文段在网络中的传播可能是乱序的,利用libnids可以帮助我们按顺序接收到这些报文段,即实现TCP报文段的重组。    但是我们如何把这些顺序的报文段重新还原成一个完整的数据文件,也是要考虑的一个问题,因为在很多时候,单个的报文段对我们的意义不大,我们需要一个完整的

2010-01-22 10:49:00 1523 1

转载 IP包碎片重组过程

 (1) 当内核接收到本地的IP包, 在传递给上层协议处理之前, 先进行碎片重组.IP包片段之间的标识号(id)是相同的. 当IP包片偏量(frag_off)第14位(IP_MF)为1时, 表示该IP包有后继片段. 片偏量的低13位则为该片段在完整数据包中的偏移量, 以8字节为单位. 当IP_MF位为0时, 表示IP包是最后一块碎片.(2) 碎片重组由重组队列完成, 每一重组队列对应于(dad

2010-01-21 21:39:00 507

转载 IP碎片重组过程分析

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 前言 对IP碎片的重组是防火墙提高安全性的一个重要手段,通过提前进行碎片重组,可以有效防御各种碎片攻击,Linux内核的防火墙netfilter就自动对I

2010-01-21 21:23:00 652

转载 Linux下IP――分片与重组

http://blog.csdn.net/Suprman/archive/2006/08/30/1144759.aspx 原理介绍 为一个数据包片再次分片    为数据包分片和为数据包片再次分片之间的细微差别就在于网关处理MF比特的不同。但一个网关为原来为分片的数据包分片时,除了末尾的数据包片,它将其余所有分片上的MF比特都置为一,最后一片为0。然而,当网关为一

2010-01-21 21:01:00 817

原创 libnids tcp 重组代码注释

voidprocess_tcp(u_char * data, int skblen){ struct ip *this_iphdr = (struct ip *)data; /*tcphdr 的头*/ struct tcphdr *this_tcphdr = (struct tcphdr *)(data + 4 * this_iphdr->ip_hl); int

2010-01-21 20:00:00 4974 2

双网卡模拟 route 实验

双网卡模拟 route 实验,用linux 系统,双网卡模拟路由器转发数据包

2013-01-21

23种设计模式(C++)

设计模式精解-GoF 23 种设计模式解析附 C++实现源码 设计模式精解-GoF 23 种设计模式解析附 C++实现源码

2010-10-26

IxChariot中文教程

IxChariot中文教程 Chariot 是一个独特的测试工具,也是目前在应用层性能测试领域得到业界广泛认可的 测试系统。Chariot 能够评估网络应用的性能和容量,对网络和设备进行压力测试,得到设 备及网络在不同应用、不同参数下的吞吐量、时延、丢包、反应时间等性能参数。

2010-10-26

升级ssh 安装步骤

如何升级ssh的,提高系统的安全性 升级 OpenSSH

2009-11-28

网卡驱动程序分析,特别对于收包

对网卡驱动的分析,特别是收包的分析,希望批评接受

2009-08-23

PF_RING 翻译文档

对pf_ring 的翻译,希望对加深认识有些帮助

2009-08-19

putty.exe 登录linux 好的工具

linux 常用工具,登录linux 好的工具

2008-12-18

linux top 源代码

linux top 的源码,可以自己改写,获取cpu 内存,进程的及时信息

2008-12-11

空空如也

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

TA关注的人

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