Можно ли использовать netfilter для перехвата всех пакетов Ethernet?
Я могу просто получить пакет из ipv4 или ipv6.
РЕДАКТИРОВАТЬ:
Приведенный выше код является моим ядроммодуль.Я хочу, чтобы все пакеты, поступающие на один интерфейс Ethernet, перенаправлялись на другой интерфейс. Этот модуль просто печатал имя устройства, куда поступил пакет (только для тестирования).С помощью этого хука я просто получаю пакеты с типом ipv4, но я хочу получить все типы.
Я искал в сети, но не нашел, как настроить мой хук, чтобы получить все пакеты, которые обходят Ethernetинтерфейс.
С наилучшими пожеланиями
статическая структура nf_hook_ops nfho;
int hook_func (struct sk_buff * skb)
{struct ethhdr * eth;
printk ("Устройство:% s \ n, skb-> dev-> name);
}
int init_module () {
printk (" HookМодуль в сети! \ N ");
nfho.hook = (nf_hookfn *) hook_func;
nfho.hooknum = NF_IP_PRE_ROUTING;
nfho.pf = PF_INET; nfho.priority = NFIRIP = PRF;
nf_register_hook (& nfho);
return 0;}
/ * Процедура очистки * / void cleanup_module () {
printk ("За иOut! \ N "); nf_unregister_hook (& nfho);}