ChinaUnix.net
相关文章推荐:

tcpdump hook 点

本帖最后由 li_freedom 于 2014-06-25 09:08 编辑 各位大神: 小弟遇到一个很奇怪的问题。希望大神能给提意见; 是这样的: 自己编写了一个客户端/服务器程序分别放在PC端(客户端)和开发板(服务器)上通讯, 注册netfilter的hook函数(在开发板上,在pre_routing上)把经过客户端服务器通讯的数据包打印出来,并且在开发板上使用tcpdump抓取数据包比较是否和hook函数打印出来的一致。 发现一切都是正常的。打印...

by li_freedom - 内核源码 - 2014-06-25 09:02:53 阅读(1308) 回复(3)

相关讨论

netfilter的架构就是,在网络协议栈上放置一些检测(hook),而在检测放置一些处理函数,当数据经过这些检测时触发这些处理函数。 ipv4在IP层的hook有5个:[code]ipv4在IP层的hook有5个: enum nf_inet_hooks { NF_INET_PRE_ROUTING, NF_INET_LOCAL_IN, NF_INET_FORWARD, NF_INET_LOCAL_OUT, NF_INET_POST_ROUTING, NF_INET_NUMhookS };[/code]他们的先后顺序如下图所示: 1、对...

by Morphad - 内核源码 - 2013-04-25 16:34:44 阅读(1679) 回复(3)

Netfilter中定义了五个关于IPv4的hook hook 调用的时机 NF_IP_PRE_ROUTING 在完整性校验之后,选路确定之前 NF_IP_LOCAL_IN 在选路确定之后,且数据包的目的是本地主机 NF_IP_FORWARD 目的地是其它主机地数据包 NF_IP_LOCAL_OUT 来自本机进程的数据包在其离开本地主机的过程中 NF_IP_POST_ROUTING 在数据包离开本地主机“上线”之前 Netfilter返回值 返回值 含义 NF_...

by kinwin - 网络技术文档中心 - 2009-04-02 20:56:16 阅读(1269) 回复(1)

不明白Netfilter 对APR 时hook时挂接的设置? netfilter一共有5个挂接,但是对AF_INET family ,对ARP的没发现有说明? 钩子名称 调用时机 NF_IP_PRE_ROUTING 完整性校验之后,路由决策之前 NF_IP_LOCAL_IN 目的地为本机,路由决策之后 NF_IP_FORWARD 数据包要到达另外一个接口去 NF_IP_LOCAL_OUT 本地...

by chary8088 - 内核源码 - 2013-10-25 10:41:38 阅读(2559) 回复(8)

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。 msn: [email=yfydz_no1@hotmail.com]yfydz_no1@hotmail.com[/email] 来源: http://yfydz.cublog.cn 1. 5个挂接 以下内核代码版本2.6.17.11。 1.1 PREROTING /* net/ipv4/ip_input.c */ int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, struct net_device *orig_dev) { ....

by where23 - 网络技术文档中心 - 2009-04-04 11:24:17 阅读(1281) 回复(0)

小弟在做一个项目,为了针对特殊的数据包进行转发, 我在NF_IP_PRE_ROUTING这个hook上注册了两个函数, 第一个函数getskb,它的优先级是NF_IP_PRI_FIRST,getskb这个函数的作用是获取特殊的skb数据包,例如代理数据包。 第二个函数是forward,它的优先级是NF_IP_PRI_NAT_DST-1,forward这个函数是针对这个特殊的数据包进行转发处理。 现在的问题是,内核和这个模块都通过编译,但我无法在forward函数里定位getskb那个skb, 例如我...

by andyxu163 - 内核源码 - 2010-05-30 22:08:17 阅读(3628) 回复(11)

之前的版本是这样: #ifndef __KERNEL__ /* IP Cache bits. */ /* Src IP address. */ #define NFC_IP_SRC 0x0001 /* Dest IP address. */ #define NFC_IP_DST 0x0002 /* Input device. */ #define NFC_IP_IF_IN 0x0004 /* Output device. */ #define NFC_IP_IF_OUT 0x0008 /* TOS. */ #define NFC_IP_TOS 0x0010 /* Protocol. */ #define NFC_IP_PROTO 0x0020 /* IP options. */ #define NFC_IP_OPTIONS 0x0040 /* Frag & ...

by cablink - 内核源码 - 2013-04-11 15:15:21 阅读(2162) 回复(4)

自己写了hook函数,在prerouting和localin上都能捕到,但到forward上就没有。我是把包的信息用printk打印到messages里面,hook函数移到forward上后就messages就没有打印信息了。 疑惑是不是和我组局域网的方式有关。 我是用双网卡的linux做服务器,eth0接公网,eth1接内网。linux用squid做代理服务器。内网的客户机设置代理上网。

by tomorrow0530 - 网络与硬件 - 2006-05-25 12:41:17 阅读(641) 回复(0)

自己写了hook函数,在prerouting和localin上都能捕到,但到forward上就没有。我是把包的信息用printk打印到messages里面,hook函数移到forward上后就messages就没有打印信息了。 疑惑是不是和我组局域网的方式有关。 我是用双网卡的linux做服务器,eth0接公网,eth1接内网。linux用squid做代理服务器。内网的客户机设置代理上网。

by tomorrow0530 - Linux系统管理 - 2006-05-25 12:41:17 阅读(1176) 回复(0)

  最近在研究sip ALG。   这个是用nf_conntrack_helper_register来注册一个helper,然后在初始化的时候,会给这个helper指定源、目的端口号、处理函数之类的。   然后这个helper会放到一个哈希表里去。   我开始以为它会是用 nf_register_hooks 这种方法,把自己注册到NF上去,在使用nf_register_hooks方法的时候,会明确的指定挂在哪个钩子上。   这样就可以很清楚的理解它是在系统的什么位置捉到这个数据包。   ...

by jiahehao01 - 内核源码 - 2014-03-31 10:08:08 阅读(1509) 回复(3)

本帖最后由 g522342435 于 2013-10-22 12:42 编辑 在桥接模式下,构造了一个数据包 调用dev_queue_xmit(skb)函数发送,在发送端tcpdump能抓到数据包,但在对端抓不到包。这个怎么个情况呢? 代码如下 struct sk_buff * skb = NULL; struct net_device * dev = NULL; struct ethhdr * ethdr = NULL; struct iphdr * iph = NULL; struct tcphdr * tcph = NULL; u_char * pdata = NULL; int nret = 1;...

by g522342435 - 内核源码 - 2013-10-22 12:41:24 阅读(1552) 回复(0)