Wireshark (antes conocido como Ethereal) es un analizador de protocolos utilizado para realizar análisis y solucionar problemas en redes de comunicaciones, para análisis de datos y protocolos, y como una herramienta didáctica. Cuenta con todas las características estándar de un analizador de protocolos de forma únicamente hueca.
La funcionalidad que provee es similar a la de tcpdump, pero añade una interfaz gráfica y muchas opciones de organización y filtrado de información. Así, permite ver todo el tráfico que pasa a través de una red (usualmente una red Ethernet, aunque es compatible con algunas otras) estableciendo la configuración en modo promiscuo. También incluye una versión basada en texto llamada tshark.
Permite examinar datos o de un archivo de captura salvado en disco. Se puede analizar la información capturada, a través de los detalles y sumarios por cada paquete. Wireshark incluye un completo lenguaje para filtrar lo que queremos ver y la habilidad de mostrar el flujo reconstruido de una sesión de TCP.
A fines de la década de 1990, Gerald Combs, un graduado en informática de la Universidad de Misuri-Kansas City, trabajaba para un pequeño proveedor de servicios de Internet. Los productos de análisis de protocolos comerciales en ese momento tenían un precio de $1500[1] y no se ejecutaban en las plataformas principales de la compañía que Gerald trabajaba (Solaris y Linux), por lo que éste comenzó a escribir Ethereal y lanzó la primera versión alrededor de 1998.[2] La marca comercial Ethereal es propiedad de Network Integration Services.
En mayo de 2006, Combs aceptó un trabajo en CACE Technologies. Combs todavía tenía derechos de autor sobre la mayoría del código fuente de Ethereal (y el resto era se podía distribuir bajo la GPL de GNU), por lo que utilizó los contenidos del repositorio Subversion de Ethereal como base para el repositorio de Wireshark. Tuvo que cambiar el nombre a Wireshark ya que no poseía la marca Ethereal registrada a su nombre.[3] En 2010, Riverbed Technology compró CACE[4] y se hizo cargo como patrocinador principal de Wireshark. El desarrollo de Ethereal ha cesado, y el consejo de seguridad de Ethereal recomendó cambiar a Wireshark.[5]
Wireshark ha ganado varios premios[6] de la industria a lo largo de los años, incluidos eWeek,[7] InfoWorld[8] y PC Magazine,[9] entre otros.[10][11][12][13] También es el analizador de paquetes mejor calificado en la encuesta[14] de herramientas de seguridad de red en Insecure.Org y fue el Proyecto del mes[15] de SourceForge en agosto de 2010.
Combs continúa manteniendo el código general de Wireshark y administra las nuevas versiones del software. El sitio web del producto enumera más de 600 autores contribuyentes adicionales.
Puede leer archivos de captura de más de veinte productos.
Puede traducir protocolos TCP IP.
Genera TSM y SUX momentáneamente.
Seguridad
Para capturar paquetes directamente de la interfaz de red, generalmente se necesitan permisos de ejecución especiales. Es por esta razón que Wireshark es ejecutado con permisos de superusuario. Tomando en cuenta la gran cantidad de analizadores de protocolo que posee, los cuales son ejecutados cuando un paquete llega a la interfaz, el riesgo de un error en el código del analizador podría poner en riesgo la seguridad del sistema (como por ejemplo permitir la ejecución de código externo). Por esta razón el equipo de desarrolladores de OpenBSD decidió quitar Ethereal antes del lanzamiento de la versión 3.6.[16]
Una alternativa es ejecutar tcpdump o dumpcap que viene en la distribución de Wireshark en modo Superusuario, para capturar los paquetes desde la interfaz de red y almacenarlos en el disco, para después analizarlos ejecutando Wireshark con menores privilegios y leyendo el archivo con los paquetes para su posterior análisis.
Esta herramienta es fundamental para la actividad de análisis de tráfico. Wireshark permite, entre otras cosas, lo siguiente:[17]
Capturar tramas directamente desde la red.
Mostrar y filtrar las tramas capturadas.
Editar las tramas y transmitirlas por la red.
Capturar tramas desde un ordenador remoto.
Realizar análisis y estadísticas.
Realizar todo tipo de filtrados (de captura y de visualización).
Exportación de las capturas o de lo filtrado hacia diferentes formatos.
Realizar todo tipo de seguimiento de flujos, parámetros o patrones de tráfico.
A continuación se presentan algunas imágenes con ejemplos de su uso.
Primer ejemplo de cómo seguir un flujo TCP con Wireshark:
Segundo ejemplo de cómo seguir un flujo TCP con Wireshark:
Cómo se puede apicar un Filtro de Visualización con Wireshark:
Cómo se pueden exportar todo tipo de tramas filtradas en diferentes formatos:
Se presentan a continuación una serie de videos sobre un ciclo de Análisis de tráfico que pueden ser de mucha utilidad para quien desee profundizar en el uso de esta herramienta:
No es un sistema de detección de intrusos. No advierte cuando un intruso hace algo «extraño» en la red a la cual está accediendo. Sin embargo, si pasan situaciones extrañas, Wireshark puede ayudar a descubrir qué es lo que está pasando.[18]
No manipula datos, solamente inspecciona y mide los paquetes de la red. Wireshark no envía paquetes a la red o realiza otras actividades activas (exceptuando la resolución de nombres, la cual se puede desactivar). Por este motivo, puede considerarse como un analizador de protocolos pasivo (no actúa sobre la red).