elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [Ejemplo] Utilizando Namespace NetworkInformation
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ejemplo] Utilizando Namespace NetworkInformation  (Leído 1,823 veces)
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
[Ejemplo] Utilizando Namespace NetworkInformation
« en: 16 Abril 2012, 14:19 pm »

Buenas tardes a todos,

bueno hoy tuve un rato mañanero libre y me puse a investigar por cuenta propia las clases del Namespace Networkinformation. Básicamente me recuerda al mítico comando ipconfig, que si te esmeras programando es como teclear ipconfig /all para listar todas las propiedades de los adaptadores de red.

Bueno lo que hace este sencillo ejemplo es listar todas las interfaces de Red, despues se pide ingresar un número que concuerde con una de las interfaces del menu y acto seguido se recogen las propiedades en un método y se muestran. Cabe decir que si no estás conectado a la red pues poca información obtendrás de la interfaz. Os dejo una screen de como queda.



Source:

Código
  1. Imports System.Net.NetworkInformation
  2. Imports System.Text
  3. Imports System.Net
  4. Module Module1
  5.    Private Sub Enumerar_Interfaces()
  6.        Dim InterfazRed() As NetworkInterface = NetworkInterface.GetAllNetworkInterfaces
  7.        For i As Int32 = 0 To InterfazRed.Length - 1
  8.            If InterfazRed(i).Name.Contains("Loopback") Then
  9.            Else
  10.                Console.WriteLine(i & ")" & InterfazRed(i).Name)
  11.            End If
  12.        Next
  13.        Console.WriteLine()
  14.        Obtener_Propiedades(InterfazRed)
  15.    End Sub
  16.    Private Sub Obtener_Propiedades(ByVal InterfazRed() As NetworkInterface)
  17.        Dim k As Int32 = 0
  18.        Console.WriteLine("Introduce un indice para visualizar las propiedades del adaptador deseado")
  19.        k = Int32.Parse(Console.ReadLine())
  20.        If k >= 0 And k <= 9 Then
  21.            Console.Clear()
  22.            Console.WriteLine("Nombre de la Interfaz: " & InterfazRed(k).Name)
  23.            Console.WriteLine("{0} " & InterfazRed(k).Speed / 1000000 & " {1}", "Velocidad Adaptador:", _
  24.                              "Mbps")
  25.            Console.WriteLine("Descripción: " & InterfazRed(k).Description)
  26.            Console.WriteLine("GUID: " & InterfazRed(k).Id)
  27.            Dim operativo As OperationalStatus = InterfazRed(k).OperationalStatus
  28.            Select Case operativo
  29.                Case 1
  30.                    Console.WriteLine("Estado: Conectado")
  31.                    Dim PropiedadesIp As IPInterfaceProperties = InterfazRed(k).GetIPProperties
  32.                    With PropiedadesIp
  33.                        For Each unicast As UnicastIPAddressInformation In .UnicastAddresses
  34.                            If unicast.Address.AddressFamily = Sockets.AddressFamily.InterNetwork Then
  35.                                Console.WriteLine("Dirección IPv4: " & unicast.Address.ToString)
  36.                                Console.WriteLine("Máscara de Subred: " & unicast.IPv4Mask.ToString)
  37.                            Else
  38.                                Console.WriteLine("Direccion IPv6: " & unicast.Address.ToString)
  39.                            End If
  40.                        Next
  41.                        Console.Write("Servidor DHCP: ")
  42.                        For Each dhcp As IPAddress In .DhcpServerAddresses
  43.                            Console.WriteLine(dhcp)
  44.                        Next
  45.                        Console.WriteLine("Servidores DNS:")
  46.                        For Each servidor As IPAddress In .DnsAddresses
  47.                            Console.WriteLine(servidor)
  48.                        Next
  49.                        Console.Write("Puerta de Enlace: ")
  50.                        For Each gateway As GatewayIPAddressInformation In .GatewayAddresses
  51.                            Console.WriteLine(gateway.Address)
  52.                        Next
  53.                        Console.Write("Direccion Multicast: ")
  54.                        For Each multicast As MulticastIPAddressInformation In .MulticastAddresses
  55.                            Console.WriteLine(multicast.Address)
  56.                        Next
  57.                    End With
  58.                Case 2
  59.                    Console.WriteLine("Estado: Desconectado")
  60.            End Select
  61.            Dim MACByte As Byte() = InterfazRed(k).GetPhysicalAddress.GetAddressBytes
  62.            Dim MAC As String = Nothing
  63.            For Each byteMac As Byte In MACByte
  64.                MAC += Hex((byteMac)) & ":"
  65.            Next
  66.            Console.WriteLine("MAC: " & MAC.Remove(MAC.Length - 1, 1) & vbNewLine)
  67.        Else
  68.            Console.Clear()
  69.            Main()
  70.        End If
  71.    End Sub
  72.    Sub Main()
  73.        Try
  74.            Enumerar_Interfaces()
  75.        Catch ex As Exception
  76.        End Try
  77.        Console.Read()
  78.    End Sub
  79. End Module
  80.  

Saludos.


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
NameSpace Environment.
.NET (C#, VB.NET, ASP)
Robokop 3 2,933 Último mensaje 15 Julio 2006, 18:28 pm
por songless
codigo fuente de ejemplo, Kardex utilizando PEPS o UEPS
Programación General
MiguelCG88 0 11,158 Último mensaje 23 Noviembre 2011, 00:42 am
por MiguelCG88
Quiero una ejemplo de un programa utilizando herramientas como While-Do while
Programación C/C++
Carlotexx 6 4,182 Último mensaje 5 Diciembre 2011, 16:07 pm
por Hurubnar
Error con el using namespace std; [Solucionado]
Programación C/C++
Danyel_Casvill 8 9,866 Último mensaje 20 Abril 2013, 19:03 pm
por Danyel_Casvill
Uso de NameSpace
Programación C/C++
Yugget 2 1,634 Último mensaje 28 Junio 2014, 16:51 pm
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines