示例#1
0
        private void OnTimedEvent(object source, ElapsedEventArgs e)
        {
            lstNetworks.Items.Clear();

            WlanClient client = new WlanClient();
            String testo1 = "--->Cattura fatta in: " + posizione.Text + " in data " + System.DateTime.Now.ToString() + "\r\n";
            if (posizione.Text == "")
            {
                MessageBox.Show("inserisci il posto per proseguire");
                return;
            }
            foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
            {

                Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList(0);

                Wlan.WlanAvailableNetwork ava = new NativeWifi.Wlan.WlanAvailableNetwork();

                Wlan.WlanBssEntry[] wlanBssEntries = wlanIface.GetNetworkBssList();
                foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries)
                {

                    byte[] macAddr = wlanBssEntry.dot11Bssid;
                    var macAddrLen = (uint)macAddr.Length;
                    var str = new string[(int)macAddrLen];
                    for (int i = 0; i < macAddrLen; i++)
                    {
                        str[i] = macAddr[i].ToString("x2");
                    }
                    string mac = string.Join("", str);
                    mac = " wlanBssEntry: " + wlanBssEntry.dot11Ssid.ToString() + " dot11BssPhyType: " + wlanBssEntry.dot11BssPhyType.ToString() + " frequenza khz " + wlanBssEntry.chCenterFrequency.ToString() + " capabilityInformation " + wlanBssEntry.capabilityInformation.ToString() + " beaconPeriod: " + wlanBssEntry.beaconPeriod.ToString() + " MAC: " + mac + "\r\n";

                    System.IO.File.AppendAllText("catture.txt",mac);
                   // MessageBox.Show(mac);
                }

                //MessageBox.Show("fine");

                foreach (Wlan.WlanAvailableNetwork network in networks)
                {
                    Wlan.Dot11Ssid ssid = network.dot11Ssid;
                    string networkName = Encoding.ASCII.GetString(ssid.SSID, 0, (int)ssid.SSIDLength);
                    //ListViewItem item = new ListViewItem(networkName);
                    //item.SubItems.Add(network.dot11DefaultCipherAlgorithm.ToString());
                    //item.SubItems.Add(network.wlanSignalQuality + "%");
                    //item.SubItems.Add(network.dot11BssType.ToString());
                    //item.SubItems.Add(network.dot11DefaultAuthAlgorithm.ToString());
                    //item.SubItems.Add(network.dot11DefaultCipherAlgorithm.ToString());
                    //item.SubItems.Add(network.flags.ToString());
                    //item.SubItems.Add(network.GetHashCode().ToString());
                    //item.SubItems.Add(network.GetType().ToString());
                    //item.SubItems.Add(network.morePhyTypes.ToString());
                    //item.SubItems.Add(network.networkConnectable.ToString());
                    //item.SubItems.Add(network.numberOfBssids.ToString());
                    //item.SubItems.Add(network.profileName.ToString());
                    //item.SubItems.Add(network.securityEnabled.ToString());
                    //item.SubItems.Add(network.wlanNotConnectableReason.ToString());

                    string testo = testo1 + "  nome rete: " + networkName + " potenza segnale: " + network.wlanSignalQuality + "% HashCode:" + network.GetHashCode().ToString() + " Bssid: "+ network.numberOfBssids.ToString() + "\r\n";
                    testo1 = "   ";
                    System.IO.File.AppendAllText("catture.txt", testo);

                    //lstNetworks.Items.Add(item);
                }
                client.chiudi();
            }
        }