Cet outil me permettra de scanner mon réseau pour identifier les stations ou je peux opérer.
A prévoir un bouton arrêt pour stopper un scan en cours ??, l'interface n'est pas top mais juste pour l'exemple.
► Afficher le texte
Code : Tout sélectionner
; By Supernana66
#include <Array.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GuiIPAddress.au3>
#include <GUIConstants.au3>
#Include <date.au3>
#Include <GuiListView.au3>
#include <GuiImageList.au3>
#include <EditConstants.au3>
dim $add_ip_deb[4], $add_ip_fin[4], $ip_total[255][4]
local $fin_plage, $deb_plage, $Liste, $rso, $stop
global $octet3_ip_deb, $octet4_ip_deb, $octet3_ip_fin, $octet4_ip_fin
$win = GUICreate("Paramètre IP", 550, 400)
GUICtrlCreateGroup("Plages d'adresse ip",30, 40, 250, 150,$WS_DLGFRAME,$DS_SETFOREGROUND )
GUICtrlCreateLabel("debut ",50 ,80, 50, 25)
$deb_plage= _GUICtrlIpAddress_Create($win,100, 80, 150, 20)
GUICtrlCreateLabel("fin ", 50, 120, 50, 25)
$fin_plage = _GUICtrlIpAddress_Create($win, 100, 120, 150, 20)
$btn = GUICtrlCreateButton("ok", 140, 160, 25, 25)
$Liste = GUICtrlCreateListview(" Reponse ", 300, 30, 220, 340)
$stop = GUICtrlCreateButton("Stop", 140, 320, 40, 25)
_GUICtrlListView_SetColumnWidth($Liste, 0, 210)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$rso = GUICtrlCreateLabel("réseau ?? ",50 ,250, 180, 25)
GUICtrlSetFont(-1, 12, 500, "italic" , "arial" )
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
ExitLoop
EndIf
$add_ip_deb = StringSplit(_GUICtrlIpAddress_Get ($deb_plage),".")
$add_ip_fin = StringSplit(_GUICtrlIpAddress_Get ($fin_plage),".")
$octet3_ip_deb = $add_ip_deb[3]
$octet4_ip_deb = $add_ip_deb[4]
$octet3_ip_fin = $add_ip_fin[3]
$octet4_ip_fin = $add_ip_fin[4]
Select
Case $msg = $btn
ping_rso()
EndSelect
Wend
func ping_rso()
if $add_ip_fin[3] - $add_ip_deb[3] = 0 Then
GUICtrlSetData($rso,"reseau de classe C")
for $i = $add_ip_deb[4] to $add_ip_fin[4]
$ip = $add_ip_deb[1]&"."&$add_ip_deb[2]&"."&$add_ip_deb[3]&"."&$i
If Ping ($ip) Then
_GUICtrlListView_AddItem($Liste, $ip &" " & "--> ping ok")
Else
_GUICtrlListView_AddItem($Liste, $ip &" " & "--> no ping ")
EndIf
next
MsgBox(0, "FIN", "FIN ")
else
gUICtrlSetData($rso,"reseau de classe B")
for $i = $add_ip_deb[3] to $add_ip_fin[3]
if $i <> $add_ip_fin[3] Then
for $k = $add_ip_deb[4] to 254
$ip = $add_ip_deb[1]&"."&$add_ip_deb[2]&"."&$i&"."&$k
If Ping ($ip) Then
_GUICtrlListView_AddItem($Liste, $ip &" " & "--> ping ok")
Else
_GUICtrlListView_AddItem($Liste, $ip &" " & "--> Pas joignable !! ")
EndIf
next
Else
for $i = $add_ip_deb[4] to $add_ip_fin[4]
$ip = $add_ip_deb[1]&"."&$add_ip_deb[2]&"."&$add_ip_deb[3]&"."&$i
If Ping ($ip) Then
_GUICtrlListView_AddItem($Liste, $ip &" " & "--> ping ok")
Else
_GUICtrlListView_AddItem($Liste, $ip &" " & "--> Pas joignable !! ")
EndIf
next
EndIf
next
MsgBox(0, "FIN", "FIN ")
EndIf
EndFunc
Amusez vous bien V.