易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux netfilter源码分析(4)


四、nf_hook_ops 钩子的注册
在filter表的初始化函数static int __init init(void)中除了有一个nf_register_hook函数注册一个tables外,还由nf_register_hook函数注册了3个hook
 
4.1        nf_hook_ops数据结构 netfilter.h
struct nf_hook_ops
{
        struct list_head list;                        //链表成员
        /* User fills in from here down. */
        nf_hookfn *hook;                        //钩子函数指针
        struct module *owner;
        int pf;                                        //协议簇,对于ipv4而言,是PF_INET
        int hooknum;                                //hook类型
        /* Hooks are ordered in ascending priority. */
        int priority;                                //优先级
};
 
list成员用于维护Netfilter hook的列表。
hook成员是一个指向nf_hookfn类型的函数的指针,该函数是这个hook被调用时执行的函数。nf_hookfn同样在linux/netfilter.h中定义。
pf这个成员用于指定协议族。有效的协议族在linux/socket.h中列出,但对于IPv4我们使用协议族PF_INET。
hooknum这个成员用于指定安装的这个函数对应的具体的hook类型:
        NF_IP_PRE_ROUTING    在完整性校验之后,选路确定之前
        NF_IP_LOCAL_IN        在选路确定之后,且数据包的目的是本地主机
        NF_IP_FORWARD        目的地是其它主机地数据包
        NF_IP_LOCAL_OUT  &n


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

Linux环境进程间通信(二)(上)


Linux环境进程间通信(二):
信号(上)
文档选项
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/>&a ......

在Suse Linux Enterprise 10 下安装IBM MQ

     由于工作有需要和第三方MQ通信,因为以前没有整过MQ,所以对于我来说很陌生。在网上也查看了一些经验,再加上个人的实践,小总结如下:
     MQ的安装包是ISO,所以需要将ISO文件mount到Linux的一个目录下面,具体操作如下:
     假如你选定的mount目 ......

linux下常用的命令

1.磁盘命令
       mount        挂上文件系统
       umount       卸下已挂上的文件系统
       df          ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号