Ceci est mon tout premier post sur ce forum qui ma souvent était d'une grande aide.
Voila je suis en train de faire un scanneur de port(regarde si le port x est ouvert).Pour cela j'envoie une requête TCP grâce a la fonction TCPConnect() mais je rencontre un petit problème.
Quand le port est ouvert la aucun problème la réponse se fait très vite mais lorsque qu'il est fermé le programme freeze puis au bout de 10/15 sec il me dit que le port est fermé
Voici mon code source
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("TCPTimeout",10)
Opt("TrayIconHide",1)
#Region ### START Koda GUI section ### Form=C:\Users\Ptifou78\Desktop\Créa\GUI Scanner.kxf
$Scanner = GUICreate("Scanner By Ptifou78 V0.01", 487, 282, -1, -1)
GUISetFont(8, 400, 0, "Gisha")
$Banniere = GUICtrlCreateLabel("PORT SCANNER BY PTIFOU78", 0, 0, 539, 41)
GUICtrlSetFont(-1, 25, 400, 0, "Neo Bopollux : The Remix")
GUICtrlSetBkColor(-1, 0x800000)
$ip = GUICtrlCreateInput("IP à scanner", 88, 88, 313, 32)
GUICtrlSetFont(-1, 15, 400, 0, "Gisha")
GUICtrlSetCursor (-1, 5)
$Boutton_depart = GUICtrlCreateButton("Commencer à scanner", 160, 200, 185, 49, $WS_GROUP)
GUICtrlSetFont(-1, 12, 400, 0, "Gisha")
GUICtrlSetCursor (-1, 0)
$Port_scann = GUICtrlCreateInput("Port à scanner", 152, 144, 201, 32)
GUICtrlSetFont(-1, 15, 400, 0, "Gisha")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Boutton_depart
MsgBox(0, "GUI Event", "Scan en cours de l'ip: "&GUICtrlRead($ip)&" du port "&GUICtrlRead($Port_scann)& "")
TCPStartup()
$port_scanner = TCPConnect( GUICtrlRead($ip), GUICtrlRead($Port_scann))
if $port_scanner = -1 Then
MsgBox(0,"Port Fermé","Le port "&GUICtrlRead($Port_scann)&" de l'ip "&GUICtrlRead($ip)&" est fermé")
ElseIf @error = 1 Then
MsgBox(0,"Adresse ip invalide","L'adresse ip "&GUICtrlRead($ip)&" n'est pas valide merci de mettre une bonne ip ")
ElseIf @error = 2 Then
MsgBox(0,"Port invalide","Le port "&GUICtrlRead($Port_scann)&" n'est pas valide merci de mettre un port entre 0 et 65535")
Else
MsgBox(0,"Port Ouvert","Le port "&GUICtrlRead($Port_scann)&" de l'ip "&GUICtrlRead($ip)&" est ouvert")
EndIf
EndSwitch
WEnd
D'avance merci de votre aide





