Les Forums

Les Forums

Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer

Port Tcp ouvert

Salut

je suis entrain de développer un sniffer ( un projet d'étude ) , et je suis arrivé à une étape ou il faut détecter les ports ouverts ...

bon ma question est : si on capte un paquet TCP avec seulement le flag ack est activé
est ce qu'on peut dire que le port source est ouvert dans la machine source , et le port destination est ouvert dans la machine destinataire , si non j'aime bien si vous me donniez des contre exemple

d'avance merci
salut salut,

Si j'ai bien compris ta question, pendant que tu es en train de sniffer, dans tes paquets tu détectes le flag ack et donc tu aimerais savoir si les ports sont ouvert ? et bien oui, le paquet ack est utilisé pour "ACKnowledger" en clair les données sont bien transmises dans les deux sens tant qu'il n'y a pas de paquet FIN ou RESet afin de couper la liaison, un des points fort de tcp d'ailleurs.

Ceci dit attention il y a plusieurs méthodes pour détecter l'ouverture de port, la dans ton exemple on peut envoyer un paquet ack et attendre la réponse de la machine distante puis la traiter donc finalement il y a bien un paquet ack mais on ne sait pas si le port est ouvert tant qu'on a pas traité la réponse, gaffe à bien programmer ton sniffer.

La technique nmap :

Envoie d'un paquet ACK si la machine distante renvoie un paquet "
ICMP destination unreachable" ou si il y pas de réponse le port est considéré comme filtré/fermé, sinon le port est considéré comme NONfiltré/ouvert.

Pour récapituler, la c'est deux choses différentes, le sniffer et le détecteur de port chose à ne pas mélanger.

Regarde dans mon repository je suis aussi en train de développer un sniffer quand j'ai le temps bien sur...

Tu développes en quel langage et t'es à quel niveau dans tes études ??
salut mrpropre

bon , merci pour ton aide , même si je trouve que ta répense n'est pas précise .
n'oublie pas qu'un sniffer c'est un explorateur passif du réseau , alors on peut pas suivre les algo de nmap ( qui est un explorateur actif ) , on peut juste traiter les paquets capturés ....

d'après de ce que j'ai lu , j'ai compris qu'on détecte les ports ouverts , lors de l'établition de la connexion entre le client et le serveur ,

client ---(syn)---> serveur
client <----(syn/ack)--- serveur
client ----(ack)------> serveur

mais moi , quand je traite les paquets capturés , je les efface tout les 10mn , alors je peut pas compter sur la méthode précédente , c'est pour ca j'ai posé ma question ....

bon pour ma part je développe mon sniffer en utilisant le C++ , et je suis en cinquième année informatique , mais mon pb c'est que je suis spécialisé en SI , pas en réseau

et ça me fait plaisir si on échangera qq idée ....

a+

bon ma question est : si on capte un paquet TCP avec seulement le flag ack est activé
est ce qu'on peut dire que le port source est ouvert dans la machine source , et le port destination est ouvert dans la machine destinataire

Oui, tu peux le dire ! enfin presque...
Le port client sera ouvert, mais seulement pour CES adresses IP. Quiconque autre le verra comme fermé, du moins pour le port client.

bon ma question est : si on capte un paquet TCP avec seulement le flag ack est activé
est ce qu'on peut dire que le port source est ouvert dans la machine source , et le port destination est ouvert dans la machine destinataire

Oui, tu peux le dire ! enfin presque...
Le port client sera ouvert, mais seulement pour CES adresses IP. Quiconque autre le verra comme fermé, du moins pour le port client.

oui , je suis d'accord avec toi ... , marci