Le port source avc LIbpcap

Résolu/Fermé
monalisa16 Messages postés 116 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 25 mars 2013 - 6 mai 2012 à 15:23
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 - 8 mai 2012 à 15:04
Bonjour,

Est il possible de connaitre le port source d'1 paquet avec la Libpcap,,,sachant que je travail avec un Bridge sous linux http://formation-debian.via.ecp.fr/bridge.html ,,,je sniffe au niveau de br0 et je veux savoie de quel port me parvient il exactement.


le br0 est relié aux interfaces ethernet eth0,eth1,eth2...
Merciiii d'avance :)))

7 réponses

mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
8 mai 2012 à 14:35
Disons que je n'ai jamais utilisé libcap, mais sur le principe je ne vois pas comment elle pourrait : libpcap permet de rattraper des paquets et d'en inspecter le contenu. Or quand un paquet est reçu, la personne qui l'a émise ne sait pas l'IP de l'interface du prochain bond (dans le cas général, car bien entendu si l'interface avec laquelle tu sniffes le paquet est la destination, c'est simplement l'IP cible).

Par contre, libpcap te permet de sniffer le paquet sur une interface donnée, donc au moment de construire le sniffer, tu sais quelle interface reçoit quels paquets. Du mois c'est comme ça que je vois les choses, peut-être que je me trompe ;-) Cf initialisation de devname dans cet exemple :
https://www.binarytides.com/packet-sniffer-code-c-libpcap-linux-sockets/

D'ailleurs je ne comprends pas pourquoi tu ne repars pas tout simplement de cet exemple, qui te montre comment sniffer un paquet, le trier en fonction du protocole utilisé (udp, tcp, icmp) et d'en inspecter le contenu.

Bonne chance
1
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
8 mai 2012 à 15:04
À mon avis c'est plutôt "je vais sniffer toutes les interfaces et extraire des paquets reçus les ports utilisés" (si tu parles des "ports" au sens protocole réseau). Attention aussi à faire la distinction entre port source et port destination.

En tout cas si tu vois comment t'y prendre, c'est l'essentiel !

Bonne continuation
1
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
Modifié par mamiemando le 7/05/2012 à 01:47
A priori oui c'est possible, il suffit juste de regarder le port dans le header tcp ou udp
https://fr.wikipedia.org/wiki/Transmission_Control_Protocol
https://fr.wikipedia.org/wiki/User_Datagram_Protocol

À mon avis tu peux t'inspirer du code de tcpdump, qui est basé sur libpcap pour ce genre de chose, ou de cet exemple :
https://www.binarytides.com/packet-sniffer-code-c-libpcap-linux-sockets/

Bonne chance
0
monalisa16 Messages postés 116 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 25 mars 2013
Modifié par monalisa16 le 7/05/2012 à 15:43
Oui tres bien mais mais la question est si je sniffe au niveau de br0 est ce que je pourrais avoir cette info le port exacte eth0,eth,eth2 ....etc avec la Libpcap ,,car je dois savoir exactement d'ou me parvient ce paquet pr bloquer le port ou pas ,,ou est il preferable peut etre de sniffer au niveau de chaque interface +simple???

Mercii :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
7 mai 2012 à 19:25
Ah mais c'est pas le port alors qui t'intéresse, c'est l'interface qui reçoit le paquet ?

Personnellement je pense qu'il vaut mieux sniffer par interface, car cette information ne figure a priori pas dans les paquets que tu captures.

Ensuite, si l'idée est de bloquer certains paquets, pourquoi n'utilises tu pas simplement iptables ?
0
monalisa16 Messages postés 116 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 25 mars 2013
8 mai 2012 à 00:46
C'est ce que je pensais,,donc il n'y a aucune fonction Libpcap qui me permet de savoir le port (interface)source au niv de br0?
Au fait je n'utilise pas iptables car je ne bloquerais pas les ports je ne ferais que les definir comme trusted untrusted tout en verifiant ce qui se passe au niv de ces ports
Grand merci a vous mamiemando ^^
0
monalisa16 Messages postés 116 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 25 mars 2013
8 mai 2012 à 14:58
C'est ce que j'ai fait enfin je vais adopter la solution de sniffer tt les ports et faire une vérification des interfaces.
Merci ^^
0