Exemple #1
0
        /* Lists connected networks by profile */
        public List <string> NetworksByProfileList(NET_FW_PROFILE_TYPE2_ profile, NetworkConnectivityLevels level = NetworkConnectivityLevels.All)
        {
            List <string>   networks    = new List <string>();
            NetworkCategory profileName = NetworkCategory.Public;

            switch (profile)
            {
            case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_DOMAIN:
                profileName = NetworkCategory.Authenticated;
                break;

            case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE:
                profileName = NetworkCategory.Private;
                break;

            case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC:
                profileName = NetworkCategory.Public;
                break;
            }

            //Install-Package WindowsAPICodePack-Core
            NetworkCollection nCollection = NetworkListManager.GetNetworks(level);

            foreach (Network net in nCollection)
            {
                if (net.Category == profileName)
                {
                    networks.Add(net.Name);
                }
            }
            return(networks);
        }
Exemple #2
0
 public void FetchNetworkInfo()
 {
     INetworkClient  networkInformation  = new NetworkInformation();
     ConnectionInfo  connectionInfo      = networkInformation.ConnectionInfo;
     string          wifiSSID            = connectionInfo.WlanInfo.SSID;
     bool            isPasswordProtected = connectionInfo.WlanInfo.IsSecured;
     NetworkCategory category            = connectionInfo.WlanInfo.NetworkCategory;
     bool            isPublicNetwork     = category == NetworkCategory.Public;
     string          lanName             = connectionInfo.LanInfo.Name;
 }
        public IActionResult GetUserNetworkCategory()
        {
            // sp_getUserNetworkCategory


            string errorMessage         = "";
            bool   isError              = false;
            List <NetworkCategory> cats = new List <NetworkCategory>();
            NpgsqlConnection       conn = new NpgsqlConnection(_connstrWallet);

            conn.Open();
            try
            {
                NpgsqlCommand cmd = new NpgsqlCommand("sp_getusernetworkcategory", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                NpgsqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    NetworkCategory nc = new NetworkCategory();

                    nc.CategoryId = reader.GetInt32(0);
                    nc.Category   = reader.GetString(1);
                    cats.Add(nc);
                }
                reader.Dispose();
            }
            catch (Exception ex)
            {
                isError      = true;
                errorMessage = "Database related Error";
            }
            finally
            {
                conn.Close();
            }

            if (isError)
            {
                ErrorObject ro = new ErrorObject();
                ro.message = errorMessage;
                ro.error   = true;
                return(Json(ro));
            }

            return(Json(cats));
        }
Exemple #4
0
        public Dictionary <string, List <string> > NetworksByProfileDict(NET_FW_PROFILE_TYPE2_ profile, NetworkConnectivityLevels level = NetworkConnectivityLevels.All)
        {
            var networks = new Dictionary <string, List <string> >();

            //populate interface lookup
            var adapterLookup = new Dictionary <string, string>();

            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface adapter in adapters)
            {
                //from:{E46DFF2D-EB92-4A84-A0D3-01DDD2DC041E}
                //  to: e46dff2d-eb92-4a84-a0d3-01ddd2dc041e
                logger.Debug("Adapter: {0}={1}", adapter.Id.ToLower().Replace("{", "").Replace("}", ""), adapter.Name);
                adapterLookup.Add(adapter.Id.ToLower().Replace("{", "").Replace("}", ""), adapter.Name);
            }

            NetworkCategory profileName = NetworkCategory.Public;

            switch (profile)
            {
            case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_DOMAIN:
                profileName = NetworkCategory.Authenticated;
                break;

            case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE:
                profileName = NetworkCategory.Private;
                break;

            case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC:
                profileName = NetworkCategory.Public;
                break;
            }

            /*
             * NetworkCollection nCollection2 = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All);
             * foreach (Network net in nCollection2)
             * {
             *  if (net.IsConnected || net.IsConnectedToInternet)
             *  {
             *      Console.WriteLine(String.Format("CONNECTED: {0} {1} {2} {3}", net.Name, net.Category, net.DomainType, net.IsConnectedToInternet));
             *  }
             *  else
             *  {
             *      Console.WriteLine(String.Format("Not connected: {0} {1} {2} {3}", net.Name, net.Category, net.DomainType, net.IsConnectedToInternet));
             *  }
             * }
             */

            //Install-Package WindowsAPICodePack-Core
            NetworkCollection nCollection = NetworkListManager.GetNetworks(level);

            foreach (Network net in nCollection)
            {
                logger.Debug("Network: {0}={1}", net.Name, net.Category);
                if (net.Category == profileName)
                {
                    var netAdapters = new List <string>();
                    var conns       = net.Connections;
                    if (conns.Count() == 0)
                    {
                        logger.Debug("No active connections for network");
                    }
                    foreach (var c in conns)
                    {
                        if (adapterLookup.ContainsKey(c.AdapterId.ToString()))
                        {
                            logger.Debug("Found adapter: {0}", adapterLookup[c.AdapterId.ToString()]);
                            netAdapters.Add(adapterLookup[c.AdapterId.ToString()]);
                        }
                        else
                        {
                            logger.Debug("Unknown adapter: {0}", c.AdapterId.ToString());
                            netAdapters.Add("Unknown");
                        }
                    }

                    networks.Add(net.Name, new List <string>());
                    foreach (var na in netAdapters)
                    {
                        networks[net.Name].Add(na);
                    }
                }
            }
            return(networks);
        }