none
Déterminer les adresses IP des cartes réseaux de tous les PC d'un réseau RRS feed

  • Discussion générale

  • Bonjour,

    Il est possible de déterminer, en VB6

    • l'adresse IP d'une machine du réseau par son nom en utilisant l'API GetHostByName
    • les adresses IP de la machine locale par l'API GetIPAddrTable 

    Je cherche à déterminer toutes les adresses de chaque machine du réseau à partir de leur nom par exemple.

    Je n'ai pas trouvé !


    Cordialement Aski MVP Windows Expert-Consumer <a href="http://dechily.org/Forum_Aski/"> Forum_Aski</a>

    • Type modifié Aurel Bera jeudi 5 septembre 2013 09:06 Discussion
    jeudi 18 juillet 2013 17:41

Toutes les réponses

  • Bonjour Henri,

    Pour le premier point, peut être, car je ne suis pas sûr de comprendre, c'est l'IP que tu veux, le nom tu l'as, vu que tu recherches par son nom :

        gethostbyname: Resolve Host Name to IP Address

    NB: il faut 2 TextBox, et modifier le code de Command1_Click, sinon a toujours l'adresse locale :

    Private Sub Command1_Click()
       Dim sHostName As String
    
       If SocketsInitialize() Then
          'obtain and pass the host address to the function
          'Text1.Text = GetMachineName()    A METTRE en REMARQUE
          Text2.Text = GetIPFromHostName(Text1.Text)
          SocketsCleanup
       Else
            MsgBox "Windows Sockets for 32 bit Windows " & _
                   "environments is not successfully responding."
       End If
    End Sub

    Pour le second point, ça pourrait ressembler à ça, toujours chez Randy Birch :

        GetIpAddrTable: IP Address Table of the Local Machine

    mais là ça reste en local (ça tombe bien!)


    Cordialement, Jacques


    • Modifié Jacques93 jeudi 18 juillet 2013 20:15 Erreur URL
    jeudi 18 juillet 2013 20:11
  • Et,, même si tu ne l'a pas demandé, pour les nombreux lecteurs de ce forum : comment énumérer les machines d'un réseau :

        NetServerEnum: Obtain Domain/Workgroup Servers and Machines


    Cordialement, Jacques

    jeudi 18 juillet 2013 20:32
  • Bonjour Jacques,

    Pour le moment, j'en suis à

    1. déterminer les noms des machines du réseau
    2. déterminer l'IP pour chaque nom
    3. déterminer l'adresse MAC pour chaque IP

    Voir l'EXE

    http://cjoint.com/?CGthDk8OQ0S

    Le 2. détermine une des IP de la machine, mais pas toutes (2 cartes réseau ou souris Wifi par exemple).


    Cordialement Aski MVP Windows Expert-Consumer &lt;a href=&quot;http://dechily.org/Forum_Aski/&quot;&gt; Forum_Aski&lt;/a&gt;

    vendredi 19 juillet 2013 05:31
  • Bonjour Henri,

    J'ai regroupé les 3 programmes cités de VBNet, plus l'adresse MAC , j'obtiens la même chose que toi. Mais la démarche est probablement identique : on énumère les machines du réseau => une ligne par machine, on en déduit IP et MAC

    Peux tu essayer Colasoft MAC Scanner , il détecte bien 2 cartes réseaux sur une même machine (Filaire et Wifi) et la LiveBox en 192.168.1.1 et 192.168.1.255

    La démarche doit être un peu différente, à partir de l'IP locale on détermine une plage d'adresse IP et on la scanne. Si une IP réponds, on cherche ce que c'est :

    Il fait le chemin dans l'autre sens, je pense


    Cordialement, Jacques

    vendredi 19 juillet 2013 08:24
  • Un petit squelette de scanner , basé sur les codes de VBNet

    L'affichage se fait dans la fenêtre exécution :

    192.168.1.1   : 0   [ ip success ] --> LIVEBOX --> 40-5A-9B-06-...
    192.168.1.11 : 0   [ ip success ] --> CB-W7I --> 00-11-2F-DD-...
    192.168.1.16 : 0   [ ip success ] --> TOSH-W7I --> 1C-65-9D-9B-...
    192.168.1.20 : 0   [ ip success ] --> TOSH-W7I --> 88-AE-1D-FB-...
    192.168.1.29 : 0   [ ip success ] --> TOSH-W81 --> 08-00-27-4B-...


    Cordialement, Jacques

    vendredi 19 juillet 2013 14:07
  • Bonjour Jacques,

    Ce programme trouve bien toutes les IP.

    Je me demande d'ailleurs pourquoi cette 192.168.1.255 que je trouve également (j'ai une LiveBox)

    J'ai pensé commencer à lister d'abord les IP, mais c'est très long en VB6.

    2 curiosités

    1/ ScanLocNet ne trouve que la carte Ethernet lorsque la Wifi est activée

    2/ Le ping d'un PC vers un autre PC échoue lamentablement lorsque la Wifi est activée sur le premier PC.

    Par exemple, ping asus (mon portable) depuis corsair (ma tour) indique

    envoi requête 'ping' sur asus.home [192.168.1.38]

    et échoue car cette IP n'existe pas. L'IP devrait être est 192.168.1.21

    Je pense que ma LiveBox est souffrante.

    De plus ScanLocNet, trouve aussi 192.168.1.38, mais ne sait pas calculer l'adresse MAC


    Cordialement Aski MVP Windows Expert-Consumer &lt;a href=&quot;http://dechily.org/Forum_Aski/&quot;&gt; Forum_Aski&lt;/a&gt;

    vendredi 19 juillet 2013 17:15
  • L'adresse 192.168.1.255 est un peu particulière, c'est l'adresse de Broadcast,elle représente tout ce qui est compris entre 192.168.1.1 et 192.168.1.254. Elle ne représente donc pas un matériel en particulier.

    Je pense que le Scanner Colasoft lance plusieurs threads en parallèle pour accélérer le scan. En VB6, on a pas cette possibilité.

    Qu'une IP génère un TimeOut, OK, qu'elle indique qu'elle n'existe pas, je ne sais pas comment. Mais un pare-feu peut être paramétré pour éviter les Ping-flood

    Chez moi avec le petit programme VB j'obtiens la même que Colasoft, à l'exeption de 192.168.1.255, ce qui me semble normal(doit falloir un traitement spécifique)

    Bon je vais laisser refroidir les bécanes et le bonhomme ;-)


    Cordialement, Jacques

    vendredi 19 juillet 2013 17:40
  • Test

    Cordialement Aski MVP Windows Expert-Consumer
    <href a="http://dechily.org/Forum_Aski/">

    vendredi 26 juillet 2013 05:56