Articles of netfilter

Nf_hook_ops renvoie un pointeur incompatible lors de l’atsortingbution de hook_func -C -Linux -Netfilter

J’essaie d’écrire mon propre module de kernel Netfilter sur Ubuntu 16.04 LTS, j’essaie d’atsortingbuer hook_func à nfho.hook, mais l’erreur suivante apparaît: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] nfho.hook = hook_func; J’ai examiné d’autres solutions, notamment des parameters de double vérification, notamment la modification de *skb en **skb . J’ai lu que les parameters pouvaient […]

nf_conntrack_helper_register renvoie une erreur

Dans le kernel si je veux redémarrer mon conntrack enregistre avec: nf_conntrack_helper_unregister(&sip[i][j]); ….// redefinition of the sip[i][j] parameters nf_conntrack_helper_register(&sip[i][j]); le nf_conntrack_helper_register(&sip[i][j]) échouera Qu’est-ce qui me manque? Voici le code source détaillé: static void __nf_conntrack_sip_fini(void) { int i, j; for (i = 0; i < ports_c; i++) { for (j = 0; j < ARRAY_SIZE(sip[i]); j++) […]

Imprimer les données de paquets TCP

En communication TCP, lorsque le paquet est transféré d’Ethernet vers la couche réseau (IP), je souhaite imprimer les données présentes dans ce paquet? Je travaille sur Linux. J’ai eu quelques informations que cela peut être fait avec l’aide du code du kernel Linux, c’est-à-dire dans le code du pare-feu NAT Linux. Mais où vais-je obtenir […]

Est-il possible d’accéder aux fragments d’ip avec libnetfilter_queue

J’utilise libnetfilter_queue en C pour capturer des paquets. Je suis en train de définir une règle iptable pour mettre en queue les paquets entrants qui seraient traités ultérieurement par l’implémentation de l’espace utilisateur, comme iptables -A INPUT -j NFQUEUE –queue-num 0 : iptables -A INPUT -j NFQUEUE –queue-num 0 . J’ai utilisé l’exemple nfqnl_test comme […]

Recherche du nom du paquet d’envoi exécutable dans un hook netfilter

J’écris un module de kernel qui utilise un hook netfilter pour filtrer les paquets TCP et doit trouver le chemin d’access à l’exécutable qui envoie les paquets. Jusqu’ici, j’ai utilisé l’approche suivante, mais elle imprime des noms apparemment sans rapport avec les exécutables utilisés ( / usr / lib / firefox / firefox , usr […]

transfert de paquets vers le même hôte sans utiliser de réseau de bouclage

J’ai cette application libnetfilter_queue qui reçoit les paquets du kernel en fonction de certaines règles iptables. Avant de passer directement à mon problème, je donne un exemple de code exploitable et d’autres outils pour configurer un environnement de test afin que la définition du problème et les solutions possibles soient plus précises et plus robustes. […]

Comment accéder aux données / données utiles depuis la structure tcphdr (sk_buff) sur debian 64 bits?

Je travaille sur un petit pare-feu, je devais récupérer les données de chaque paquet TCP du port 80 (http) pour les parsingr. Ce code fonctionne bien sur une machine virtuelle debian 32 bits. Je peux imprimer les en-têtes de chaque page Web, mais lorsque j’essaie de charger mon module de kernel et de transférer des […]

Comment filtrer et intercepter les paquets Linux en utilisant l’API net_dev_add ()?

J’écris un pilote réseau Ethernet pour Linux. Je veux recevoir des paquets, les éditer et les renvoyer. Je sais comment éditer le paquet dans la fonction packet_interceptor , mais comment puis-je supprimer les paquets entrants dans cette fonction? #include #include #include #include struct packet_type my_proto; int packet_interceptor(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, […]