NetFilterHook:显示接口名称
NetFilterHook: Displaly Interface Name
过滤器 and/or 如何在 内核 space 中显示数据包到达的接口名称?
更具体地说,我希望在内核中打印出接口的名称,例如 eth0、wlan1 等。
其次,我怎样才能只过滤来自特定接口的数据包,例如只过滤 eth0?
在钩子函数中,有参数const struct net_device *in
和const struct net_device *out
。
您可以通过以下方式打印:
printk(KERN_INFO "%s\n", out->name);
或:
printk(KERN_INFO "%s\n", in->name);
注意:您需要检查是否为空。
关于第二个问题,可以在strcmp(in->name, "eth0")
中的hook函数中使用,然后决定丢弃还是接受。
过滤器 and/or 如何在 内核 space 中显示数据包到达的接口名称?
更具体地说,我希望在内核中打印出接口的名称,例如 eth0、wlan1 等。
其次,我怎样才能只过滤来自特定接口的数据包,例如只过滤 eth0?
在钩子函数中,有参数const struct net_device *in
和const struct net_device *out
。
您可以通过以下方式打印:
printk(KERN_INFO "%s\n", out->name);
或:
printk(KERN_INFO "%s\n", in->name);
注意:您需要检查是否为空。
关于第二个问题,可以在strcmp(in->name, "eth0")
中的hook函数中使用,然后决定丢弃还是接受。