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 :
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
8
9
10 if(CurrentPort == 9299) { cout << "Test du port 9299 atteint...\n"; cout << "CurrentPort : " << CurrentPort << "\n"; cout << "ntohs(sin.sin_port) : " << ntohs(sin.sin_port) << "\n"; cout << "adresse : " << adresse.c_str() << "\n"; cout << "inet_ntoa(sin.sin_addr.s_addr) : " << inet_ntoa(sin.sin_addr) << "\n"; cout << "sock : " << sock << "\n"; cout << "val : " << val << "\n\n"; }
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 : 9299 ntohs(sin.sin_port) : 9299 adresse : 213.186.56.100 inet_ntoa(sin.sin_addr.s_addr) : 213.186.56.100 sock : -1 val : -1
Quand à l'affectation du socket, c'est un simple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Test du port 9299 atteint... CurrentPort : 9299 ntohs(sin.sin_port) : 9299 adresse : 213.186.56.100 inet_ntoa(sin.sin_addr.s_addr) : 213.186.56.100 sock : 305 val : 0
[/code]
Code : Sélectionner tout - Visualiser dans une fenêtre à part sock = socket(AF_INET,SOCK_STREAM,0);
Partager