none
[Resolvido]Monitorar conexoes IP com C#

    Question

  • Olá, 

     

    Preciso  mfazer uma solução em Windows Forms para monitorar minhas conexôes de  rede local e Internet.

    Basicamente preciso saber quais as conexões existentes, se estas estão conectadas e quanto usuários estão conectados a estas redes.

     

    Alguem pode me dar uma  "Luz"?

     

     

     

     


    http://fparmezani.wordpress.com
    Wednesday, December 07, 2011 3:47 PM

Answers

  • Voce pode usar o WMI que possui uma linguagem de querys chamada WQL que realiza querys a computadores remotos buscando informações das mais diversas possíveis. A exibição dessas informações pode ser feita no formato que voce desejar.

    Da uma olhada no link: http://www.csharphelp.com/2006/10/wmi-made-easy-for-c/


    Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo
    Wednesday, December 07, 2011 7:23 PM
  • Olá Pessoal,

     

    Para quem precisar aqui vai a minha solução.

    Tenho um aparelho (quase igual a um PC) e este roda um Servidor Windows 2003.

    Este aparelho emite um sinal de Wireless e Consequentemente se conecta também a ele mesmo.

    Precisava verificar se o sinal emitido estava ok.  ou seja, se os usuários que se conectam a este aparelho conseguiam navegar na aplicação WEB, gerenciada por ele.

    A "grande sacada" estava em que este código abaixo  funciona para WIN2003 e como estava testando no Win 7, ai travava tudo.

     

    Consegui realizar esta consulta utilizando esta documentação:

    http://www.scriptinternals.de/new/us/Support/Internal/WMI_MSNdis_80211_ReceivedSignalStrength.htm

    E aqui esta o código para quem mais precisar, 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Management;
    
    
    
    namespace Wifi_2
    {
        class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
    
                    ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
    
                    string result = "";
    
                    //ManagementObjectCollection queryCollection = searcher.Get();
    
                    foreach (ManagementObject obj in searcher.Get())
                    {
                        if ((bool)obj["Active"] == true)
                        {
                            result += "Sinal:" + (string)obj["Ndis80211ReceivedSignalStrength"].ToString() + Environment.NewLine;
                            result += "Ativo :" + (string)obj["Active"].ToString() + Environment.NewLine;
                            result += "Nome da Instancia :" + (string)obj["InstanceName"].ToString() + Environment.NewLine;
                        }
                    }
    
                    if (result == "")
                    {
                        result = "Não foram encontrados Adatpatores Wifi!";
                    }
    
                    Console.WriteLine(result);
                }
                catch (Exception)
                {
    
                    Console.WriteLine("Erro na aplicação");
                }
    
                Console.ReadLine();
    
    
            }
        }
    }
    

    Obrigado pela ajuda e espero que este ajude outros amigos, 

     

    Abraços

     

     

     

     

     

     

     


    http://fparmezani.wordpress.com
    Monday, December 19, 2011 1:59 PM

All replies

  • Voce pode usar o WMI que possui uma linguagem de querys chamada WQL que realiza querys a computadores remotos buscando informações das mais diversas possíveis. A exibição dessas informações pode ser feita no formato que voce desejar.

    Da uma olhada no link: http://www.csharphelp.com/2006/10/wmi-made-easy-for-c/


    Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo
    Wednesday, December 07, 2011 7:23 PM
  • Obrigado Vinicius, Voce tem mais algum modelo para me enviar como exemplo? Fico grato Obrigado
    http://fparmezani.wordpress.com
    Wednesday, December 07, 2011 9:21 PM
  • Olá Vinicius, 

     

    Estou ainda tentando resolver o Problema para listar as conexões, 

     

    Verifiquei seu artigo, mas ainda tenho algumas restrições,   por exemplo, este sistema vai ficar um um Servidor e não posso registrar DLL por exemplo.

    Veja o exemplo aqui

    http://social.msdn.microsoft.com/Forums/pt/vscsharppt/thread/9d54c8cc-affb-458b-8833-b852aed02203

    Ou este processo.

    http://social.msdn.microsoft.com/Forums/pt/vscsharppt/thread/6f4a7696-ea28-4569-a9a4-5e9429544c12

     

    O que preciso é

    Verficar se a Conexao "X"  existe e se esta habilitada, 

     

    Alguem mais tem dicas?

    Agradeço antecipadamente!

     

     

     

     

     

     

     

     


    http://fparmezani.wordpress.com
    Wednesday, December 14, 2011 5:19 PM
  • Amigos, 

    Encontrei este artigo na Microsoft sobre esta classe, 

    Ela fala sobre o ManagementObjectSearcher  e com este posso realizar uma consultar sobre as redes disponíveis, 

     

    Alguem sabe me dizer qual a SELECT para isto?

     

    http://msdn.microsoft.com/pt-br/library/system.management.managementobjectsearcher.aspx

     

    Grato

     

     

     


    http://fparmezani.wordpress.com
    Friday, December 16, 2011 12:47 PM
  • Oi Pessoal,  

     

    Alguém pode dar uma "luz"?

     


    http://fparmezani.wordpress.com
    Monday, December 19, 2011 12:30 PM
  • Olá Pessoal,

     

    Para quem precisar aqui vai a minha solução.

    Tenho um aparelho (quase igual a um PC) e este roda um Servidor Windows 2003.

    Este aparelho emite um sinal de Wireless e Consequentemente se conecta também a ele mesmo.

    Precisava verificar se o sinal emitido estava ok.  ou seja, se os usuários que se conectam a este aparelho conseguiam navegar na aplicação WEB, gerenciada por ele.

    A "grande sacada" estava em que este código abaixo  funciona para WIN2003 e como estava testando no Win 7, ai travava tudo.

     

    Consegui realizar esta consulta utilizando esta documentação:

    http://www.scriptinternals.de/new/us/Support/Internal/WMI_MSNdis_80211_ReceivedSignalStrength.htm

    E aqui esta o código para quem mais precisar, 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Management;
    
    
    
    namespace Wifi_2
    {
        class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
    
                    ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
    
                    string result = "";
    
                    //ManagementObjectCollection queryCollection = searcher.Get();
    
                    foreach (ManagementObject obj in searcher.Get())
                    {
                        if ((bool)obj["Active"] == true)
                        {
                            result += "Sinal:" + (string)obj["Ndis80211ReceivedSignalStrength"].ToString() + Environment.NewLine;
                            result += "Ativo :" + (string)obj["Active"].ToString() + Environment.NewLine;
                            result += "Nome da Instancia :" + (string)obj["InstanceName"].ToString() + Environment.NewLine;
                        }
                    }
    
                    if (result == "")
                    {
                        result = "Não foram encontrados Adatpatores Wifi!";
                    }
    
                    Console.WriteLine(result);
                }
                catch (Exception)
                {
    
                    Console.WriteLine("Erro na aplicação");
                }
    
                Console.ReadLine();
    
    
            }
        }
    }
    

    Obrigado pela ajuda e espero que este ajude outros amigos, 

     

    Abraços

     

     

     

     

     

     

     


    http://fparmezani.wordpress.com
    Monday, December 19, 2011 1:59 PM