IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Discussion :

[Socket/C++] Scanner de ports


Sujet :

Développement

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 9
    Points
    9
    Par défaut [Socket/C++] Scanner de ports
    Bonjour,
    J'ai commencé, hier, un scanner de ports pour linux, en utilisant, entre autres, GTK et la lib pthread... Mais là n'est pas le problème...

    Quand je scan un certain nombre de ports, tout est OK

    Mais là, je connaissais l'existence de ports non repérés par mon scanner sur une machine sur laquelle je l'ai testé, alors j'essaie avec un range plus petit ( 20 ports avant, 20 ports après ) et il me trouve bien le port...

    Le port en question est le port 9299...

    J'ai donc rajouté le code suivant juste après le test, dans la fonction qui est executée par les threads :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       if(CurrentPort == 9299)
       {
        cout << "Test du port 9299 atteint...\n";
        cout << "CurrentPort &#58; " << CurrentPort << "\n";
        cout << "ntohs&#40;sin.sin_port&#41; &#58; " << ntohs&#40;sin.sin_port&#41; << "\n";
        cout << "adresse &#58; " << adresse.c_str&#40;&#41; << "\n";
        cout << "inet_ntoa&#40;sin.sin_addr.s_addr&#41; &#58; " << inet_ntoa&#40;sin.sin_addr&#41; << "\n";
        cout << "sock &#58; " << sock << "\n";
        cout << "val &#58; " << val << "\n\n";
       &#125;
    Maintenant, voici la sortie quand je test de 8200 à 10000 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Test du port 9299 atteint...
    CurrentPort &#58; 9299
    ntohs&#40;sin.sin_port&#41; &#58; 9299
    adresse &#58; 213.186.56.100
    inet_ntoa&#40;sin.sin_addr.s_addr&#41; &#58; 213.186.56.100
    sock &#58; -1
    val &#58; -1
    Voici la sortie quand je test de 9000 à 10000 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Test du port 9299 atteint...
    CurrentPort &#58; 9299
    ntohs&#40;sin.sin_port&#41; &#58; 9299
    adresse &#58; 213.186.56.100
    inet_ntoa&#40;sin.sin_addr.s_addr&#41; &#58; 213.186.56.100
    sock &#58; 305
    val &#58; 0
    Quand à l'affectation du socket, c'est un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sock = socket&#40;AF_INET,SOCK_STREAM,0&#41;;
    [/code]

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Après quelques tests, j'ai découvert que, invariablement, c'est à partir du port 1019 ( donc 1018ème essaie ) que ça foire...

    Un perror("socket") me sort "socket: Mauvais descripteur de fichier"...

    Si quelqu'un peut m'éclaircire ça...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Problème résolu ! J'avais fait un shutdown, mais pas un close sur mon socket... C'est compréhensible qu'avec 1018 sockets ouverts, il sache plus les gérer...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [raw socket] Ecoute d'un port qui ne sniffe rien
    Par sorry60 dans le forum Développement
    Réponses: 9
    Dernier message: 13/11/2005, 16h30
  2. [Socket] Comment déterminer un port libre?
    Par leyee dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 03/11/2005, 11h33
  3. [IdTCPClient] Comment scanner des ports en multithread ?
    Par Ren97 dans le forum Composants VCL
    Réponses: 17
    Dernier message: 26/07/2005, 12h21
  4. Scanner de ports / Composants SVP....
    Par Ren97 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 19/07/2005, 14h55
  5. nombre de socket sur un meme port ?
    Par ginnovy dans le forum Développement
    Réponses: 3
    Dernier message: 25/10/2002, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo