Wireshark es una herramienta fundamental tanto para formarse como para realizar diagnósticos en entornos de red reales, así que instalarla en tu PC con Windows y descubrir que no encuentra ninguna interfaz de red puede ser una desagradable sorpresa más común de lo que podría parecer.
Wireshark utiliza WinPcap (Windows Packet Capture) como librería para capturar paquetes y su instalación está incluída opcionalmente en el proceso de instalación del propio Wireshark, por lo que si hemos declinado su instalación previamente lo primero que deberíamos intentar es bien reinstalar Wireshark y aceptar la instalación de WinPcap, bien instalar WinPcap por separado.
Por otra parte, WinPcap utiliza el driver NPF (Netgroup Packet Filter) para realizar el esnifado y el trabajo de captura de los paquetes. NPF se carga a través del servicio del mismo nombre, servicio que debería arrancar bajo demanda al iniciarse Wireshark. Para ver el estado del servicio abrimos una consola de línea de comandos en modo Administrador. Podemos hacerlo de unos cuantos modos, por ejemplo:
- Si pulsamos la tecla de Windows y escribimos "cmd" debería aparecernos entre las aplicaciones posibles el "Símbolo del sistema", pulsando con el botón derecho sobre la aplicación aparece la opción "Ejecutar como administrador".
- Pulsando la tecla de Windows conjuntamente con la letra X, o pulsando con el botón derecho sobre el símbolo de Windows en la barra de tareas, se desplegará un menú donde directamente tendremos la opción "Símbolo del sistema (administrador)".
Una vez iniciada la consola podemos ver el estado del servicio NPF con los comandos sc query npf y sc qc npf :
C:\WINDOWS\system32>sc query npf
NOMBRE_DE_SERVICIO: npf
TIPO : 1 KERNEL_DRIVER
ESTADO : 1 STOPPED
CÓDIGO_DE_SALIDA_DE_WIN32 : 1077 (0x435)
CÓDIGO_DE_SALIDA_DEL_SERVICIO: 0 (0x0)
PUNTO_DE_CONTROL : 0x0
ESPERA : 0x0
C:\WINDOWS\system32>sc qc npf
[SC] QueryServiceConfig CORRECTO
NOMBRE_SERVICIO: npf
TIPO : 1 KERNEL_DRIVER
TIPO_INICIO : 3 DEMAND_START
CONTROL_ERROR : 1 NORMAL
NOMBRE_RUTA_BINARIO: system32\drivers\npf.sys
GRUPO_ORDEN_CARGA :
ETIQUETA : 0
NOMBRE_MOSTRAR : NetGroup Packet Filter Driver
DEPENDENCIAS :
NOMBRE_INICIO_SERVICIO:
Por defecto el servicio estará parado y el modo de arranque es "bajo demanda", lo que significa que arranca cuando es invocado por alguna aplicación. Lo peor es que es posible que iniciar Wireshark de manera normal no arranque el servicio NPF. Para solucionar el problema tenemos dos opciones:
- Arrancar el servicio manualmente con el comando sc start npf :
C:\WINDOWS\system32>sc start npf
NOMBRE_SERVICIO: npf
TIPO : 1 KERNEL_DRIVER
ESTADO : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
CÓD_SALIDA_WIN32 : 0 (0x0)
CÓD_SALIDA_SERVICIO: 0 (0x0)
PUNTO_COMPROB. : 0x0
INDICACIÓN_INICIO : 0x0
PID : 0
MARCAS :
- Arrancar Wireshark como Administrador, en cuyo caso el servicio NPF sí arranca correctamente:
Wireshark volverá a detectar las interfaces de red de la máquina en ambos casos (puede ser necesario refrescar la detección de interfaces pulsando F5 o en el menú Capture > Refresh Interfaces):
Para no tener que repetir el proceso cada vez que reiniciamos la máquina podemos bien hacer que el servicio arranque con el inicio de la máquina, bien hacer que Wireshark arranque siempre bajo permisos de administrador:
- Para hacer que el servicio arranque siempre con el inicio de la máquina debemos ejecutar el comando sc config npf start=system :
C:\WINDOWS\system32>sc config npf start=system
[SC] ChangeServiceConfig CORRECTO
Podemos ver el cambio en el estado del servicio:
C:\WINDOWS\system32>sc qc npf
[SC] QueryServiceConfig CORRECTO
NOMBRE_SERVICIO: npf
TIPO : 1 KERNEL_DRIVER
TIPO_INICIO : 1 SYSTEM_START
CONTROL_ERROR : 1 NORMAL
NOMBRE_RUTA_BINARIO: system32\drivers\npf.sys
GRUPO_ORDEN_CARGA :
ETIQUETA : 0
NOMBRE_MOSTRAR : NetGroup Packet Filter Driver
DEPENDENCIAS :
NOMBRE_INICIO_SERVICIO:
- Para hacer que Wireshark arranque siempre bajo permisos de administrador modificamos las propiedas del ejecutable, que por defecto se encuentra en C:\Program Files\Wireshark\Wireshark.exe, pulsando con el botón derecho sobre él y eligiendo "Propiedades". Bajo la pestaña "Compatibilidad" marcamos "Ejecutar este programa como administrador":
Excelente artículo (además de que me fue muy útil)
ResponderEliminarMuchas gracias
:( no me sirve ya estaba activo
ResponderEliminarExcelente artículo 10/10 me funcionó a la perfección.
ResponderEliminarGracias.
Gracias. No se puede explicar mejor!
ResponderEliminarMuy buen artículo. Muchas gracias!
ResponderEliminardice cmd que no encuentra el archivo y ejecutandolo como administrador sigue sin interfases
ResponderEliminarGracias, le diste justo al clavo para resolver mi problema, le indique al instalador que no arrancara el wincap al mismo tiempo que wireshark y por eso no me aparecían las interfaces
ResponderEliminarNo me detecta npf...
ResponderEliminarYo he tenido que instalar los drivers del NPF de esta web porque no me aparecía habilitado el servidor:
ResponderEliminarhttps://www.winpcap.org/install/default.htm
Después he reiniciado y siguiendo las instrucciones todo perfecto!
Muchas gracias!
tuve que hacer lo mismo.
Eliminargracias!
gracias amigo me funciono, de ahora en adelante siempre comentare las soluciones muchas gracias de verdad
EliminarNPF activo, Wireshark como administrador y sigue sin detectar interfaces de red.
ResponderEliminarGENIAL
ResponderEliminarGracias me funciono.
ResponderEliminarMuchisimas gracias amigo
ResponderEliminarSimplemente instalando el WinPcap funciono :)
Me reconoce mi tarjeta de red comun y la de virtual box
Gracias!!!!!!!!!!!!!!!!!!!
intente todo y no jalaba con tu comentario fue mas que suficiente ya me funciono correctamente el wireshark buen aporte bro
EliminarA los que no les funcionó pueden intentar con npcap en lugar de npf en todos los comandos (sustituir esa palabra)
ResponderEliminarDiciembre 2022, lo solucione también con la opción que dio DavidDro, primero instale Winpcap y posteriormente seguir las instrucciones del manual, gracias!
ResponderEliminar