¿Cómo obtener las direcciones IP y las direcciones MAC correspondientes de múltiples tarjetas de red?
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);
}