Semplice scanner per visualizzare quali porte sono aperte...
Preannuncio che c'è un problema, di cui vi ho già parlato in un altra discussione. Una volta fatto partire lo scan, il ciclo for impedisce di ricevere eventi dalla gui...
#include <guiconstants.au3>
#include <editconstants.au3>
#include <guilistview.au3>
$gui=GUICreate("PortScanner")
GUISetBkColor(0x000000)
$ip_label=GUICtrlCreateLabel("Ip-->",20,5)
GUICtrlSetColor($ip_label,0x00ff00)
GUICtrlSetFont($ip_label,10)
$input=GUICtrlCreateInput(@IPAddress1,60,5,150,20,$ES_CENTER)
GUICtrlSetBkColor($input,0x000000)
GUICtrlSetColor($input,0x00ff00)
$scan=GUICtrlCreateButton("Scan",250,2,100)
GUICtrlSetBkColor($scan,0x000000)
GUICtrlSetColor($scan,0x00ff00)
$from=GUICtrlCreateLabel("Porte Da",20,43)
GUICtrlSetColor($from,0x00ff00)
$porta_inizio=GUICtrlCreateInput("0",70,40,70,20,$ES_CENTER)
GUICtrlSetBkColor($porta_inizio,0x000000)
GUICtrlSetColor($porta_inizio,0x00ff00)
$to=GUICtrlCreateLabel("A",150,43)
GUICtrlSetColor($to,0x00ff00)
$porta_fine=GUICtrlCreateInput("65535",165,40,70,20,$ES_CENTER)
GUICtrlSetBkColor($porta_fine,0x000000)
GUICtrlSetColor($porta_fine,0x00ff00)
$list=GUICtrlCreateListView("Porte Aperte",100,100,200,200)
GUICtrlSetBkColor($list,0x000000)
GUICtrlSetColor($list,0x00ff00)
GUISetState()
TCPStartup()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $scan
$ip=GUICtrlRead($input)
$porta_In=GUICtrlRead($porta_inizio)
$porta_fin=GUICtrlRead($porta_fine)
If $ip="" Then
MsgBox(16,"Errore","Devi inserire un Ip")
ElseIf $porta_In="" Then
MsgBox(16,"Errore","Devi inserire una porta iniziale")
ElseIf $porta_fin="" Then
MsgBox(16,"Errore","Devi inserire una porta finale")
Else
For $porta_In=$porta_In to $porta_fin
$sock=TCPConnect($ip,$porta_In)
If $sock=-1 Then
Else
_guictrllistview_additem($list,$porta_In)
EndIf
Next
TCPShutdown()
MsgBox(0,"Fine","Scansione Terminata")
EndIf
EndSwitch
WEnd