洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】(下)

从用户空间来操作内核中Netfilter框架里自定义的HOOK函数          本文承上一篇博客。主要是和大家探讨一下如何从用户空间操作我已经注册到Netfilter中的自定义hook函数。有些童鞋可能就纳闷,难道iptables不能操作到么?如果我们需要让iptables操作我们在Net...

2015-04-21 11:55:39

阅读数 491

评论数 0

洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】(上)

向Netfilter中注册自己的hook函数         数据包在协议栈中传递时会经过不同的HOOK点,而每个HOOK点上又被Netfilter预先注册了一系列hook回调函数,当每个清纯的数据包到达这些点后会被这些可恶hook函数轮番调戏一番。有时候我们就在想,只让系统自带的这些恶棍来快活...

2015-04-21 11:54:41

阅读数 942

评论数 0

洞悉linux下的Netfilter&iptables:为防火墙增添功能模块【实战】

为netfilter/iptables增添新功能模块:ipp2p     一个防火墙功能模块包含两部分:内核空间的ko模块和用户空间的so模块。如下:     而且文件的命令都非常有讲究。例如我们有个模块名叫AAA,那么内核中该模块的文件名一般为ipt_AAA.c和ipt_AAA.h;对应...

2015-04-21 11:54:05

阅读数 515

评论数 0

洞悉linux下的Netfilter&iptables:开发一个match模块【实战】

自己开发一个match模块        今天我们来写一个很简单的match来和大家分享如何为iptables开发扩展功能模块。这个模块是根据IP报文中有效载荷字段的长度来对其进行匹配,支持固定包大小,也支持一个区间范围的的数据包,在用户空间的用法是:          iptables-...

2015-04-21 11:53:59

阅读数 272

评论数 0

洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【下】

iptables用户空间和内核空间的交互 iptables目前已经支持IPv4和IPv6两个版本了,因此它在实现上也需要同时兼容这两个版本。iptables-1.4.0在这方面做了很好的设计,主要是由libiptc库来实现。libiptc是iptables control library的简称,...

2015-04-21 11:53:11

阅读数 592

评论数 0

洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【上】

预备知识: part1: 初见getopt_long()    在分析iptables源码时,作为命令解析的核心函数getopt_long()不得不提。随便百度或google搜索关于该函数的介绍有很多例子和解释,这里我只举一例,目的是让大家了解传递给iptables命令的每个参数是如何被正确...

2015-04-21 11:50:46

阅读数 373

评论数 0

coredump来调试崩溃进程

在平常开发中,经常碰到进程异常崩溃退出的情况,这时候最便捷的方法就是生成core文件,然后通过gdb在查看程序崩溃时的调用栈,一般很快就能定位出问题。 linux系统中程序异常崩溃时默认是不会自动生成core文件的,这时候我们一般需要使用以下命令将core文件生成开关打开,然后再在终端手动拉起进程...

2015-04-21 11:40:01

阅读数 1473

评论数 0

【百度分享】频繁分配释放内存导致的性能问题的分析 .

现象 1 压力测试过程中,发现被测对象性能不够理想,具体表现为:  进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70  2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。 ...

2015-04-21 11:36:38

阅读数 338

评论数 0

Linux启动过程综述

Bootloader 在Alpha/AXP平台上引导Linux通常有两种方法,一种是由MILO及其他类似的引导程序引导,另一种是由Firmware直接引导。MILO功能与i386平台的LILO相近,但内置有基本的磁盘驱动程序(如IDE、SCSI等),以及常见的文件系统驱动程序(如ext2,iso...

2015-04-21 11:32:48

阅读数 155

评论数 0

State of Peer-to-Peer Communication across NAT(rfc5128中文)

翻译了一下RFC5128,并为我拙劣的英语水准和汉语言表达技巧感到汗颜,如果有人不幸搜到这篇文章,英语不是太差的话就不要看了。 英文原版地址:http://tools.ietf.org/html/rfc5128 1.Introduction and Scope 当前的Internet已经...

2015-04-20 20:33:05

阅读数 612

评论数 0

DNS解析协议的C语言简单实现

仔细看了看DNS协议的相关东西,其实实际编程的时候根本用不到DNS细节的东西,要获取域名的时候经终端下用host或者nslookup指令就可以,在c里面使用gethostbyname或者getaddrinfo都能很轻松得将dns域名解析为ip地址,写这个纯粹出于个人兴趣,或者说是闲得吧。 在进行域...

2015-04-20 20:33:03

阅读数 3297

评论数 0

linux网络编程手记

做linux下的网络编程有一段时间了,中间遇到过很多问题,其中不少是因为自己对网络编程和网络协议的一些基本概念搞不清楚,趁着今天没心情干活就把自己在网络编程方面的理解和一些经验总结一下,Request For Comments。 在诸多的网络协议中接触的最多也最紧密的无疑是TCP和UDP,SCT...

2015-04-20 20:29:46

阅读数 220

评论数 0

mips汇编指令学习

mips的32个寄存器 MIPS comes with 32 general purpose registers named $0. . . $31 Registers also have symbolic names reflecting their conventional8 use: ...

2015-04-20 20:27:38

阅读数 292

评论数 0

execl 内存泄露跟踪

遇到了嵌入式linux下面系统级内存泄露问题。跟踪问题日志。 平台:ARM9 内核:2.6.22 问题:execl造成系统内存减少,通过cat /proc/memoinfo 发现少的内存并且都移往slab中去了 测试代码: #include #include #include #inclu...

2015-04-20 20:24:23

阅读数 320

评论数 0

netfilter 概要

扼要地介绍Linux内核中netfilter,iptable,连接跟踪,NAT功能。这个分析基于内核版本2.6.28。        请不要奢望通读本文档就能融会贯通这四个功能实现,因为连作者也没有达到那个程度~ 这只是我给自己复习代码时做些路标之用。网上列出netfilter代码的文档已经很多...

2015-04-20 20:23:51

阅读数 579

评论数 0

UPnP 事件触发 Eventing

Eventing is Step 4 in UPnP™ networking. Eventing comes afteraddressing (Step 0) where devices get a network address, afterdiscovery (Step 1) where co...

2015-04-20 20:20:51

阅读数 405

评论数 0

网口扫盲三:以太网芯片MAC和PHY的关系

问:如何实现单片以太网微控制器? 答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下. ...

2015-04-20 20:14:08

阅读数 553

评论数 0

网口扫盲二:Mac与Phy组成原理的简单分析

1. general 下图是网口结构简图.网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. 对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型: CPU集成MAC与PH...

2015-04-20 20:13:26

阅读数 352

评论数 0

网口扫盲一:网卡初步认识

网络适配器又称网卡或网络接口卡(NIC),英文名Network Interface Card.它是使计算机联网的设备.平常所说的网卡就是将PC机和LAN连接的网络适配器.网卡(NIC) 插在计算机主板插槽中,负责将用户要传递的数据转换为网络上其它设备能够识别的格式,通过网络介质传输.数据在计算机总...

2015-04-20 20:11:55

阅读数 239

评论数 0

对话框

package computer;public class Show {   public String errBox(String str1,String str2){    String str=     "";    str=str+"";    st...

2007-04-11 20:33:00

阅读数 543

评论数 0

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