2012-04-16 07:57:40 +0000 2012-04-16 07:57:40 +0000
40
40

Cómo detectar la velocidad (fast o gigabit ethernet) 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 determinado adaptador de red, que se puede ver al abrir el “estado” de una conexión de red en Windows:

Sin embargo, quiero consultar esto a través de la línea de comandos 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 la tarjeta de red “Speed/Duplux” es siempre “Auto Negotiate”, por lo que no puedo saber qué “Speed” obtendré.

Respuestas (4)

63
63
63
2012-04-16 08:18:22 +0000

Prueba esta consulta WMI:

wmic NIC where NetEnabled=true get Name, Speed

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

Editar: como se ha señalado, esta consulta tiene que ser modificado para trabajar en PowerShell (funciona bien en cmd.exe sin embargo). Por otra parte, en PowerShell no es necesario utilizar WMI en absoluto:

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

Como ventaja, esto da la velocidad en un formato agradable y legible para los humanos (por ejemplo, “1 Gbps”), en lugar del número de bits por segundo.

6
6
6
2016-06-04 00:36:35 +0000

De la respuesta de Indrek:

wmic NIC where NetEnabled=true obtener Nombre, Velocidad

funcionará en el Símbolo del sistema. Para PowerShell use:

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

(La cláusula where, y cualquier atributo get (como Nombre y Velocidad), deben estar encerrados entre comillas dobles y delimitados por comas).

// Edición #1: La expresión GET Nombre,Velocidad tiene que estar encerrada dentro de un solo conjunto de comillas dobles. Las expresiones Get no pueden tener un espacio entre ellas

2
2
2
2015-04-16 16:15:45 +0000

Me gustaría contribuir a su parte. Si necesitas ejecutar sed en Windows, puedes descargar UnxUtils, y luego extraer sed.exe en c:\Windows\System32

Luego, al pipetear 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/
-1
-1
-1
2018-09-26 20:55:48 +0000

También puedes utilizar:

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