Este artículo presenta otra herramienta útil de captura de paquetes, Wireshark, utilizada para obtener paquetes de datos de red, incluidos HTTP, TCP, UDP y otros paquetes de protocolo de red.
Recuerdo que aprendí el tres veces protocolo de apretón de manos TCP cuando estaba en la universidad. En ese momento, sabía que aunque había leído muchos materiales TCP y UDP en el libro, nunca había visto estos paquetes de datos. Siempre sentí que estaba flotando en la nube y no estaba aprendiendo constantemente. Con Wireshark, estos paquetes de red se pueden interceptar y cada campo en el paquete se puede ver claramente. Puede profundizar aún más nuestra comprensión de los protocolos de red.
Para mí, Wireshark es la mejor herramienta para aprender protocolos de red.
Contenido de lectura
Introducción a Wireshark
Sitio web de descarga oficial de Wireshark: http://www.wireshark.org/
Wireshark es un software de análisis de paquetes de red muy popular con funciones muy potentes. Se pueden interceptar varios paquetes de red y se puede mostrar información detallada de los paquetes de red.
Wireshark es un software de código abierto que se puede usar con confianza. Puede ejecutarse en Windows y Mac OS.
Las personas que usan Wireshark deben comprender el protocolo de red, de lo contrario no entenderán Wireshark.
Lo que Wireshark no puede hacer
Por razones de seguridad, Wireshark solo puede ver el paquete, pero no puede modificar el contenido del paquete o enviar el paquete.
Wireshark vs Fiddler
Fiddler es un programa que se ejecuta en Windows, utilizado específicamente para capturar HTTP y HTTPS.
Wireshark puede obtener HTTP y HTTPS, pero no puede descifrar HTTPS, por lo que Wireshark no puede entender el contenido en HTTPS.
En resumen, si está utilizando HTTP, HTTPS o FIDDLER, otros protocolos como TCP y UDP, use Wireshark
Otras herramientas del mismo tipo
Monitor de red de Microsoft
oledor
¿Quién usaría Wireshark?
1. Los administradores de la red utilizarán Wireshark para verificar los problemas de la red
2. Los ingenieros de pruebas de software usan Wireshark para capturar paquetes para analizar el software que probaron
3. Los ingenieros dedicados a la programación de socket utilizarán Wireshark para depurar
4. Escuché que la mayoría de los ingenieros de Huawei y ZTE usan Wireshark.
En resumen, Wireshark se puede usar para cosas relacionadas con Internet.
Wireshark comienza a agarrar
Iniciar la interfaz
Wireshark es un paquete de red que captura una determinada tarjeta de red en la máquina. Cuando hay varias tarjetas de red en su máquina, debe elegir una tarjeta de red.
Haga clic en CapuTre-> Interfaces. Aparece el siguiente cuadro de diálogo y seleccione la tarjeta de red correcta. Luego haga clic en el botón "Inicio" para comenzar a agarrar
Introducción de la ventana de Wireshark
Wireshark se divide principalmente en estas interfaces
1. Filtro de visualización, utilizado para filtrar
2. Panel de lista de paquetes (lista de paquetes), muestra el paquete capturado, la dirección activa y la dirección de destino, y el número de puerto. Diferentes colores representan
3. Panel de detalles del paquete (detalles del paquete), mostrando campos en el paquete
4. Panel disector (datos hexadecimales)
5. Varios (barra de direcciones, diversa)
Filtrado de pantalla de Wireshark
Usar el filtrado es muy importante. Cuando los principiantes usan Wireshark, obtendrán mucha información redundante, lo cual es muy difícil de encontrar la parte que necesitan en miles o incluso decenas de miles de registros. Me mareo.
Los filtros nos ayudarán a encontrar rápidamente la información que necesitamos en una gran cantidad de datos.
Hay dos tipos de filtros.
Uno es el filtro de visualización, que es el que está en la interfaz principal, utilizado para encontrar los registros requeridos en los registros capturados.
Uno es un filtro de captura, que se utiliza para filtrar paquetes capturados para evitar capturar demasiados registros. Configuración en Captura -> Filtros de captura
Guardar filtro
En la columna del filtro, después de completar la expresión del filtro, haga clic en el botón Guardar y dale un nombre. Por ejemplo, "Filtrar 102",
Hay un botón adicional "Filtro de 102" en la barra de filtro.
Reglas para filtrar expresiones
Reglas de expresión
1. Filtrado de protocolo
Por ejemplo, TCP solo muestra el protocolo TCP.
2. Filtrado de IP
Por ejemplo, IP.SRC == 192.168.1.102 muestra que la dirección fuente es 192.168.1.102.
IP.DST == 192.168.1.102, la dirección de destino es 192.168.1.102
3. Filtrado de puerto
tcp.port == 80, puerto 80
tcp.srcport == 80, solo muestra que el puerto de deseos del protocolo TCP es 80.
4. Filtrado en modo HTTP
http.request.method == "Get", solo muestra el método HTTP GET.
5. El operador lógico es y/o
Expresiones de filtro de uso común
| Expresiones de filtro | usar |
| http | Ver solo los registros del protocolo HTTP |
| ip.src == 192.168.1.102 o ip.dst == 192.168.1.102 | La dirección de origen o la dirección de destino es 192.168.1.102 |
Panel de la lista de paquetes
La lista de paquetes muestra el número, la marca de tiempo, la dirección de origen, la dirección de destino, el protocolo, la longitud y la información del paquete en el panel. Puede ver que diferentes protocolos se muestran en diferentes colores.
También puede modificar estas reglas de visualización de colores, Ver -> Reglas de coloración.
Panel de detalles de paquetes
Este panel es nuestro más importante para ver cada campo del protocolo.
La información en cada línea es
Marco: descripción general de los marcos de datos para la capa física
Ethernet II: Información del encabezado de la trama Ethernet de la capa de enlace de datos
Protocolo de Internet Versión 4: Información del encabezado del paquete IP de la capa de Internet
Protocolo de control de transmisión: la información del encabezado del segmento de datos de la capa de transporte T, aquí está TCP
Protocolo de transferencia de hipertexto: información de la capa de aplicación, aquí está el protocolo HTTP
Wireshark y el modelo de siete capas OSI correspondiente
Contenido específico del paquete TCP
De la figura a continuación, puede ver cada campo en el paquete TCP capturado por Wireshark.
Análisis de ejemplo del proceso de apretón de manos TCP TCP
Al ver esto, básicamente he ganado una comprensión preliminar de Wireshak. Ahora veamos un ejemplo de TCP tres veces apretón de manos.
El tres veces proceso de apretón de manos es
He visto esta imagen muchas veces. Esta vez usamos Wireshark para analizar realmente el proceso de tres apretones de manos.
Abra Wireshark, abra el navegador e ingrese http://www.cnblogs.com/Tankxiao
Ingrese http para filtrar en wireshark, luego seleccione el registro de get /tankxiao http /1.1, haga clic con el botón derecho y haga clic en "Siga la transmisión TCP",
El propósito de esto es obtener los paquetes de datos relacionados con la apertura del sitio web por el navegador. Obtendrás la siguiente imagen
En la figura, puede ver que Wireshark interceptó tres paquetes de datos de tres apretones de manos. El cuarto paquete es HTTP, que muestra que HTTP usa TCP para establecer conexiones.
Packet de primer apretón de manos
El cliente envía un TCP con el syn de bits de bandera y el número de serie es 0, lo que representa la solicitud del cliente para establecer una conexión. La siguiente figura
Paquete de datos para el segundo apretón de manos
El servidor envía el paquete de confirmación, el indicador es SYN y ACK. Establezca el número de confirmación (número de reconocimiento) en el ISN Plus 1 del cliente 1. Es decir, 0+1 = 1, como se muestra en la figura a continuación
El paquete de datos para el tercer apretón de manos
El cliente envía el paquete de reconocimiento (ACK) nuevamente. El bit de indicador SYN es 0 y el bit de bandera ACK es 1. Y el servidor envía el campo Número ACK +1 y pone el campo de confirmación a la otra parte. Y coloca el +1 del ISN en el segmento de datos, como se muestra en la figura a continuación:
De esta manera, el apretón de manos TCP se pasó tres veces y se estableció la conexión.
Lo anterior es la introducción básica a Wireshark y el aprendizaje TCP tres veces. Continuaremos organizando el conocimiento relevante en el futuro. ¡Gracias por su apoyo para este sitio!