IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Savoir si la carte réseau est privée ou public


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut Savoir si la carte réseau est privée ou public
    Salut à tous,
    je cherche a savoir si mes cartes réseaux sont public ou privée.
    J'ai fait une liste de mes cartes avec le code suivant, et je veux ajouter Privée : oui ou non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    private void RemplirListeCartesReseau()
            {
                NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
     
                List<dynamic> networkInfoList = new List<dynamic>();
     
                foreach (NetworkInterface networkInterface in networkInterfaces)
                {
                    //if (networkInterface.OperationalStatus == OperationalStatus.Up && !networkInterface.Description.ToLowerInvariant().Contains("pseudo"))
                    {
                        bool isPrivate = Mon code pour savoir....
                        string Type = networkInterface.NetworkInterfaceType.ToString();
                        dynamic info = new
                        {
                            Name = networkInterface.Name,
                            Description = networkInterface.Description,
                            OperationalStatus = networkInterface.OperationalStatus.ToString(),
                            Type = Type,
                            isPrivate= isPrivate 
                        };
     
                        networkInfoList.Add(info);
                    }
                }
     
                networkListView.ItemsSource = networkInfoList;
            }
    Merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    une réponse trouvée là https://itecnote.com/tecnote/c-get-t...rk-connection/
    c'est la connexion qui est privée ou public, par la carte
    Je remets le code ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var manager = new NetworkListManagerClass();
      var connectedNetworks = manager.GetNetworks(NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_CONNECTED).Cast<INetwork>();
      foreach (var network in connectedNetworks)
      {
        Console.Write(network.GetName() + " ");
        var cat = network.GetCategory();
        if (cat == NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_PRIVATE)
          Console.WriteLine("[PRIVATE]");
        else if (cat == NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_PUBLIC)
          Console.WriteLine("[PUBLIC]");
        else if (cat == NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_DOMAIN_AUTHENTICATED)
          Console.WriteLine("[DOMAIN]");
      }      
      Console.ReadKey();

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 896
    Par défaut
    Citation Envoyé par umfred Voir le message
    c'est la connexion qui est privée ou public

    Affirmatif. Et je ne suis pas sûr de la forme, mais il me semble qu'il y a quelque part dans la configuration sous Windows 11 un bouton pour changer le type de connexion, entre privé et public.

    Vu que si on veut connecter plusieurs machines en réseau local il faut un réseau public, alors si on l'a mis en privé pour la sécurité, du coup on est obligé de changer.

  4. #4
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Citation Envoyé par umfred Voir le message
    une réponse trouvée là https://itecnote.com/tecnote/c-get-t...rk-connection/
    c'est la connexion qui est privée ou public, par la carte
    Je remets le code ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var manager = new NetworkListManagerClass();
      var connectedNetworks = manager.GetNetworks(NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_CONNECTED).Cast<INetwork>();
      foreach (var network in connectedNetworks)
      {
        Console.Write(network.GetName() + " ");
        var cat = network.GetCategory();
        if (cat == NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_PRIVATE)
          Console.WriteLine("[PRIVATE]");
        else if (cat == NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_PUBLIC)
          Console.WriteLine("[PUBLIC]");
        else if (cat == NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_DOMAIN_AUTHENTICATED)
          Console.WriteLine("[DOMAIN]");
      }      
      Console.ReadKey();
    Salut et merci de la réponse.
    En effet, j'avais mal compris.
    Par contre, ou trouver la NetworkListManagerClass ?

    Je l'ai bien trouvé sur https://github.com/mono/WindowsAPICo...anagerClass.cs Mais je n'arrive pas a l'ajouter...

  5. #5
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Bonjour,
    un petit up.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    Il faut ajouter une référence COM au projet, et rechercher "Network List Manager" dans la liste.
    (clic droit sur le nom du projet puis "ajouter> Référence COM")

    Il faudra alors peut-être modifier la ligne var manager = new NetworkListManagerClass(); par var manager = new NetworkListManager(); si ça donne une erreur de type "CS1752 - Impossible d'incorporer le type interop 'NetworkListManagerClass'. Utilisez plutôt l'interface applicable." (donc a priori si ton projet est en .NET et pas .NET Framework)

  7. #7
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Super !
    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment savoir si la carte SD est disponible ?
    Par dawadam dans le forum Android
    Réponses: 2
    Dernier message: 14/04/2011, 17h35
  2. tester si la carte réseau est branché
    Par longuard dans le forum C#
    Réponses: 3
    Dernier message: 08/10/2010, 02h41
  3. Détecter que la carte réseau est connectée
    Par darkwall_37 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 23/06/2009, 14h27
  4. Savoir si un équipement réseau est un agent SNMP
    Par clubist dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 29/05/2008, 18h42
  5. iptables -L : quelle carte réseau est affectée ?
    Par troumad dans le forum Réseau
    Réponses: 5
    Dernier message: 24/01/2008, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo