static public List <WifiSignalStrength> ScanForSignalStrengths(WifiInterface wifiInterface) { List <WifiSignalStrength> signalStrengthList = new List <WifiSignalStrength>(); if (wifiInterface != null && !String.IsNullOrEmpty(wifiInterface.ID)) { try { WlanClient.WlanInterface wlanIface = GetNetworkInterfaceFromId(wifiInterface.ID); Wlan.WlanBssEntry[] wlanBssEntries = wlanIface.GetNetworkBssList(); foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries) { string mac = ConvertAddressBytesToString(wlanBssEntry.dot11Bssid); string ssid = Encoding.ASCII.GetString(wlanBssEntry.dot11Ssid.SSID, 0, (int)wlanBssEntry.dot11Ssid.SSIDLength); int rssi = wlanBssEntry.rssi; if (rssi > 0) { rssi -= 255; } WifiSignalStrength signalStrength = new WifiSignalStrength(ssid, mac, rssi); signalStrengthList.Add(signalStrength); } signalStrengthList.Sort(); } catch { // Do nothing. } } return(signalStrengthList); }
static public Scan ScanWifiSignals(WifiInterface wifiInterface) { List <Reading> readingList = new List <Reading>(); Scan scan = new Scan(DateTime.UtcNow, readingList); if (wifiInterface != null && !String.IsNullOrEmpty(wifiInterface.ID)) { try { WlanClient.WlanInterface wlanIface = GetNetworkInterfaceFromId(wifiInterface.ID); Wlan.WlanBssEntry[] wlanBssEntries = wlanIface.GetNetworkBssList(); foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries) { string mac = ConvertAddressBytesToString(wlanBssEntry.dot11Bssid); string ssid = Encoding.ASCII.GetString(wlanBssEntry.dot11Ssid.SSID, 0, (int)wlanBssEntry.dot11Ssid.SSIDLength); int rssi = wlanBssEntry.rssi; if (rssi > 0) { rssi -= 255; } Reading reading = new Reading(mac, ssid, rssi); readingList.Add(reading); } readingList.Sort(); } catch { // Do nothing. } } return(scan); }
public override bool Equals(object obj) { bool equals = false; if (obj != null && (obj is WifiInterface)) { WifiInterface comparedObject = (WifiInterface)obj; equals = (this.ID.Equals(comparedObject.ID) && this.Description.Equals(comparedObject.Description) && this.MACAddress.Equals(comparedObject.MACAddress)); } return(equals); }