Wireshark es un analizador de tráfico de red, o "sniffer", para Linux, macOS, *BSD y otros sistemas operativos de UNIX y UNIX y para Windows. Utiliza QT, una biblioteca gráfica de interfaz de usuario y libpcap y npcap como bibliotecas de captura y filtrado de paquetes.
La distribución de Wireshark también viene con Tshark, que es un sniffer orientado a línea (similar a Sun's Snoop o TCPDump) que utiliza la misma disección, lectura y escritura de archivos de captura, y código de filtrado de paquetes como Wireshark, y con EditCap, que es un Programa para leer archivos de captura y escribir los paquetes de ese archivo de captura, posiblemente en un formato de archivo de captura diferente, y con algunos paquetes posiblemente eliminados de la captura.
El hogar oficial de Wireshark es https://www.wireshark.org.
La última distribución se puede encontrar en el subdirectorio https://www.wireshark.org/download
El proyecto Wireshark construye y prueba regularmente en las siguientes plataformas:
Los paquetes de instalación oficiales están disponibles para Microsoft Windows y MacOS.
Está disponible como un paquete estándar o complementario para muchos sistemas operativos populares y distribuciones de Linux, incluidas Debian, Ubuntu, Fedora, Centos, Rhel, Arch, Gentoo, OpenSuse, FreeBSD, Dragonfly BSD, NetBSD y OpenBSD.
Además, está disponible a través de muchos sistemas de embalaje de terceros como PKGSRC, OpenCSW, Homebrew y MacPorts.
Debería funcionar en otros sistemas Unix-ish sin demasiados problemas.
En algunos casos, la versión actual de Wireshark podría no admitir su sistema operativo. Este es el caso de Windows XP, que es compatible con Wireshark 1.10 y anterior. En otros casos, el paquete estándar para Wireshark podría ser simplemente viejo. Este es el caso de Solaris y HP-UX.
Se necesita Python 3 para construir Wireshark. Se requiere asciidoctor para construir la documentación, incluidas las páginas de hombre. Se requieren Perl y Flex para generar parte del código fuente.
Por lo tanto, debe instalar Python 3, Asciidoctor y GNU "Flex" (Vanilla "Lex" no funcionará) en sistemas que los carecen. Es posible que también deba instalar Perl.
Las instrucciones de instalación completas se pueden encontrar en el archivo de instalación y en la guía del desarrollador en https://www.wireshark.org/docs/wsdg_html_chunked/
Ver también el readme apropiado. Archivos del sistema operativo para instrucciones de instalación específicas del sistema operativo.
Para capturar paquetes de la red, debe hacer que el programa Dumpcap se seta a root o debe tener acceso a la entrada apropiada en /dev
si su sistema está inclinado (sistemas derivados de BSD y sistemas como Solaris y HP-UX que admiten DLPI, generalmente entran en esta categoría). Aunque podría ser tentador hacer que los ejecuciones de Wireshark y Tshark setuid root, o ejecutarlos como root, no lo hagan. El proceso de captura se ha aislado en Dumpcap; Es menos probable que este programa simple contenga agujeros de seguridad y, por lo tanto, es más seguro ejecutarse como root.
Consulte la página del hombre para obtener una descripción de cada opción de línea de comandos y característica de interfaz.
Wireshark puede leer paquetes de varios tipos de archivos diferentes. Consulte la página de Wireshark Man o la Guía del usuario de Wireshark para obtener una lista de formatos de archivo compatibles.
Wireshark puede leer transparentemente versiones comprimidas de cualquiera de esos archivos si la biblioteca de compresión requerida estaba disponible cuando se compiló Wireshark. Los formatos de compresión compatibles actualmente son:
GZIP y LZ4 (cuando usan bloques independientes, que es el valor predeterminado) admiten una búsqueda aleatoria rápida, que ofrece un rendimiento de la GUI mucho mejor en archivos grandes. Cualquiera de estos formatos de compresión se puede deshabilitar en el tiempo de compilación pasando la opción correspondiente a cmake, es decir, cmake -DENABLE_ZLIB=OFF
, cmake -DENABLE_LZ4=OFF
o cmake -DENABLE_ZSTD=OFF
.
Aunque Wireshark puede leer archivos AIX IPTRACE, la documentación en el comando IPTRACE PACKET-TRACE de AIX es escasa. El comando iptrace
inicia un demonio que debes matar para detener el rastro. A través de la experimentación, parece que enviar una señal HUP a ese demonio iptrace provoca un apagado elegante y se escribe un paquete completo en el archivo de rastreo. Si se guarda un paquete parcial al final, Wireshark se quejará al leer ese archivo, pero podrá leer todos los demás paquetes. Si esto ocurre, avísele a los desarrolladores de Wireshark en [email protected]; Asegúrese de enviarnos una copia de ese archivo de seguimiento si es pequeño y contiene datos no sensibles.
El soporte para productos Lucent/Ascend se limita a la salida de traza de depuración generada por la serie de productos MAX y Pipline. Wireshark puede leer la salida de los comandos wandsession
, wandisplay
, wannext
y wdd
.
Wireshark también puede leer la salida de traza de volcado de la línea de enrutadores ISDN de Toshiba de los enrutadores ISDN (TR-600 y TR-650). Puede telnet al enrutador e iniciar una sesión de volcado con snoop dump
.
Wireshark también puede leer la salida de depuración L2 L2. Para obtener la salida de depuración L2, primero ingrese el modo Diags y luego use los comandos create-pkt-log-profile
y apply-pkt-lozg-profile
en la categoría de capa-2. Para obtener más detalle sobre cómo usar estos comandos, ¿debe examinar el comando de ayuda por layer-2 create ?
o layer-2 apply ?
.
Para usar los trazas de Lucent/Ascend, Toshiba y Cosine con Wireshark, debe capturar la salida de rastreo en un archivo en el disco. El rastro está ocurriendo dentro del enrutador y el enrutador no tiene forma de guardar el rastro en un archivo para usted. Una manera fácil de hacer esto en Unix es ejecutar telnet <ascend> | tee <outfile>
. O, si su sistema tiene instalado el comando "script", puede guardar una sesión de shell, incluida Telnet, en un archivo. Por ejemplo, registrar un archivo llamado TraceFile.out:
$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>
Wireshark intentará usar capacidades de resolución de nombre inverso al decodificar los paquetes IPv4 e IPv6.
Si desea desactivar la resolución de nombre mientras usa Wireshark, inicie Wireshark con la opción -n
para desactivar toda la resolución de nombres (incluida la resolución de direcciones MAC y los números de puerto TCP/UDP/SMTP a los nombres) o con la opción -N mt
a Desactive la resolución de nombre para todas las direcciones de capa de red (IPv4, IPv6, IPX).
Puede hacer que la configuración predeterminada abriendo el cuadro de diálogo Preferencias utilizando el elemento de preferencias en el menú Editar, seleccionando "Resolución de nombres", apagando las opciones de resolución de nombre apropiadas y haciendo clic en "Aceptar".
Wireshark puede hacer una decodificación básica de los paquetes SNMP; También puede usar la biblioteca Libsmi para hacer una decodificación más sofisticada leyendo archivos MIB y utilizando la información en esos archivos para mostrar OID y valores de enlace variables de manera más amigable. CMake determinará automáticamente si tiene la biblioteca Libsmi en su sistema. Si tiene la biblioteca Libsmi pero no quiere que Wireshark lo use, puede ejecutar CMake con la opción -DENABLE_SMI=OFF
.
Wireshark está en desarrollo constante, por lo que es posible que encuentre un error mientras lo usa. Informe errores en https://gitlab.com/wireshark/wireshark/-/issues. Asegúrese de ingresar al error:
La información de compilación completa del elemento "Acerca de Wireshark" en el menú Ayuda o la salida de wireshark -v
para Wireshark Bugs y la salida de tshark -v
para Bugs Tshark;
Si el error ocurrió en Linux, la distribución de Linux que estaba usando y la versión de esa distribución;
El comando que usó para invocar Wireshark, si ejecutó Wireshark desde la línea de comandos, o Tshark, si ejecutó Tshark, y la secuencia de operaciones que realizó que hizo que apareciera el error.
Si el error es producido por un archivo de seguimiento en particular, asegúrese de adjuntar al archivo de rastreo de errores junto con su descripción de error. Si el archivo de seguimiento contiene información confidencial (por ejemplo, contraseñas), entonces no lo envíe.
Si Wireshark murió sobre usted con una 'violación de segmentación', 'error de bus', 'abortar' u otro error que produce un archivo de volcado de unix nore, puede ayudar a los desarrolladores mucho si tiene un depurador instalado. Se puede obtener un rastro de pila utilizando su depurador ('GDB' en este ejemplo), el binario Wireshark y el archivo central resultante. Aquí hay un ejemplo de cómo usar el comando GDB 'Backtrace' para hacerlo.
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
El archivo de volcado central puede llamarse "wireshark.core" en lugar de "núcleo" en algunas plataformas (por ejemplo, sistemas BSD). Si obtienes un vertedero de núcleo con Tshark en lugar de Wireshark, usa "Tshark" como el primer argumento para el depurador; El volcado central puede llamarse "tshark.core".
Wireshark se distribuye bajo el GNU GPLV2. Consulte el archivo de copia del texto completo de la licencia. En caso de duda, el texto completo es la parte legalmente vinculante. Estas notas son solo para facilitar las personas que no están familiarizadas con el GPLV2.
No hay restricciones en su uso. Hay restricciones en su distribución en forma o forma binaria.
La mayoría de las partes de Wireshark están cubiertas por una licencia "GPL versión 2 o posterior". Algunos archivos están cubiertos por diferentes licencias que son compatibles con el GPLV2.
Como una excepción notable, algunas utilidades distribuidas con la fuente de Wireshark están cubiertas por otras licencias que no son directamente compatibles con el GPLV2. Esto está bien, ya que solo las herramientas en sí tienen licencia de esta manera, la salida de las herramientas no se considera un trabajo derivado y, por lo tanto, se puede licenciar de manera segura para el uso de Wireshark. Una selección incompleta de estas herramientas incluye:
Partes de Wireshark se pueden construir y distribuir como bibliotecas. Estas piezas todavía están cubiertas por la GPL, y no por la licencia pública general menor o cualquier otra licencia.
Si integra todo o parte de Wireshark en su propia aplicación y opta por publicarla o liberarlo, entonces el trabajo combinado debe lanzarse bajo los términos del GPLV2.
No hay garantía, expresada o implícita, asociada con este producto. Use bajo su propio riesgo.
Gerald Combs [email protected]
Gilbert Ramirez [email protected]
Guy harris [email protected]