Cómo detectar la velocidad (ethernet rápida o gigabit) de una conexión de red a través de la línea de comandos de Windows

Cómo detectar la velocidad (ethernet rápida o gigabit) de una conexión de red a través de la línea de comandos de Windows

Para solucionar un problema de red, me gustaría consultar la "velocidad" real de la red para un adaptador de red determinado, que se puede ver al abrir el "estado" de una conexión de red en Windows: Ajuste de velocidad

Sin embargo, quiero consultar esto a través de la línea de comando o con una pequeña herramienta separada porque necesito solicitar esto para múltiples conexiones de red y no confío en que el usuario obtenga la información correctamente. La configuración de "Velocidad/Duplux" de la tarjeta de red siempre es "Negociación automática", por lo que no puedo saber qué "Velocidad" obtendré.

Respuesta1

Pruebe esta consulta WMI:

wmic NIC where NetEnabled=true get Name,Speed

Eso debería darle la velocidad de todas las conexiones de red activas.

Editar: como se ha señalado, esta consulta debe modificarse para que funcione en PowerShell (aunque funciona bien en cmd.exe). Por otra parte, en PowerShell no es necesario utilizar WMI en absoluto:

Get-NetAdapter | where Status -eq "Up" | select InterfaceDescription, LinkSpeed

Como beneficio adicional, esto proporciona la velocidad en un formato agradable y legible por humanos (por ejemplo, "1 Gbps"), en lugar del número de bits por segundo.

Respuesta2

De la respuesta de Indrek:

wmic NIC donde NetEnabled=true obtiene nombre, velocidad

funcionará en el símbolo del sistema. Para uso de PowerShell:

wmic NIC where "NetEnabled='true'" get "Name,Speed"

(Eldóndecláusula y cualquierconseguiratributo (como Nombre y Velocidad), debe estar entre comillas dobles y delimitado por comas).

// Edición #1: GET expresión Nombre, Velocidad debe estar entre comillas dobles. Las expresiones de obtención pueden no tener un espacio entre ellas.

Respuesta3

Me gustaría contribuir con tu parte. Si necesita ejecutar sed en Windows, puede descargar UnxUtils y luego extraer sed.exe en c:\Windows\System32

Luego, cuando canalizas con sed como sugeriste, funciona. (Windows 8.1)

Gracias.

wmic NIC where NetEnabled=true get Name, Speed | sed -e s/000000000/Gbit/ | sed -e s/000000\b/Mbit/

Respuesta4

También puedes usar:

cat /sys/class/net/enp6s0/speed

O cuando es eth0, para determinar su velocidad de conexión (100 o 1000):

cat /sys/class/net/eth0/speed

información relacionada