ver tengo tarjetas tarjeta saber para listar levantar interfaz interfaces cuantas configurar como comando activar c# ip-address network-interface

c# - tengo - ver interfaces de red linux debian



¿Cómo obtengo la interfaz de red y su dirección IPv4 correcta? (2)

Necesito saber cómo obtener todas las interfaces de red con su dirección IPv4 . O simplemente inalámbrico y Ethernet.

Para obtener todos los detalles de las interfaces de red utilizo esto:

foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) { if(ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet) { Console.WriteLine(ni.Name); } }

Y para obtener todas las direcciones IPv4 alojadas de la computadora:

IPAddress [] IPS = Dns.GetHostAddresses(Dns.GetHostName()); foreach (IPAddress ip in IPS) { if (ip.AddressFamily == AddressFamily.InterNetwork) { Console.WriteLine("IP address: " + ip); } }

Pero, ¿cómo obtener la interfaz de red y su dirección ipv4 correcta?


Con algunas mejoras, este código agrega cualquier interfaz a una combinación:

private void LanSetting_Load(object sender, EventArgs e) { foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) { if ((nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet) || (nic.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)) //&& (nic.OperationalStatus == OperationalStatus.Up)) { comboBoxLanInternet.Items.Add(nic.Description); } } }

Y al seleccionar uno de ellos, este código devuelve la dirección IP de la interfaz:

private void comboBoxLanInternet_SelectedIndexChanged(object sender, EventArgs e) { foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) { foreach (UnicastIPAddressInformation ip in nic.GetIPProperties().UnicastAddresses) { if (nic.Description == comboBoxLanInternet.SelectedItem.ToString()) { if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { MessageBox.Show(ip.Address.ToString()); } } } } }


foreach(NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) { if(ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet) { Console.WriteLine(ni.Name); foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses) { if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { Console.WriteLine(ip.Address.ToString()); } } } }

Esto debería conseguirte lo que quieres. ip.Address es una dirección IP, que desea.