自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 pcap.h

/* * Copyright (c) 1993, 1994, 1995, 1996, 1997 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modif

2014-10-30 11:38:18 2844 2

转载 typedef void (*funcptr)(void) 什么意思

定义一个函数指针类型。比如你有三个函数:void hello(void) { printf("你好!"); }void bye(void) { printf("再见!"); }void ok(void) { printf("好的!"); }typdef void (*funcptr)(void);这样就构造了一个通用的函数你用的时候可以这样:void speak(int id)

2014-10-27 12:30:57 649

转载 struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系

在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_family_t;struct sockaddr {        sa_family_t     sa_family;    /* address family, AF_xxx       */

2014-10-27 09:52:52 586

原创 流量分析篇(粗糙)

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2014-10-24 20:47:08 529

原创 UDP回射

#include #include #include #include #include #include #include #define SERV_PORT 33901#define BUFFSIZE 1024void dg_echo(int sockfd,struct sockaddr*pcliaddr,socklen_t clilen);int main(int

2014-10-21 13:47:36 488

转载 Linux内核分析 - 网络[二]:网卡驱动接收报文

分类: 内核协议栈 2011-03-30 11:34 5902人阅读 评论(2)收藏 举报 linux内核网络structdescriptorheader纠结了好多天,终于弄懂了B440X的处理。上篇讲到通过中断,最终网卡调用了b44_rx()来接收报文 对这个函数中的一些参数,可以这样理解:bp->rx_cons –处理器处理到的缓冲区号bp->r

2014-10-19 17:04:34 79

转载 Linux内核分析 - 网络[一]:收发数据包的调用

什么是NAPINAPI是linux一套最新的处理网口数据的API,linux 2.5引入的,所以很多驱动并不支持这种操作方式。简单来说,NAPI是综合中断方式与轮询方式的技术。数据量很低与很高时,NAPI可以发挥中断方式与轮询方式的优点,性能较好。如果数据量不稳定,且说高不高说低不低,则NAPI会在两种方式切换上消耗不少时间,效率反而较低一些。 下面会用到netdev_priv()这个

2014-10-19 17:03:37 599

转载 Linux内核分析 - 网络[四]:路由表

路由表    在内核中存在路由表fib_table_hash和路由缓存表rt_hash_table。路由缓存表主要是为了加速路由的查找,每次路由查询都会先查找路由缓存,再查找路由表。这和cache是一个道理,缓存存储最近使用过的路由项,容量小,查找快速;路由表存储所有路由项,容量大,查找慢。首先,应该先了解路由表的意义,下面是route命令查看到的路由表:Desti

2014-10-19 17:02:45 619

转载 Linux内核分析 - 网络[三]:从netif_receive_skb()说起

分类: 内核协议栈 2011-04-21 20:26 6656人阅读 评论(0)收藏 举报 linux内核网络inputstructlist在netif_receive_skb()函数中,可以看出处理的是像ARP、IP这些链路层以上的协议,那么,链路层报头是在哪里去掉的呢?答案是网卡驱动中,在调用netif_receive_skb()前,skb->protocol

2014-10-19 17:01:30 551

转载 Linux内核实践 - 如何添加网络协议[三]:实现

Linux内核实践 - 如何添加网络协议[三]:实现分类: 内核协议栈 2011-08-04 09:40 4329人阅读 评论(6)收藏 举报网络协议linux内核structnetworkingup内核版本:2.6.34接上篇《添加网络协议》。        为了用户方便查看brcm设备的工作状态,使用proc文件系统是很好的方式。一个网络协议

2014-10-19 16:21:11 948

转载 Linux内核实践 - 如何添加网络协议[二]:实现

博客专家福利   专访徐宜生:坚决不做代码搬运工    有奖试读&征文:我们在互联网上奋斗的故事    微信开发者大会深圳站即将开幕Linux内核实践 - 如何添加网络协议[二]:实现分类: 内核协议栈 2011-07-30 10:24 4290人阅读 评论(3)收藏 举报网络协议linux内核struct数据结构存储内核版本:2.6.34

2014-10-19 16:20:40 735 1

