QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 614|回复: 0

怎样替换linux原来的数据包类型?

[复制链接]
发表于 2004-2-12 11:17:45 | 显示全部楼层 |阅读模式
一般的,要想处理一种包类型,可以这样:

static struct packet_type filter_packet_type =
{
        __constant_htons( ETH_P_IP ), /* 此时可以接收到来自lo的回送报文,比如本机发送出去的 */
        NULL, /* All devices */
        filter_rcv, //此种类型的处理函数
        NULL, /* 如果是2.4内核,这里可以考虑设置成非零,但是filter_rcv需要改变 */
        NULL,
};

然后注册这个类型就可,以后就可以在filter_rcv处理这种包,但是问题来了,经验证linux原来的处理函数也起作用,例如,ping 该机器,它回发echo reply包,证明原来的v4栈起作用(我的程序不发echo reply) 现在想这种包只有我的函数去处理,把原来linux注册的抱类型去掉。问如何做?  请指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 23:13 , Processed in 0.070948 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表