如何替换linux原来的包类型??
一般的,要想处理一种包类型,可以这样: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注册的抱类型去掉。问如何做? 请指教!
页:
[1]