Gå til innhold

C# Hjelp til å hente nettverksmaske


Anbefalte innlegg

Har funnet denne på et forum og modifisert den litt.

Koden under skal hente ut nettverksmasken, men når jeg kjører den så henter den ut 255.0.0.0 noe ingen av nettverkskortene mine har. Ser ut som den kjører for alle adapterne og deretter gir meg info fra den siste. Kan det stemme? Noen som kan hjelpe meg med denne?

        public string Subnet()
        {
            string Maske = "";
            foreach (NetworkInterface f in NetworkInterface.GetAllNetworkInterfaces())
                if (f.OperationalStatus == OperationalStatus.Up)
            {
                IPInterfaceProperties ipInterface = f.GetIPProperties();
                foreach (UnicastIPAddressInformation unicastAddress in ipInterface.UnicastAddresses)
                {
                    Maske = (unicastAddress.IPv4Mask == null ? "Nettverksmaske er ikke definert" : unicastAddress.IPv4Mask.ToString());
                }
            }
            return Maske;
        }
Endret av RMBB
Lenke til kommentar
Videoannonse
Annonse

Okay, men hvis den henter den første burde jeg jo fått opp noe annet.

her er Ip config. Modded noen tall, da jeg ikke vet hvor populært det er at jeg poster dem her.


Windows IP-konfigurasjon

   Vertsnavn   . . . . . . . . . . . : Test
   Prim‘r DNS-suffiks  . . . . . . . : 
   Nodetype  . . . . . . . . . . . . : Hybrid
   IP-ruting aktivert  . . . . . . . : Nei
   WINS Proxy aktivert . . . . . . . : Nei
   S›keliste for DNS-suffiks . . . . : Domene.no

Ethernet-kort Lokal tilkobling:

   Tilkoblingsspesifikt DNS-suffiks  : Domene.no
   Beskrivelse   . . . . . . . . . . : Marvell Yukon 88E8057 PCI-E Gigabit Ethernet Controller
   Fysisk adresse  . . . . . . . . . : 00-25-12-8B-60-50
   DHCP aktivert . . . . . . . . . . : Ja
   Automatisk konfigurasjon aktivert : Ja
   Koblingslokal IPv6-adresse. . . . : fec0::bbce:321:b10b:be15%20(Foretrukket) 
   IPv4-adresse. . . . . . . . . . . : 192.168.1.23(Foretrukket) 
   Nettverksmaske . . . . . . . . . .: 255.255.255.0
   Leieavtale inng†tt. . . . . . . . : 10. juli 2014 03:22:07
   Leieavtale utl›per. . . . . . . . : 14. juli 2014 03:22:07
   Standard gateway . . . . . . . . .: 192.168.1.1
   DHCP-server . . . . . . . . . . . : 192.168.1.1
   DHCPv6-IAID . . . . . . . . . . . : 234756513
   DHCPv6 klient-DUID. . . . . . . . : 00-02-00-01-12-C3-B7-7B-00-24-11-8B-60-50
   DNS-servere . . . . . . . . . . . : 151.236.6.156
                                       118.88.20.195
   NetBIOS over Tcpip. . . . . . . . : Aktivert

Tunnelkort isatap.Domene.no:

   Medietilstand . . . . . . . . . . : Medium frakoblet
   Tilkoblingsspesifikt DNS-suffiks  : Domene.no
   Beskrivelse   . . . . . . . . . . : Microsoft ISATAP Adapter
   Fysisk adresse  . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP aktivert . . . . . . . . . . : Nei
   Automatisk konfigurasjon aktivert : Ja

Tunnelkort Lokal tilkobling* 9:

   Medietilstand . . . . . . . . . . : Medium frakoblet
   Tilkoblingsspesifikt DNS-suffiks  : 
   Beskrivelse   . . . . . . . . . . : Microsoft 6to4 Adapter
   Fysisk adresse  . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP aktivert . . . . . . . . . . : Nei
   Automatisk konfigurasjon aktivert : Ja

Endret av RMBB
Lenke til kommentar

Hvis du feilsøker litt da, f.eks deaktivere alle tilkoblinger utennom lokal tilkobling og ser hva du får ut da.

Eller skriver om til bare å hente maske fra lokal tilkobling. Se om det hjelper.

 

Btw, bruk Stack Overflow istedenfor diskusjon.no :)

Lenke til kommentar

Hvis du feilsøker litt da, f.eks deaktivere alle tilkoblinger utennom lokal tilkobling og ser hva du får ut da.

Eller skriver om til bare å hente maske fra lokal tilkobling. Se om det hjelper.

 

Btw, bruk Stack Overflow istedenfor diskusjon.no :)

Takker for svar.

Deaktiverte og avinstallerte så jeg bare får opp et kort når jeg kjører ipconfig, men fortsatt samme resultat.

Ja, må vel kanskje høre på Stack Overflow, men de er ofte så lite hyggelige, så forsøkte her først:)

Lenke til kommentar

Du må vel lage en direkte spørring mot den devicen du vil ha nettverksmaske fra. Fungerer noe sånt som dette da? Hvis den finner en ipv4 adresse, hent ipv4masken.

 

Hvis du har flere enhter med ipv4 så gå på spesifikk IP hvis fast eller noe annet. Anbefaler Stackoverflow selv om de er nådeløse mot nybegynnere, eller microsoft sine forum. Der får du skikkelig god hjelp men tar litt lengre tid å få svar.

if (ip.AddressFamily.ToString() == "InterNetwork")
                {

                  networkMask = unicastAddress.IPv4Mask.ToString();
                 Console.WriteLine(networkMask);

                }

 

  • Liker 1
Lenke til kommentar

Fikk ikke det til Avean, men jeg fikk hjelp på stackoverflow. Måtte filtrere ut kort med loopback:

if (f.OperationalStatus == OperationalStatus.Up && f.NetworkInterfaceType != NetworkInterfaceType.Loopback)
Endret av RMBB
  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...