Red de conocimiento informático - Conocimiento informático - ¿Cómo obtener las direcciones IP y las direcciones MAC correspondientes de múltiples tarjetas de red?

¿Cómo obtener las direcciones IP y las direcciones MAC correspondientes de múltiples tarjetas de red?

El primero:

Private void GetIP()

{

String hostName = Dns. get hostname(); //Nombre local

//System. Net.IPAddress[] lista de direcciones = Dns. GetHostByName(nombre de host). lista de direcciones; // avisará que GetHostByName() ha caducado, lo ejecuto y solo devuelve una dirección IPv4.

Sistema. Net.IPAddress[] lista de direcciones = Dns. GetHostAddresses(hostname); //Se devolverán todas las direcciones, incluidas IPv4 e IPv6.

foreach(dirección IP en la lista de direcciones)

{

Cuadro de lista 1. Items.Add(ip.ToString());

}

}

Segundo tipo:

Cadena estática GetLocalIp ()

{

Nombre de host de cadena = Dns. get hostname(); //Obtener el nombre local

//IPHostEntry localhost = Dns. GetHostByName(hostname); //El método ha caducado y solo se obtiene la dirección IPv4.

& ltSPAN style="ESPACIO EN BLANCO: pre " >& lt/SPAN>. IPHostEntry localhost = DNS. GetHostEntry(nombre de host);

Dirección IP localaddr = localhost. Lista de direcciones[0];

Devuelve localaddr. ToString();

}

Tercer tipo:

String strUrl = "Enlace al sitio web que proporciona consulta de IP";

Uri uri = nuevo Uri(strUrl);

webreq = WebRequest. crear(uri);

flujos = webreq. Obtener respuesta(). GetResponseStream();

StreamReader sr = nuevo StreamReader(s, codificación. default);

string all = ReadToEnd(); todo. index of("["+1);

//Analiza la cadena para obtener la IP.

Volver a IP;

/*

¿Yo uso /getip.php? action = getip & ampip _ url = & ampfrom=web

Este tipo de enlace es fácil de encontrar. Baidu "IP" obtiene algunos sitios web, que puede obtener analizando los enlaces del sitio web.

Los datos devueltos son:

& ltdiv class="well " >& ltp & gtIP actual:

Simplemente analice este párrafo.

*/

Cuarto:

Anulación privada GetIP6()

{

Proceso cmd = newProcess( );

cmd. StartInfo . FileName = "ipconfig. exe" //Establece el nombre del programa

cmd. StartInfo . Argumentos = "/all "; //Parámetros

//Redireccionar salida estándar

cmd.

StartInfo . redirigir salida estándar = true;

cmd. StartInfo .RedirectStandardInput = verdadero;

cmd. StartInfo.UseShellExecute = false;

cmd. StartInfo . CreateNoWindow = true//No mostrar la ventana (el programa de la consola es una pantalla negra)

//cmd. Estilo de ventana StartInfo = ProcessWindowStyle. Hide; //Aún no sé lo que significa

/*

Recógelo y prepárate.

Acerca de: Cómo mostrar ProcessWindowStyle. ¿Esconderse tras esconderse?

hwndWin32Host = Win32Native. FindWindow(null, win32 exinfo. nombre de windows);

Win32Native. ShowWindow(hwndWin32Host, 1); //FindWindow encuentra ShowWindow antes de mostrarlo.

*/

cmd. start();

Información de cadena = cmd. salida estándar . ReadToEnd();

cmd. esperar a salir();

cmd. close();

Cuadro de texto 1. AppendText(información);

}