转载 Linux内核实践 - 如何添加网络协议[一]:目的

Linux内核实践 - 如何添加网络协议[一]:目的分类: 内核协议栈 2011-07-23 10:44 4055人阅读 评论(4)收藏 举报网络协议linux内核数据结构makefilestruct       本文只是一个内核网络协议的实践的例子,先说明添加的目的,下篇开始具体的实现。        内核版本:2.6.34;在支持802.1主

2014-10-19 16:19:52 719

转载 常见网络攻击

1.1 TCP SYN拒绝服务攻击  一般情况下,一个TCP连接的建立需要经过三次握手的过程,即:  1、 建立发起者向目标计算机发送一个TCP SYN报文;  2、目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应;  3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TC

2014-10-17 14:48:06 523

转载 初探Linux网络协议栈

一点声明   原文链接: http://www.ecsl.cs.sunysb.edu/elibrary/linux/network/LinuxKernel.pdf  译者注: 原文写于2003年,文中描述的不少内容已经发生了改变,在不影响愿意的情况下,我擅自增删了一些内容.  翻译过程中找到的好资料:How SKBs Work Evaluation of TCP retra

2014-10-16 10:53:24 839

原创 snull简单版本 -- 使用普通中断,无缓冲池

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SNULL_RX_INTR 0x0001#define SN

2014-10-14 17:23:40 675

转载 LDD3中网络驱动源码注释

LDD3中网络驱动源码注释[复制链接]00独孤九贱富足长乐帖子2415主题441精华36可用积分6081 专家积分0 在线时间760 小时注册时间2003-08-12最后登录2014-09-11问答好友博客消息论坛徽章:0电梯直达1楼[收藏(0)][报告][回复][引用]发表

2014-10-12 13:45:01 628

转载 网络处理的软中断机制分析

网络处理的软中断机制分析if !supportLists]-->内核默认软中断机制分析(process_backlog)    首先需要介绍的就是netif_rx(在net/core/dev.c中定义)函数,这个函数在网卡驱动程序与linux内核之间建立了一道桥梁,将网卡接收上来的数据包(sk_buff形式)插入内核维护的接收缓冲区队列当中:int netif_rx(struct sk

2014-10-12 10:40:36 489

转载 LDD3中snull的解析

ldd3学习笔记---网络驱动程序[复制链接]00gaozhenbo1985白手起家帖子50主题49精华0可用积分1 专家积分0 在线时间24 小时注册时间2008-10-31最后登录2014-04-03问答好友博客消息论坛徽章:0电梯直达1楼[收藏(0)][报告][回复][引用]发

2014-10-12 10:27:14 814

转载 驱动层网络数据的收发

Linux内核栈的数据接收[复制链接]00独孤九贱富足长乐帖子2415主题441精华36可用积分6081 专家积分0 在线时间760 小时注册时间2003-08-12最后登录2014-09-11问答好友博客消息论坛徽章:0电梯直达1楼[收藏(0)][报告][回复][引用]发表

2014-10-12 10:26:23 1090

原创 关于fork()

#include ;#include ;main (){        pid_t pid;        pid=fork();        if (pid                 printf("error in fork!");        else if (pid == 0)                printf("i am t

2014-10-10 11:33:39 476

原创 skb结构变化后的操作

//在2.26.20之后,sk_buff结构发生了很大的变化。。。。struct sk_buff{ ........... ................ unsigned char * head; unsigned char * data; sk_buff_data_t tail; sk_buff_data_t end; //这里,tai

2014-10-09 11:14:56 1360

转载 Chapter 7. 网络子系统

Chapter 7. 网络子系统 Linux强大的网络功能是如何实现的,让我们一起进入Linux内核的网络系统了解一下吧。7.1. sk_buff结构在Linux内核的网络实现中,使用了一个缓存结构(struct sk_buff)来管理网络报文,这个缓存区也叫套接字缓存。sk_buff是内核网络子系统中最重要的一种数据结构,它贯穿网络报文收发的整个周期。该结构在内核源码的i

2014-10-08 14:00:27 479

空空如也

空空如也

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

TA关注的人

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