Notas: red Linux (captura de 4 paquetes)

        ------------ tcpdump ---------------
            Formato:
                tcpdump [opción] [expresión]
            opción:
                opción de captura de paquetes:
                    -c: especificar para capturar el numero de paquetes.
                    -i interfaz: especifique la interfaz que tcpdump necesita monitorear. De forma predeterminada, se obtendrá la primera interfaz de red.
                    -N: la dirección se muestra numéricamente; de ​​lo contrario, es explícitamente el nombre del host, lo que significa que la opción -n no realiza la resolución del nombre del host.
                    -nn: además de la función de -n, el puerto también se muestra como un número; de lo contrario, se muestra el nombre del servicio del puerto.
                    -P: especifique si el paquete que se capturará es un paquete entrante o saliente. Los valores dados son "in", "out" e "inout", y el valor predeterminado es "inout".
                    -s len: establece la longitud de captura del paquete de datos tcpdump en len, si no se establece, el valor predeterminado será 65535 bytes.
                    
                Opciones de salida:
                    -e: Cada línea de la salida incluirá información de encabezado de la capa de enlace de datos, como MAC de origen y MAC de destino.
                    -q: Impresión rápida. Es decir, se imprime poca información relacionada con el protocolo, por lo que las líneas de salida son relativamente cortas.
                    -X: Los datos del encabezado del paquete de salida se emitirán en los modos hexadecimal y ASCII al mismo tiempo.
                    -XX: Los datos del encabezado del paquete de salida se emitirán en los modos hexadecimal y ASCII al mismo tiempo, con más detalle.
                    -v: Produce una salida detallada al analizar e imprimir.
                    -vv: produce una salida más detallada que -v.
                    -vvv: produce una salida más detallada que -vv.

                Otras opciones funcionales:
                    -D: enumera las interfaces que se pueden usar para capturar paquetes. Se enumerarán el número numérico y el nombre de la interfaz de la interfaz, los cuales se pueden usar después de "-i".
                    -F: Lee la expresión del paquete capturado del archivo. Si se usa esta opción, todas las demás expresiones dadas en la línea de comando no serán válidas.
                    -w: envía los datos capturados a un archivo en lugar de la salida estándar. Puede utilizar la
                    opción "-G" "tiempo" al mismo tiempo para que el archivo de salida cambie automáticamente a otro archivo cada segundo. Estos archivos se pueden cargar con la opción "-r" para su análisis e impresión.
                    -r: lee datos del archivo de paquete dado. Utilice "-" para leer desde la entrada estándar

            expresión expresión
                == Un formato básico de unidad de expresión es "proto dir tipo ID" ==
                Para la sintaxis de expresión, consulte pcap-filter [sintaxis pcap-filter-packet filter]
                type
                    host, net, port, portrange
                    Por ejemplo: host 192.168. 201.128, net 128.3, port 20, portrange 6000-6008
                target dir
                    src, dst, src o dst, src y dst
                protocol proto
                    tcp, udp, icmp, si no se proporciona el tipo de protocolo, coincidirá con todos los tipos posibles
                = = Expresión las unidades se pueden conectar con el operador "y / && / o / || / not /!" Para formar una expresión condicional compleja ==. Por ejemplo, "host foo y no puerto ftp y no puerto ftp-data", lo que significa que el paquete de datos filtrado debe satisfacer "Paquete cuyo host es foo y el puerto no es ftp (puerto 21) y ftp-data (puerto 20) "
                Además, se puede omitir el mismo modificador. Por ejemplo, "tcp dst port ftp or ftp-data or domain" tiene el mismo significado que "tcp dst port ftp o tcp dst port ftp-data o tcp dst port domain", que significa que el protocolo del paquete es tcp y el puerto de destino es ftp o ftp-data o domain (puerto 53).
                Use paréntesis "()" para cambiar la precedencia de la expresión, pero debe tenerse en cuenta que el shell interpretará los paréntesis, por lo que debe usar una barra invertida "" para escapar a "()". Cuando sea necesario, también es necesario rodearlo entre comillas.

            Ejemplos:
                1. Inicie
                    tcpdump de
                    forma predeterminada. De forma predeterminada, iniciar tcpdump directamente supervisará todos los paquetes de datos que fluyen en la primera interfaz de red (no en el puerto lo). Esto dará como resultado una gran cantidad de búsqueda y el desplazamiento es muy rápido.
                    
                2. Supervisar los paquetes de datos de la interfaz de red especificada
                    tcpdump -i ens33
                3. Supervisar los paquetes de datos del host especificado, como todos los paquetes de datos que entran o salen del nodo1
                    tcpdump -i ens33 host nodo1
                    
                4. Imprimir nodo1 <--> nodo2 o node1 <- -> Paquete de datos
                    tcpdump para la comunicación entre node3 -i ens33 host node1 y \ (node2 o node3 \)
                    
                5. Imprima el paquete IP para la comunicación entre node1 y cualquier otro host, pero no incluye el paquete
                    tcpdump entre node1 y node4 -i ens33 host node1 y no node4
                    
                6. Interceptar todos los datos enviados por host node1
                    tcpdump -i ens33 src host node1
                    
                7. Monitorear todos los paquetes de datos enviados al host node1
                    tcpdump -i ens33 dst host node1
                    
                8. Monitorear los paquetes de datos del host y puerto especificados
                    tcpdump -i ens33 puerto 8080 y host node1
                    
                9. Monitorear los paquetes de datos de la red especificada , como esta máquina y los paquetes de datos de comunicación del segmento de red 192.168, "-c 10" significa que solo se capturan 10 paquetes
                    tcpdump -i ens33 -c 10 net 192.168
                    
                10. Imprima todos los paquetes ftp que pasan por el gateway snup
                    tcpdump'gateway snup y (puerto ftp o ftp) -data) '
                    Tenga en cuenta que la expresión está entre comillas simples, lo que puede evitar que el shell analice los paréntesis incorrectamente

                11. Tome el paquete de ping
                    tcpdump -c 5 -nn -i ens33 

                    == Especifique el host para capturar el paquete de ping ==
                    tcpdump -c 5 -nn -i eth0 icmp y src 192.168.100.62
                    
                12. Capture el paquete local de 22 puertos
                    tcpdump -c 10 -nn -i ens33 tcp dst port 22
                    
                13. Paquete de análisis de datos
                    tcpdump -c 2 -q -XX -vvv -nn -i ens33 tcp dst puerto 22
                
                14. Encabezado de solicitud HTTP:
                    tcpdump -i eth0 puerto 80 -s 1024 -l -A
                        -A Muestra cada uno de los datos en el paquete de código ASCII (la información del encabezado de la capa de enlace en el paquete no se mostrará). Al capturar el paquete de datos que contiene los datos de la página web, es conveniente ver los datos (nt: útil para capturar páginas web).
                        -l Hacer el búfer de salida estándar El formato de línea
                        -s snaplen snaplen representa el número de bytes interceptados de un paquete. 0 significa que el paquete no está truncado y que se captura el paquete de datos completo. De forma predeterminada, tcpdump solo muestra parte del paquete de datos, que es de 68 bytes por defecto.
                                        
            Análisis de resultados:
                [S] significa que se trata de una solicitud SYN
                [.] Significa que se trata de un paquete de confirmación ACK, (cliente) SYN -> (servidor) SYN -> (cliente) ACK es el proceso de protocolo de enlace de 3 vías
                [P] significa que es un envío de datos, se puede enviar desde el servidor al cliente, o desde el cliente al servidor
                [F] significa que este es un paquete FIN, es una operación de cierre de conexión, el cliente / servidor puede iniciar
                [R] significa que esto es un RST La función del paquete es la misma que el paquete F, pero RST indica que cuando se cierra la conexión, todavía hay datos que no se procesan. Puede entenderse como un
                
                ejemplo de cortar la conexión a la fuerza , verifique el envío de datos http iniciado por esta máquina:
                    tcpdump -i `ifconfig | grep -B1 inet | grep flags | awk '{print $ 1}' | tr -d ': '| head -1 `-nn -P out tcp y no port 22 | grep' \ [P '
                    
        --------------- tshark / ngrep --------- ----- -
            URL de solicitud http de impresión en tiempo real (incluido el nombre de dominio)
                tshark 512 -i eth0 -n -s -f 'Puerto TCP 80 DST' -R & lt 'http.host y http.request.uri '-T Campos -e http. Host -e http. 
                    A continuación se describe el significado de los parámetros:
                        -s 512: captura solo los primeros 512 bytes de datos
                        -i eth0: captura la tarjeta de red eth0
                        -n: desactiva la resolución de nombre de objeto de red
                        -f'tcp dst puerto 80 ': captura solo el protocolo como tcp, puerto de destino 80 paquetes
                        -R'http.host y http.request.uri ': filtra los campos http.host y http.request.uri
                        -T -e http.host -e http.request.uri: imprime http. host Y http.request.uri
                        -l: salida a salida estándar e
            imprime la declaración de consulta mysql actual en tiempo real
                tshark -s 512 -i eth0 -n -f'tcp dst port 3306 '-R'mysql.query' -T campos -e mysql.
                    A continuación se describe el significado de los parámetros de la consulta :
                        -s 512: captura solo los primeros 512 bytes de datos
                        -i eth0: captura la tarjeta de red eth0
                        -n: deshabilita la resolución del nombre del objeto de red                         -f'tcp
                        dst port 3306 ': captura solo los paquetes de datos cuyo protocolo es tcp y el puerto de destino es 3306
-R'mysql.query': filtra mysql. query
                        -T fields -e mysql.query: Imprime la declaración de consulta de mysql.
                        tshark usa -f para especificar las reglas de filtrado de paquetes de captura. Las reglas son las mismas que las de tcpdump, que se pueden verificar con el comando man pcap-filter.
                        tshark usa -R para filtrar los paquetes capturados, lo cual es consistente con el filtro en la esquina superior izquierda de la placa de interfaz wirehark        
            ngrep:
                ngrep -i -qd eth0 -W byline'http 'host 172.17.1.111
                ngrep -i -q - d cualquier -W byline 'tomca-xxx'
                    -q modo silencioso, los paquetes que no coincidan no se imprimirán todo el tiempo #
                    -d especifica la tarjeta de red
                    -W byline print newline; los parámetros disponibles son ninguno, imprimir detalles, pero no ajustar
                    -i ignorar mayúsculas y minúsculas
                    -v revertir para que coincida con
                    ' http ' Aquí está la cadena http correspondiente, puede usar el
                    host de expresión regular 172.17.1.111 para especificar solo agarrando Obtener el paquete de un anfitrión

Supongo que te gusta

Origin blog.csdn.net/weixin_42573277/article/details/113858433
Recomendado
Clasificación