WebElektronika

WiFi-s hálózatunk főbb tulajdonságainak megkeresése .NET környezetben

person access_time 2016.11.14.
Folytatjuk most tovább a WiFi-s sorozatunkat, ebben a részben azt nézzük meg, hogy hogyan lehet annak a hálózatnak a főbb tulajdonságait meghatározni, amelyre rácsatlakoztunk. A példaprogramunkban csak néhány lehetőséget érintünk, amelyeket fontosnak tartottunk.


Indítsuk el a Visual Studio 2015 Community-t és hozzunk létre egy Console projektet, a neve legyen ConsoleWiFi, és vegyük fel referenciaként a korábban létrehozott ManagedWiFi DLL-t.
Ezután kattintsunk az egér jobb gombjával a DLL nevére és indítsuk el az Object Browser-t (1. ábra).

kep
1. ábra   Az Object Browser megnyitása
 

Az Object Browser segítségével "belenézhetünk" a DLL-be, láthatjuk a korábban lefordított ManagedWiFi "felépítését", és megtaláljuk a különböző osztályokat is (2. ábra).

kep
2. ábra   A ManagedWifi DLL felépítése (részlet)
 

Másoljuk be a következő C# kódot a Program.cs file-ba.

Először a WlanClient osztályból létrehozunk egy wlanKliens néven egy példányt, amelynek az Interfaces gyűjteményét a következő sorban bejárjuk a foreach ciklussal. A "\t" segítségével tab-ot jelenítünk meg, ezáltal a megjelenített adatok olvasása válik könnyebbé.
Először kiírjuk a netelérésünk típusát (Wi-Fi), ezt követően pedig az elérésünk nevét.

Megjelenítésre kerülnek még a Wlan kártya neve, a WiFi szabványa, a kapcsolatunk állapota ("Connected"), a jelerősség értéke, de még a titkosítás is.

using NativeWifi;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleWiFi
{
    class Program
    {
        static void Main(string[] args)
        {
            WlanClient wlanKliens = new WlanClient();
            foreach (var item in wlanKliens.Interfaces)
            {
                Wlan.WlanAvailableNetwork[] wifi = item.GetAvailableNetworkList(0);
                Console.WriteLine("Típus : \t{0}", item.InterfaceName);
                Console.WriteLine("Név : \t\t{0}", item.CurrentConnection.profileName);
                Console.WriteLine("Id : \t\t{0}", item.NetworkInterface.Id);
                Console.WriteLine("Szabvány : \t{0}", item.NetworkInterface.NetworkInterfaceType);
                Console.WriteLine("Multicast : \t{0}", item.NetworkInterface.SupportsMulticast);
                
                Console.WriteLine("Állapot : \t{0}", item.CurrentConnection.isState);
                Console.WriteLine("Wlan kártya : \t{0}", item.InterfaceDescription);
                Console.WriteLine("Sebesség : \t{0}", item.NetworkInterface.Speed);
                Console.WriteLine("RSSI érték : \t{0}", item.RSSI);
                Console.WriteLine("Mód : \t\t{0}", item.CurrentConnection.wlanAssociationAttributes.dot11BssType);
                Console.WriteLine("Jelerősség : \t{0}", item.CurrentConnection.wlanAssociationAttributes.wlanSignalQuality);
                Console.WriteLine("Titkosított : \t{0}", item.CurrentConnection.wlanConnectionMode);
                Console.WriteLine("Algoritmus : \t{0}",item.CurrentConnection.wlanSecurityAttributes.dot11AuthAlgorithm);
                Console.WriteLine("Cipher : \t{0}",item.CurrentConnection.wlanSecurityAttributes.dot11CipherAlgorithm);
                Console.WriteLine("oneX : \t\t{0}", item.CurrentConnection.wlanSecurityAttributes.oneXEnabled);
                Console.WriteLine("Titkosított : \t{0}", item.CurrentConnection.wlanSecurityAttributes.securityEnabled);
                Console.WriteLine("Atuconf : \t{0}", item.Autoconf);
                
                Console.WriteLine("Csatorna : \t{0}", item.Channel);
                Console.WriteLine("BSS típus :\t{0}", item.BssType);


Ha érdeklődik a cikk teljes tartalma után, kérjük, lépjen be a WebElektronika oldalára.

     Köszönjük.