Scan ip réseau local sous winxp

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 227 fois - Téléchargée 34 fois

Contenu du snippet

Ce code permet de scanner les ip d'un réseau local. Il met le résultat dans deux fixhiers. Le premier fichier (valide.txt) est utilisé pour stocké les ip qui ne sont pas encore utilisées. Le second fichier stocke les ip dèja utilisées sur le réseau local. La partie de base de se programme a été trouvée dans le forum de se site, elle n'est pas de moi.

Source / Exemple :


Dim AdIP As String
Dim i As Integer
Dim nb As Integer
i% = 1
Open "c:\ip_valide.txt" For Output As #1
Open "c:\ip_non_valide.txt" For Output As #2
nb = 0
While i% <> 253

i% = i% + 1
AdIP$ = "192.168.1." & i%

'**************************
'Open "c:\windows\protect.org" For Output As #NumFich

  Dim Commande As String
    Dim Resultat As Long
    Dim Ad_a_tester As String
    Dim Handle As Long
    Dim Fichier As String
    Dim Ligne As String
    Dim EstOK As Boolean
    Dim t As Long
    
    EstOK = True
    
    Fichier = App.Path & "\" & AdIP$
    Ad_a_tester = AdIP
    Commande = "c:\windows\system32\cmd.exe /cping " & Ad_a_tester & " -n 1 >" & Fichier               'fait un ping d'une trame sur le réseau a l'@ ad_a_tester

    Resultat = Shell(Commande, vbMinimizedNoFocus)

    t = Timer
    Do
        If Timer - t > 5 Then Exit Do
        DoEvents
    Loop
    Do
        DoEvents
        Err = 0
        On Error Resume Next
        If FileLen(Fichier) <> 0 And Err = 0 Then Exit Do
    Loop
    EstOK = True
    Handle = FreeFile
    Open Fichier For Input As #Handle
        While Not EOF(Handle)
            Input #Handle, Ligne
            If InStr(Ligne, "d'attente de la demande") <> 0 Or InStr(Ligne, "Impossible de joindre") <> 0 Then
                EstOK = False
                GoTo sort_bouc
            End If
            If InStr(Ligne, "ponse de") <> 0 Or InStr(Ligne, "Statistiques Ping") <> 0 Then
                EstOK = True
                
            End If
        Wend
        
sort_bouc:
        
    Close #Handle
    Kill Fichier
    If EstOK = True Then
        ' mettre l'ip dans un fichier nommé no valide
        nb% = nb% + 1
        Print #2, AdIP$
    Else
        ' mettre l'ip dans un fichier nommé valide
        Print #1, AdIP$
    End If
    
On Error Resume Next
ProgressBar1.Value = Int((100 * i) / 253)
'****************************

Label1.Caption = "   ~~ Traitement en cours ...  ~~             Nombre de pc trouvés : " & nb%
Wend
Label1.Caption = "Vous pouvez maintenant éditer les fichiers c:\ip_valide et c:\ip_non_valide. Nb pc trouvés : " & nb%

Conclusion :


voila ++ et enjoy yourself :-)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
25 août 2005

pouvez vous m'aider de visualiser tous les postes connectés dans un réseau local à partir de VB
Messages postés
91
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
23 mai 2005

mouai moyen . . .
Messages postés
3
Date d'inscription
dimanche 29 février 2004
Statut
Membre
Dernière intervention
15 mai 2004

je suis nouveau au VB, j'ai besoin beaucoup de ce code mais j'obtient "compile error invalid outside procedure"
quelqu'un a une idee?
Messages postés
180
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
4 février 2007

ouai c pas mal, mais bon, je crois que le plus rapide ( et le plus portable ) pour un admin reso sur windoz ca reste nbtstat, mais bon, ca pourrait etre pour un prog plus evolué, c pas si mal...
Messages postés
180
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
4 février 2007

ouai c pas mal, mais bon, je crois que le plsu rapide ( et le plus port
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.