Tcpdump es un comando utilizado en varios sistemas operativos Linux (OS) que reúne paquetes TCP / IP que pasan a través de un adaptador de red. Al igual que una herramienta de búsqueda de paquetes, tcpdump no solo puede analizar el tráfico de la red, sino que también puede guardarlo en un archivo.
A diferencia de algunos comandos que proporciona el sistema operativo de forma predeterminada, es posible que no pueda usar tcpdump porque no está instalado. Para instalar tcpdump, ejecute apt-get install tcpdump o yum instala tcpdump, dependiendo de tu sistema operativo.
Cómo funciona Tcpdump
Tcpdump imprime los encabezados de los paquetes en una interfaz de red que coincida con el Booleano. expresión . También se puede ejecutar con el-w indicador, que hace que guarde los datos del paquete en un archivo para su posterior análisis, y / o con la-r indicador, que hace que lea un archivo de paquete guardado en lugar de leer paquetes desde una interfaz de red. En todos los casos, solo los paquetes que coincidan expresión será procesado por tcpdump .
Tcpdump será, si no se ejecuta con el-do indicador, continúe capturando paquetes hasta que sea interrumpido por una señal SIGINT (generada, por ejemplo, escribiendo su carácter de interrupción, normalmente Ctrl + C) o una señal SIGTERM (generada típicamente con elmatar(1) comando); si se ejecuta con el-do indicador, capturará paquetes hasta que sea interrumpido por una señal SIGINT o SIGTERM o hasta que se haya procesado el número especificado de paquetes.
Los interruptores mencionados anteriormente se explican en detalle más adelante en este artículo.
Cuando tcpdump Finaliza la captura de paquetes, reportará conteos de:
- Paquetes "recibidos por filtro".
- El significado de esto depende del sistema operativo en el que se está ejecutando tcpdump , y posiblemente en la forma en que se configuró el sistema operativo. Si se especificó un filtro en la línea de comandos, en algunos sistemas operativos cuenta los paquetes independientemente de si coincidieron con la expresión del filtro, y en otros cuenta solo los paquetes que coincidieron con la expresión del filtro y fueron procesados por tcpdump
- Paquetes "dropeados por el kernel".
- Este es el número de paquetes que se eliminaron, debido a la falta de espacio de almacenamiento intermedio, por el mecanismo de captura de paquetes en el sistema operativo en el que tcpdump se está ejecutando, si el sistema operativo informa esa información a las aplicaciones. Si no, será reportado como 0.
En las plataformas que admiten la señal SIGINFO, como la mayoría de los BSD (Berkeley Software Distributions), informará esos conteos cuando reciba una señal SIGINFO (generada, por ejemplo, escribiendo su carácter de "estado", típicamente Ctrl + T) y continuará capturando paquetes.
Compatibilidad Tcpdump
La lectura de paquetes desde una interfaz de red con el comando tcpdump puede requerir que tenga privilegios especiales ( leyendo un archivo de paquete guardado no requiere tales privilegios):
- SunOS 3.xo 4.x con NIT o BPF: Debes tener acceso de lectura a / dev / nit o dev / bpf * .
- Solaris con DLPI: Debe tener acceso de lectura / escritura al pseudo dispositivo de red, como / dev / le . En al menos algunas versiones de Solaris, sin embargo, esto no es suficiente para permitir tcpdump capturar en modo promiscuo; en esas versiones de Solaris, debe ser root, o tcpdump debe instalarse setuid en root para capturar en modo promiscuo. Tenga en cuenta que, en muchas (quizás todas) las interfaces, si no captura en modo promiscuo, no verá ningún paquete saliente, por lo que una captura no realizada en modo promiscuo puede no ser muy útil.
- HP-UX con DLPI: Debes ser root o tcpdump Se debe instalar setuid a root.
- IRIX con espionaje: Debes ser root o tcpdump Se debe instalar setuid a root.
- Linux: Debes ser root o tcpdump Se debe instalar setuid a root.
- Ultrix y Digital UNIX / Tru64 UNIX: Cualquier usuario puede capturar tráfico de red con tcpdump . Sin embargo, ningún usuario (ni siquiera el superusuario) puede capturar en modo promiscuo en una interfaz a menos que el superusuario haya habilitado la operación en modo promiscuo en esa interfaz usando pfconfig (8), y ningún usuario (ni siquiera el superusuario) puede capturar el tráfico de unidifusión recibido o enviado por la máquina en una interfaz a menos que el superusuario haya habilitado la operación de copia en todos los modos en esa interfaz usando pfconfig , asi que útil la captura de paquetes en una interfaz probablemente requiera que la operación en modo promiscuo o en modo copiar todo, o ambos modos de operación, estén habilitados en esa interfaz.
- BSD: Debes tener acceso de lectura a / dev / bpf * .
Sintaxis del comando tcpdump
Al igual que todos los comandos de computadora, el comando tcpdump funciona correctamente solo si la sintaxis es correcta:
tcpdump -adeflnNOpqRStuvxX -do contar
-DO tamaño del archivo -F expediente
-yo interfaz -metro módulo -r expediente
-s snaplen -T tipo -U usuario -w expediente
-MI algo: secreto expresión
Opciones del comando tcpdump
Estas son todas las opciones que puede usar con el comando tcpdump:
- -una: Intenta convertir direcciones de red y difusión a nombres.
- -do: Salir después de recibir contar paquetes
- -DO: Antes de escribir un paquete sin procesar en un archivo de salvar, compruebe si el archivo es actualmente más grande que tamaño del archivo y, si es así, cierre el archivo guardado actual y abra uno nuevo.Los archivos guardados después del primer archivo guardado tendrán el nombre especificado con-w bandera, con un número detrás de ella, comenzando en 2 y continuando hacia arriba. Las unidades de tamaño del archivo Son millones de bytes (1,000,000 bytes, no 1,048,576 bytes).
- -re: Vuelque el código de coincidencia de paquetes compilado en una forma legible para el ser humano a la salida estándar y deténgalo.
- -dd: Volcar código de coincidencia de paquetes comodo Fragmento del programa.
- -ddd: Volcar código de coincidencia de paquetes como números decimales (precedido por un recuento).
- -mi: Imprima el encabezado de nivel de enlace en cada línea de volcado.
- -MI: Utilizar algo: secreto Para descifrar paquetes ESP de IPsec. Los algoritmos pueden serdes-cbc, 3des-cbc, pez volador-cbc, rc3-cbc, cast128-cbconinguna. El valor predeterminado esdes-cbc. La capacidad de descifrar paquetes solo está presente si tcpdump Fue compilado con la criptografía habilitada. secreto El texto ASCII para clave secreta ESP. No podemos tomar valor binario arbitrario en este momento. La opción asume RFC2406 ESP, no RFC1827 ESP. La opción es solo para fines de depuración, y se desaconseja el uso de esta opción con una clave verdaderamente secreta. Al presentar la clave secreta de IPsec en la línea de comando, la hace visible para otros, a través de PD (1) y otras ocasiones.
- -F: Imprima las direcciones de Internet 'extranjeras' numéricamente en lugar de hacerlo simbólicamente (esta opción está destinada a evitar un daño cerebral grave en el servidor yp de Sun; por lo general, se bloquea para traducir números de Internet no locales).
- -F: Utilizar expediente como entrada para la expresión de filtro. Se ignora una expresión adicional dada en la línea de comando.
- -yo: Escucha interfaz . Si no se especifica, tcpdump busca en la lista de la interfaz del sistema la interfaz configurada más baja y con el número más bajo (excluyendo el bucle invertido). Los empates se rompen eligiendo la primera partida. En sistemas Linux con kernels 2.2 o posteriores, un interfaz el argumento de "cualquiera" se puede utilizar para capturar paquetes de todas las interfaces. Tenga en cuenta que las capturas en el dispositivo "cualquiera" no se realizarán en modo promiscuo.
- -l: Hacer línea stdout en búfer. Útil si quieres ver los datos mientras los capturas. Por ejemplo, "tcpdump -l | tee dat '' o" tcpdump -l> dat & tail -f dat ''.
- -metro: Cargar definiciones de módulo SMI MIB desde archivo módulo . Esta opción se puede usar varias veces para cargar varios módulos MIB en tcpdump .
- -norte: No convertir direcciones de host a nombres. Esto se puede utilizar para evitar búsquedas de DNS.
- -nn: No convierta números de protocolo y puerto, etc. a nombres tampoco.
- -NORTE: No imprima la calificación del nombre de dominio de los nombres de host. Por ejemplo, si le das esta bandera, entonces tcpdump imprimirá "nic" en lugar de "nic.ddn.mil".
- -O: No ejecute el optimizador de código de paquetes coincidentes. Esto es útil solo si sospecha un error en el optimizador.
- -pag: No hacer poner la interfaz en modo promiscuo. Tenga en cuenta que la interfaz puede estar en modo promiscuo por alguna otra razón; por lo tanto, '-p' no se puede usar como una abreviatura para 'ether host {local-hw-addr} o ether broadcast'.
- -q: Salida rápida (silenciosa). Imprima menos información de protocolo para que las líneas de salida sean más cortas.
- -R: Suponga que los paquetes ESP / AH se basan en una especificación anterior: RFC1825 a RFC1829. Si se especifica, tcpdump no imprimirá el campo de prevención de repetición. Dado que no hay campo de versión de protocolo en la especificación ESP / AH, tcpdump No se puede deducir la versión del protocolo ESP / AH.
- -r: Leer paquetes de expediente (que fue creado con la opción -w). Se utiliza la entrada estándar si expediente es "-''.
- -S: Imprima números de secuencia TCP absolutos, en lugar de relativos.
- -s: Snarf snaplen bytes de datos de cada paquete en lugar del valor predeterminado de 68; con el NIT de SunOS, el mínimo es en realidad 96. Sesenta y ocho bytes son adecuados para IP, ICMP, TCP y UDP, pero pueden truncar la información del protocolo del servidor de nombres y los paquetes NFS (ver más abajo). Los paquetes truncados debido a una instantánea limitada se indican en la salida con "| proto '', dónde proto es el nombre del nivel de protocolo en el que se ha producido el truncamiento. Tenga en cuenta que tomar instantáneas más grandes aumenta la cantidad de tiempo que lleva procesar paquetes y, efectivamente, disminuye la cantidad de almacenamiento en búfer de paquetes. Esto puede hacer que los paquetes se pierdan. Usted debe limitar snaplen al número más pequeño que capturará la información del protocolo que le interesa. Configuración snaplen a 0 significa usar la longitud requerida para capturar paquetes enteros.
- -T: Forzar paquetes seleccionados por " expresión "para ser interpretado el especificado tipo . Los tipos conocidos actualmente soncnfp (Protocolo Cisco NetFlow),rpc (Llamada a procedimiento remoto),rtp (Protocolo de aplicaciones en tiempo real),rtcp (Protocolo de control de aplicaciones en tiempo real),snmp (Protocolo Simple de Manejo de Red),tina (Visual Audio Tool), ywb (Pizarra blanca distribuida).
- -t: No hacer imprimir una marca de tiempo en cada línea de volcado.
- -tt: Imprima una marca de tiempo sin formato en cada línea de volcado.
- -U: Elimina privilegios de root y cambia el ID de usuario a usuario y la identificación del grupo al grupo primario de usuario .
- Nota: Red Hat Linux automáticamente elimina los privilegios al usuario "pcap '' si no se especifica nada más.
- -ttt: Imprima un delta (en microsegundos) entre la línea actual y la línea anterior en cada línea de volcado.
- -tttt: Imprima una marca de tiempo en el formato predeterminado que se ha procedido por fecha en cada línea de volcado.
- -u: Imprimir identificadores NFS no decodificados.
- -v: (Un poco más) salida verbosa. Por ejemplo, se imprimen el tiempo de vida, la identificación, la longitud total y las opciones en un paquete IP. También permite verificaciones adicionales de integridad de paquetes, como la verificación de la suma de comprobación de encabezado IP e ICMP.
- -vv: Salida aún más detallada. Por ejemplo, los campos adicionales se imprimen a partir de paquetes de respuesta NFS, y los paquetes SMB están completamente decodificados.
- -vvv: Salida aún más detallada. Por ejemplo, telnetSB … SE Las opciones están impresas en su totalidad. Con -X Las opciones de telnet también se imprimen en hexadecimal.
- -w: Escriba los paquetes crudos a expediente En lugar de analizarlos e imprimirlos. Más tarde se pueden imprimir con la opción -r. La salida estándar se utiliza si expediente es "-''.
- -X: Imprime cada paquete (menos su encabezado de nivel de enlace) en hexadecimal. El más pequeño de todo el paquete o snaplen Se imprimirán los bytes. Tenga en cuenta que este es el paquete completo de la capa de enlace, por lo que para las capas de enlace de ese pad (por ejemplo, Ethernet), los bytes de relleno también se imprimirán cuando el paquete de capa superior sea más corto que el relleno requerido.
- -X: Al imprimir hexadecimal, imprima ascii también. Asi si-X También se establece, el paquete se imprime en hex / ascii. Esto es muy útil para analizar nuevos protocolos. Incluso si-X Tampoco está configurado, algunas partes de algunos paquetes pueden imprimirse en hex / ascii.
- expresión : Selecciona qué paquetes serán volcados. Si no expresión Se da, todos los paquetes en la red serán volcados. De lo contrario, solo los paquetes para los cuales expresión Es 'verdadero' será objeto de dumping. los expresión consiste en uno o más primitivas Los primitivos suelen consistir en un carné de identidad (nombre o número) precedido por uno o más calificadores. Hay tres tipos diferentes de calificador:
- tipo : Los calificadores dicen a qué tipo de cosas se refiere el nombre de identificación o el número. Los tipos posibles sonanfitrión, redyPuerto-Por ejemplo, 'host foo', 'net 128.3', 'puerto 20'. Si no hay calificador de tipo,anfitrión se supone.
- dir : Los calificadores especifican una dirección de transferencia particular hacia y / o desde carné de identidad . Posibles direcciones sonsrc, dst, src o dst ysrc y dst (por ejemplo, 'src foo', 'dst net 128.3', 'src o dst port ftp-data'). Si no hay un calificador dir,src o dst se supone. Para las capas de enlace 'nulas' (es decir, los protocolos punto a punto como el deslizamiento) la entrante y saliente Los calificadores pueden usarse para especificar una dirección deseada.
- proto : Los calificadores restringen la coincidencia a un protocolo particular. Los posibles protos son: éter, fddi, tr, ip, ip6, arp, rarp, decnet, tcpyudp-Por ejemplo, 'ether src foo', 'arp net 128.3', 'tcp port 21'. Si no hay un proto calificador, se asumen todos los protocolos consistentes con el tipo. Por ejemplo, 'src foo' significa '(ip o arp o rarp) src foo' (excepto que la última no es sintaxis legal), 'net bar' significa '(ip o arp o rarp) net bar' y 'puerto 53' significa '(tcp o udp) puerto 53'.
- 'fddi' es en realidad un alias para 'ether'; el analizador los trata de forma idéntica como "el nivel de enlace de datos utilizado en la interfaz de red especificada". Los encabezados FDDI contienen direcciones de origen y destino similares a Ethernet, y con frecuencia contienen tipos de paquetes similares a Ethernet, por lo que puede filtrar estos campos FDDI. al igual que con los campos de Ethernet análogos. Los encabezados FDDI también contienen otros campos, pero no puede nombrarlos explícitamente en una expresión de filtro.
- Similarmente, 'tr' es un alias para 'ether'; las declaraciones del párrafo anterior sobre los encabezados FDDI también se aplican a los encabezados Token Ring.
Además de lo anterior, hay algunas palabras clave especiales "primitivas" que no siguen el patrón:puerta, emisión, Menos, mayory aritmética expresiones Todos estos se describen a continuación.
Las expresiones de filtro más complejas se construyen usando las palabrasy, oyno para combinar primitivas, por ejemplo, "host foo y no puerto ftp y no puerto ftp-data". Para guardar la escritura, se pueden omitir listas de calificadores idénticos (por ejemplo, "tcp dst port ftp o ftp-data o domain" es exactamente lo mismo que "tcp dst port ftp o tcp dst port ftp-data o tcp dst port domain".)
Estas son las primitivas permitidas con el comando tcpdump:
- dst host anfitrión
- Verdadero si el campo de destino IPv4 / v6 del paquete es anfitrión , que puede ser una dirección o un nombre.
- src host anfitrión
- Verdadero si el campo de origen IPv4 / v6 del paquete es anfitrión .
- anfitrión anfitrión
- Verdadero si el origen de IPv4 / v6 o el destino del paquete es anfitrión . Cualquiera de las expresiones de host anteriores se puede añadir con las palabras clave,ip, arp, rarpoip6, como en ip host anfitrión (que es equivalente a éter proto ip y anfitrión anfitrión).
- Si anfitrión es un nombre con varias direcciones IP, cada dirección se verificará para una coincidencia.
- éter dst ehost
- Es cierto si la dirección de destino de Ethernet es ehost . Ehost puede ser un nombre de / etc / ethers o un número (vea éteres (3N) para formato numérico).
- éter src ehost
- Es cierto si la dirección de la fuente Ethernet es ehost .
- éter anfitrión ehost
- Es cierto si la dirección de origen o destino de Ethernet es ehost .
- puerta anfitrión
- Es cierto si el paquete utilizado anfitrión como puerta de enlace (es decir, la dirección de origen o destino de Ethernet era anfitrión pero ni la fuente de IP ni el destino de IP fueron anfitrión ).
- Anfitrión debe ser un nombre y se debe encontrar mediante los mecanismos de resolución de nombres de host a direcciones IP de la máquina (archivo de nombres de host, DNS, NIS, etc.) y por el mecanismo de resolución de direcciones de nombre de host a Ethernet de la máquina (/ etc / éteres, etc.).
- Una expresión equivalente es éter anfitrión ehost y ahora anfitrión anfitrión , que puede usarse con nombres o números para host / ehost .) Esta sintaxis no funciona en la configuración habilitada para IPv6 en este momento.
- dst net red
- Verdadero si la dirección de destino IPv4 / v6 del paquete tiene un número de red de red . Red puede ser un nombre de / etc / networks o un número de red (consulte redes (4) para detalles).
- src net red
- Verdadero si la dirección de origen IPv4 / v6 del paquete tiene un número de red de red .
- red red
- Verdadero si la dirección de origen o destino de IPv4 / v6 del paquete tiene un número de red de red .
- red red máscara máscara de red
- Es cierto si la dirección IP coincide red con el especifico máscara de red . Puede ser calificado consrc odst. Tenga en cuenta que esta sintaxis no es válida para IPv6 red .
- red red / len
- Es cierto si la dirección IPv4 / v6 coincide red con una máscara de red len bits de ancho. Puede ser calificado consrc odst.
- puerto dst Puerto
- Verdadero si el paquete es ip / tcp, ip / udp, ip6 / tcp o ip6 / udp y tiene un valor de puerto de destino de Puerto . los Puerto puede ser un número o un nombre usado en / etc / services (ver tcp (4P) y udp (4P)). Si se utiliza un nombre, se comprueban tanto el número de puerto como el protocolo. Si se usa un número o nombre ambiguo, solo se verifica el número de puerto (por ejemplo,puerto dst 513 imprimirá tanto el tráfico tcp / login como el tráfico udp / who, ydominio de puerto imprimirá el tráfico tcp / domain y udp / domain).
- puerto src Puerto
- Es cierto si el paquete tiene un valor de puerto de origen de Puerto .
- Puerto Puerto
- Es cierto si el puerto de origen o destino del paquete es Puerto . Cualquiera de las expresiones de puerto anteriores se puede añadir con las palabras clave,tcp oudp, como en puerto tcp src Puerto , que coincide solo con los paquetes tcp cuyo puerto de origen es Puerto .
- Menos longitud
- Verdad si el paquete tiene una longitud menor o igual a longitud . Esto es equivalente a len <= Longitud .
- mayor longitud
- Verdadero si el paquete tiene una longitud mayor o igual a longitud . Esto es equivalente a len> = Longitud .
- ip proto protocolo
- Verdad si el paquete es un paquete IP (vea ip (4P)) del tipo de protocolo protocolo . Protocolo Puede ser un número o uno de los nombres. icmp , icmp6 , igmp , igrp , pim , ah , esp , vrrp , udp o tcp . Tenga en cuenta que los identificadores tcp , udp y icmp también son palabras clave y deben escaparse a través de la barra invertida (), que está en el C-shell. Tenga en cuenta que esta primitiva no persigue la cadena de encabezado de protocolo.
- ip6 proto protocolo
- Verdadero si el paquete es un paquete de tipo de protocolo IPv6 protocolo . Tenga en cuenta que esta primitiva no persigue la cadena de encabezado de protocolo.
- protocain ip6 protocolo
- Verdadero si el paquete es un paquete IPv6 y contiene un encabezado de protocolo con tipo protocolo en su cadena de cabecera de protocolo. Por ejemplo, ipv6 protochain 6 coincide con cualquier paquete IPv6 con el encabezado del protocolo TCP en la cadena del encabezado del protocolo. El paquete puede contener, por ejemplo, encabezado de autenticación, encabezado de enrutamiento o encabezado de opción salto por salto, entre el encabezado IPv6 y el encabezado TCP. El código BPF emitido por esta primitiva es complejo y no puede optimizarse con el código optimizador de BPF en tcpdump , así que esto puede ser algo lento.
- ip protochain protocolo
- Equivalente aprotocain ip6 protocolo , pero esto es para IPv4.
- transmisión de éter
- Es cierto si el paquete es un paquete de difusión de Ethernet. los éter palabra clave es opcional.
- transmisión ip
- Verdadero si el paquete es un paquete de difusión IP. Comprueba tanto las convenciones de transmisión de todos los ceros como las de todos, y busca la máscara de subred local.
- ether multicast
- Es cierto si el paquete es un paquete de multidifusión de Ethernet. los éter palabra clave es opcional. Esto es taquigrafía para 'éter 0 y 1! = 0'.
- ip multicast
- Es cierto si el paquete es un paquete de multidifusión IP.
- ip6 multicast
- Verdad si el paquete es un paquete de multidifusión IPv6.
- éter proto protocolo
- Cierto si el paquete es de tipo éter. protocolo . Protocolo Puede ser un número o uno de los nombres. ip , ip6 , arp , rarp , una charla , aarp , decnet , sca , latitud , mopdl , moprc , Yo asi , stp , ipx o Netbeui . Tenga en cuenta que estos identificadores también son palabras clave y deben escaparse mediante la barra invertida ().
- En el caso de FDDI (por ejemplo, 'fddi protocol arp') y Token Ring (por ejemplo,'tr protocolo arp'), para la mayoría de esos protocolos, la identificación del protocolo proviene del encabezado 802.2 Logical Link Control (LLC), que generalmente se coloca sobre el encabezado FDDI o Token Ring.
- Al filtrar la mayoría de los identificadores de protocolo en FDDI o Token Ring, tcpdump comprueba solo el campo de ID de protocolo de un encabezado LLC en el denominado formato SNAP con un Identificador de unidad organizativa (OUI) de 0x000000, para Ethernet encapsulado; no comprueba si el paquete está en formato SNAP con un OUI de 0x000000.
- Las excepciones son Yo asi , para lo cual verifica los campos DSAP (Punto de acceso al servicio de destino) y SSAP (Punto de acceso al servicio de origen) de la cabecera LLC, stp y Netbeui , donde verifica el DSAP del encabezado LLC, y una charla , donde busca un paquete de formato SNAP con un OUI de 0x080007 y el etype Appletalk.
- En el caso de Ethernet, tcpdump comprueba el campo de tipo Ethernet para la mayoría de esos protocolos; las excepciones son Yo asi , savia y Netbeui , para lo cual busca un marco 802.3 y luego verifica el encabezado LLC como lo hace para FDDI y Token Ring; una charla , donde comprueba tanto el etype de Appletalk en un marco de Ethernet como un paquete en formato SNAP como lo hace para FDDI y Token Ring; aarp , donde verifica el tipo de Appletalk ARP en una trama Ethernet o una trama SNAP 802.2 con un OUI de 0x000000; y ipx , donde verifica el tipo de IPX en una trama de Ethernet, el DSAP de IPX en el encabezado de LLC, el 802.3 sin encapsulación de encabezado de LLC de IPX y el tipo de IPX en un marco de SNAP.
- decnet src anfitrión
- Es cierto si la dirección de origen DECNET es anfitrión , que puede ser una dirección de la forma "10.123 '', o un nombre de host de DECNET. La compatibilidad con el nombre de host de DECNET solo está disponible en los sistemas Ultrix que están configurados para ejecutar DECNET.
- decnet dst anfitrión
- Es cierto si la dirección de destino de DECNET es anfitrión .
- anfitrión decnet anfitrión
- Verdadero si la dirección de origen o destino de DECNET es anfitrión .
- ip, ip6, arp, rarp, una charla, aarp, decnet, Yo asi, stp, ipx, Netbeui
- Abreviaturas de éter proto pag dónde pag Es uno de los protocolos anteriores.
- latitud, moprc, mopdl
- Abreviaturas de éter proto pag dónde pag Es uno de los protocolos anteriores. Tenga en cuenta que tcpdump Actualmente no sabe como analizar estos protocolos.
- vlan vlan_id
- Verdad si el paquete es un paquete VLAN IEEE 802.1Q. Si vlan_id se especifica, solo verdadero si el paquete tiene el valor especificado vlan_id . Tenga en cuenta que la primeravlan palabra clave encontrada en expresión Cambia las compensaciones de decodificación para el resto de expresión en el supuesto de que el paquete es un paquete VLAN.
- tcp, udp, icmp
- Abreviaturas de ip proto pag o ip6 proto pag dónde pag Es uno de los protocolos anteriores.
- iso proto protocolo
- Verdadero si el paquete es un paquete OSI de tipo de protocolo protocolo . Protocolo Puede ser un número o uno de los nombres. clnp , esis o isis .
- clnp, esis, isis
- Abreviaturas de iso proto pag dónde pag Es uno de los protocolos anteriores. Tenga en cuenta que tcpdump hace un trabajo incompleto de analizar estos protocolos.
- expr relop expr
- Cierto si la relación se mantiene, donde relop es uno de>, <,> =, <=, =,! = y expr es una expresión aritmética compuesta por constantes enteras (expresadas en sintaxis C estándar), los operadores binarios normales +, -, *, /, &, |, un operador de longitud y accesores de datos de paquetes especiales. Para acceder a los datos dentro del paquete, use la siguiente sintaxis: proto expr: tamaño .
Proto es uno deéter, fddi, tr, ppp, resbalón, enlazar, ip, arp, rarp, tcp, udp, icmpo ip6, e indica la capa de protocolo para la operación de índice (éter, fddi, tr, ppp, resbalónyenlazar todos se refieren a la capa de enlace). Tenga en cuenta que tcp, udp y otros tipos de protocolo de capa superior solo se aplican a IPv4, no a IPv6 (esto se solucionará en el futuro). El offset de bytes, relativo a la capa de protocolo indicada, está dado por expr . tamaño es opcional e indica el número de bytes en el campo de interés; puede ser uno, dos o cuatro, y el valor predeterminado es uno. El operador de longitud, indicado por la palabra clavelen, da la longitud del paquete.
Por ejemplo, 'éter 0 y 1! = 0'Atrapa todo el tráfico de multidifusión. La expresion 'ip 0 & 0xf! = 5'Atrapa todos los paquetes IP con opciones. La expresion 'ip 6: 2 y 0x1fff = 0'captura solo los datagramas no fragmentados y el cero de los datagramas fragmentados. Esta comprobación se aplica implícitamente a latcp yudp operaciones de índice. Por ejemplo, tcp 0 Siempre significa el primer byte del TCP. encabezamiento , y nunca significa el primer byte de un fragmento intermedio.
Algunas compensaciones y valores de campo pueden expresarse como nombres en lugar de valores numéricos. Están disponibles las siguientes compensaciones de campo de encabezado de protocolo: icmptype (Campo tipo ICMP),icmpcode (Campo de código ICMP), ytcpflags (Campo de indicadores TCP).
Los siguientes valores de campo de tipo ICMP están disponibles:icmp-echoreply, icmp-unreach, icmp-sourcequench, icmp-redirect, icmp-echo, icmp-routeradvert, icmp-routersolicit, icmp-timxceed, icmp-paramprob, icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply, icmp-maskreq, icmp-maskreply.
Los siguientes valores de campo de indicadores TCP están disponibles:tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-push, tcp-ack, tcp-urg.
Los primitivos se pueden combinar utilizando cualquiera de los siguientes:
- Un grupo entre paréntesis de primitivos y operadores (los paréntesis son especiales para el Shell y deben escaparse)
- Negación ('!'o'no')
- Concatenación ('&&'o'y')
- Alternación ('||'o'o')
La negación tiene mayor precedencia. La alternancia y la concatenación tienen igual precedencia y se asocian de izquierda a derecha. Tenga en cuenta que explícitoy Se requieren tokens, no yuxtaposición, para la concatenación.
Si se proporciona un identificador sin una palabra clave, se asume la palabra clave más reciente. Por ejemplo, no host vs y as es corto para no host vs host host. Sin embargo, esto no debe confundirse con no (host vs o as).
Los argumentos de expresión se pueden pasar a tcpdump como un solo argumento o como múltiples argumentos, lo que sea más conveniente. Generalmente, si la expresión contiene metacaracteres de Shell, es más fácil pasarla como un solo argumento entre comillas. Varios argumentos se concatenan con espacios antes de ser analizados.
Ejemplos de tcpdump
atardecer del servidor tcpdump
El comando tcpdump anterior se usa para imprimir todos los paquetes que llegan o salen de puesta del sol. tcpdump host helios y (hot or ace )
Este ejemplo de tcpdump imprime tráfico entre helios y también caliente o as. tcpdump ip host ace y no helios
Puede usar este comando tcpdump para imprimir todos los paquetes IP entre as y cualquier host excepto helios tcpdump net ucb-ether
En el ejemplo anterior, tcpdump imprime todo el tráfico entre los hosts locales y los hosts en Berkeley. tcpdump 'gateway snup and (puerto ftp o ftp-data)'
El siguiente ejemplo del comando tcpdump se usa para imprimir todo el tráfico FTP a través de la puerta de enlace de Internet snup . Tenga en cuenta que la expresión se cita para evitar que el shell interprete mal los paréntesis. tcpdump ip y no neto localnet
En el ejemplo anterior de tcpdump, el comando imprime el tráfico no originado ni destinado a los hosts locales. tcpdump 'tcp tcpflags & (tcp-syn | tcp-fin)! = 0 y no src y dst net localnet '
Para el ejemplo anterior de tcpdump, el comando se usa para imprimir los paquetes de inicio y fin (los paquetes SYN y FIN) de cada conversación TCP que involucra un host no local. tcpdump 'gateway snup and ip 2: 2> 576'
El comando anterior imprimirá paquetes IP de más de 576 bytes enviados a través de la puerta de enlace snup tcpdump 'ether 0 & 1 = 0 e ip 16> = 224'
El comando tcpdump que se muestra arriba imprime paquetes de difusión IP o multidifusión que fueron no Enviado vía transmisión Ethernet o multicast. tcpdump 'icmp icmptype! = icmp-echo y icmp icmptype! = icmp-echoreply'
En este último ejemplo de tcpdump, el comando imprime todos los paquetes ICMP que no son solicitudes o respuestas de eco (es decir, no paquetes de ping). La salida de tcpdump es dependiente del protocolo. A continuación se ofrece una breve descripción y ejemplos de la mayoría de los formatos. Encabezados de nivel de enlace. Si se da la opción '-e', se imprime el encabezado de nivel de enlace. En las redes Ethernet, se imprimen las direcciones de origen y destino, el protocolo y la longitud del paquete. En las redes FDDI, la opción '-e' causa tcpdump para imprimir el campo 'control de cuadro', las direcciones de origen y destino, y la longitud del paquete. (El campo 'control de cuadro' gobierna la interpretación del resto del paquete. Los paquetes normales (como los que contienen datagramas IP) son paquetes 'asíncronos', con un valor de prioridad entre 0 y 7: por ejemplo, `async4'. Se supone que dichos paquetes contienen un paquete de Control de enlace lógico (LLC) 802.2; el encabezado LLC se imprime si es no un datagrama ISO o un llamado paquete SNAP. En las redes Token Ring, la opción '-e' causa tcpdump para imprimir los campos 'control de acceso' y 'control de marco', las direcciones de origen y destino, y la longitud del paquete. Al igual que en las redes FDDI, se asume que los paquetes contienen un paquete LLC. Independientemente de si se especifica o no la opción '-e', la información de enrutamiento de origen se imprime para los paquetes enrutados de origen. (N.B .: La siguiente descripción asume familiaridad con el algoritmo de compresión SLIP descrito en RFC-1144). En los enlaces SLIP, se imprime un indicador de dirección ("I '' para entrante," O '' para saliente), tipo de paquete e información de compresión. El tipo de paquete se imprime primero. Los tres tipos son ip , utcp y ctcp . No se imprime ninguna otra información de enlace para ip paquetes Para los paquetes TCP, el identificador de conexión se imprime según el tipo. Si el paquete está comprimido, se imprime su encabezado codificado. Los casos especiales se imprimen como* S + norte y* SA + norte , dónde norte es la cantidad por la cual el número de secuencia (o número de secuencia y ack) ha cambiado. Si no es un caso especial, se imprimen cero o más cambios. Un cambio se indica con U (puntero urgente), W (ventana), A (ack), S (número de secuencia) e I (ID de paquete), seguidos de un delta (+ n o -n) o un nuevo valor (= n). Finalmente, se imprime la cantidad de datos en el paquete y la longitud del encabezado comprimido. Por ejemplo, la siguiente línea muestra un paquete TCP comprimido de salida, con un identificador de conexión implícito; el ack ha cambiado en 6, el número de secuencia en 49 y la identificación del paquete en 6; Hay 3 bytes de datos y 6 bytes de encabezado comprimido: O ctcp * A + 6 S + 49 I + 6 3 (6)
Paquetes arp / rarp. La salida de Arp / rarp muestra el tipo de solicitud y sus argumentos. El formato pretende ser autoexplicativo. Aquí hay una breve muestra tomada desde el inicio de un 'rlogin' desde el host rtsg para alojar csam : arp quien tiene csam dile rtsgarp responde csam is-at CSAM
La primera línea dice que rtsg envió un paquete arp solicitando la dirección Ethernet del host de Internet csam. Csam responde con su dirección de Ethernet (en este ejemplo, las direcciones de Ethernet están en mayúsculas y las de Internet en minúsculas). Esto parecería menos redundante si hubiéramos hecho tcpdump -n : arp quien tiene 128.3.254.6 dice 128.3.254.68respuesta arp 128.3.254.6 es a las 02: 07: 01: 00: 01: c4
Si hubiéramos hecho tcpdump -e , el hecho de que el primer paquete se transmita y el segundo sea punto a punto sería visible: RTSG Broadcast 0806 64: arp who-has csam tell rtsgCSAM RTSG 0806 64: respuesta arp csam is-at CSAM
Para el primer paquete, esto dice que la dirección de origen de Ethernet es RTSG, el destino es la dirección de transmisión de Ethernet, el campo de tipo contenía el hex 0806 (tipo ETHER_ARP) y la longitud total fue de 64 bytes. Paquetes TCP (N.B.: La siguiente descripción asume que está familiarizado con el protocolo TCP descrito en RFC-793. Si no está familiarizado con el protocolo, ni esta descripción ni tcpdump le serán de mucha utilidad) . El formato general de una línea de protocolo tcp es: src> dst: señala las opciones urgentes de la ventana ack datos-seqno
Src y dst son las direcciones IP de origen y destino y los puertos. Banderas son algunas combinaciones de S (SYN), F (FIN), P (PUSH) o R (RST) o un solo '.' (sin banderas). Datos-seqno describe la porción del espacio de secuencia cubierto por los datos en este paquete (vea el ejemplo a continuación). Ack Es el número de secuencia de los siguientes datos esperados en la otra dirección en esta conexión. Ventana es el número de bytes de espacio de búfer de recepción disponible en la otra dirección en esta conexión. Urgencia indica que hay datos 'urgentes' en el paquete. Opciones son opciones tcp encerradas entre paréntesis angulares (por ejemplo, Src, dst, y banderas siempre estan presentes Los otros campos dependen del contenido del encabezado del protocolo tcp del paquete y se emiten solo si es apropiado. Aquí está la parte de apertura de un rlogin desde el host rtsg para alojar csam . rtsg.1023> csam.login: S 768512: 768512 (0) gana 4096 La primera línea dice que el puerto TCP 1023 en RTSG envió un paquete al puerto iniciar sesión en csam. losS indica que el SYN bandera se estableció. El número de secuencia del paquete era 768512 y no contenía datos. (La notación es 'first: last (nbytes)', que significa 'números de secuencia primero hasta pero sin incluir último cual es nbytes bytes de datos de usuario '.) No había acuse de recibo, la ventana de recepción disponible era 4096 bytes, y había una opción de tamaño máximo de segmento solicitando un mss de 1024 bytes. Csam responde con un paquete similar, excepto que incluye un acuse de recibo para SYN de rtsg. Rtsg entonces acks SYN de CSAM. Los '.' significa que no se pusieron banderas El paquete no contenía datos, por lo que no hay un número de secuencia de datos. Tenga en cuenta que el número de secuencia de ack es un entero pequeño (1). La primera vez tcpdump ve una 'conversación' tcp, imprime el número de secuencia del paquete. En los paquetes subsiguientes de la conversación, se imprime la diferencia entre el número de secuencia del paquete actual y este número de secuencia inicial. Esto significa que los números de secuencia después del primero pueden interpretarse como posiciones de bytes relativas en el flujo de datos de la conversación (con el primer byte de datos en cada dirección que es '1'). '-S' anulará esta función, lo que provocará la salida de los números de secuencia originales. En la sexta línea, rtsg envía csam 19 bytes de datos (bytes 2 a 20 en el lado rtsg -> csam de la conversación). El indicador PUSH se establece en el paquete. En la séptima línea, csam dice que los datos recibidos se enviaron desde rtsg hasta el byte 21. Sin embargo, aparentemente, la mayoría de estos datos se encuentran en el búfer del socket ya que la ventana de recepción de csam se ha hecho 19 bytes más pequeña. Csam también envía un byte de datos a rtsg en este paquete. En las líneas octava y novena, csam envía dos bytes de datos urgentes y enviados a rtsg. Si la instantánea fuera lo suficientemente pequeña como para tcpdump no capturó el encabezado TCP completo, interpreta la mayor cantidad posible del encabezado y luego informa "| tcp '' para indicar que el resto no pudo ser interpretado. Si el encabezado contiene una opción falsa (una con una longitud demasiado pequeña o más allá del final del encabezado), tcpdump lo reporta como " mala opción '' y no interpreta ninguna otra opción (ya que es imposible saber dónde comienzan). Si la longitud del encabezado indica que las opciones están presentes, pero la longitud del datagrama IP no es lo suficientemente larga para que las opciones realmente estén allí tcpdump lo reporta como " mala longitud HDR ''. Captura de paquetes con combinaciones de banderas particulares. Hay ocho bits en la sección de bits de control del encabezado TCP: CWR | ECE | URG | ACK | PSH | RST | SYN | ALETA Supongamos que queremos ver los paquetes utilizados para establecer una conexión TCP. Recuerde que TCP utiliza un protocolo de intercambio de tres vías cuando inicializa una nueva conexión; La secuencia de conexión con respecto a los bits de control TCP es: Ahora estamos interesados en capturar paquetes que solo tienen el conjunto de bits SYN (Paso 1). Tenga en cuenta que no queremos paquetes del paso 2 (SYN-ACK), solo un SYN inicial sencillo. Lo que necesitamos es una expresión de filtro correcta para tcpdump . Recuerde la estructura de un encabezado TCP sin opciones: 0 15 31-----------------------------------------------------------------| puerto de origen | puerto de destino |-----------------------------------------------------------------| número de secuencia |-----------------------------------------------------------------| número de acuse de recibo |-----------------------------------------------------------------| HL | rsvd | C | E | U | A | P | R | S | F | tamaño de la ventana |-----------------------------------------------------------------| Suma de control TCP | puntero urgente |-----------------------------------------------------------------
Un encabezado TCP generalmente contiene 20 octetos de datos, a menos que haya opciones presentes. La primera línea de la gráfica contiene los octetos 0–3, la segunda línea muestra los octetos 4–7, etc. Comenzando a contar con 0, los bits de control TCP relevantes están contenidos en el octeto 13: 0 7| 15| 23| 31----------------|---------------|---------------|----------------| HL | rsvd | C | E | U | A | P | R | S | F | tamaño de la ventana |----------------|---------------|---------------|----------------| | 13 octeto | | |
Echemos un vistazo más de cerca al octeto no. 13: | | |---------------| | C | E | U | A | P | R | S | F | |---------------| |7 5 3 0|
Estos son los bits de control TCP en los que estamos interesados. Hemos numerado los bits en este octeto del 0 al 7, de derecha a izquierda, por lo que el bit PSH es el bit número 3, mientras que el bit URG es el número 5. Recuerde que queremos capturar paquetes con solo SYN establecido. Veamos qué sucede con el octeto 13 si llega un datagrama TCP con el bit SYN establecido en su encabezado: | C | E | U | A | P | R | S | F | |---------------| |0 0 0 0 0 0 1 0| |---------------| |7 6 5 4 3 2 1 0|
Mirando la sección de bits de control, vemos que solo se establece el bit número 1 (SYN). Suponiendo que el octeto número 13 es un entero sin signo de 8 bits en orden de bytes de red, el valor binario de este octeto es: 00000010 Su representación decimal es: 7 6 5 4 3 2 1 00*2 + 0*2 + 0*2 + 0*2 + 0*2 + 0*2 + 1*2 + 0*2 = 2
Ya casi hemos terminado, porque ahora sabemos que si solo se establece SYN, el valor del octeceavo octeto en el encabezado TCP, cuando se interpreta como un entero sin signo de 8 bits en el orden de bytes de la red, debe ser exactamente 2. Esta relación se puede expresar como tcp 13 == 2 Podemos usar esta expresión como filtro para tcpdump Para ver paquetes que solo tienen SYN establecido: tcpdump -i xl0 tcp 13 == 2 La expresión dice "deje que el octeceavo octeto de un datagrama TCP tenga el valor decimal 2", que es exactamente lo que queremos. Ahora, supongamos que necesitamos capturar paquetes SYN, pero no nos importa si ACK o cualquier otro bit de control TCP se establece al mismo tiempo. Observe qué sucede con el octeto 13 cuando llega un datagrama TCP con el conjunto SYN-ACK: | C | E | U | A | P | R | S | F | |---------------| |0 0 0 1 0 0 1 0| |---------------| |7 6 5 4 3 2 1 0|
Los bits 1 y 4 ahora están configurados en el octeceavo octeto. El valor binario del octeto 13 es: 00010010 que se traduce a decimal: 7 6 5 4 3 2 1 00*2 + 0*2 + 0*2 + 1*2 + 0*2 + 0*2 + 1*2 + 0*2 = 18
No podemos simplemente usar 'tcp 13 == 18' en el tcpdump expresión de filtro, porque eso seleccionaría solo aquellos paquetes que tienen SYN-ACK establecido, pero no aquellos con solo SYN establecido. Recuerde que no nos importa si se establece ACK o cualquier otro bit de control siempre que se establezca SYN. Para lograr nuestro objetivo, necesitamos lógicamente Y el valor binario del octeto 13 con algún otro valor para conservar el bit SYN. Sabemos que queremos que SYN se establezca en cualquier caso, por lo que lógicamente Y el valor en el octeto 13 con el valor binario de un SYN: 00010010 SYN-ACK 00000010 SYN Y 00000010 (queremos SYN) Y 00000010 (queremos SYN) -------- -------- = 00000010 = 00000010
Vemos que esta operación AND ofrece el mismo resultado independientemente de si se establece ACK u otro bit de control TCP. La representación decimal del valor AND, así como el resultado de esta operación, es 2 (00000010 binario), por lo que sabemos que para los paquetes con SYN, la siguiente relación debe ser verdadera: ((valor del octeto 13) AND (2)) == (2) Esto nos apunta a la tcpdump expresión de filtro tcpdump -i xl0 'tcp 13 & 2 == 2' Tenga en cuenta que debe usar comillas simples o una barra invertida en la expresión para ocultar el carácter especial AND ('&') del shell. Paquetes UDP. El formato UDP se ilustra con este paquete rwho: actinide.who> broadcast.who: udp 84
Esto dice que el puerto quien en el host actinida envió un datagrama udp a puerto quien en el host emisión , la dirección de transmisión de Internet. El paquete contenía 84 bytes de datos de usuario. Se reconocen algunos servicios UDP (desde el número de puerto de origen o destino) y se imprime la información del protocolo de nivel superior, en particular, las solicitudes de servicio de nombre de dominio (RFC-1034/1035) y las llamadas Sun RPC (RFC-1050) a NFS. Solicitudes de servidor de nombres UDP (N.B.: La siguiente descripción asume que está familiarizado con el protocolo del Servicio de Dominio descrito en RFC-1035. Si no está familiarizado con el protocolo, la siguiente descripción tendrá poco sentido). Las solicitudes del servidor de nombres se formatean como: src> dst: id op? banderas qtype qclass nombre (len) h2opolo.1538> helios.domain: 3+ A? ucbvax.berkeley.edu. (37)
Anfitrión h2opolo preguntó el servidor de dominio en helios para un registro de dirección (qtype = A) asociado con el nombre ucbvax.berkeley.edu. El id de la consulta fue '3'. El '+' indica el recursion deseada bandera se estableció. La longitud de la consulta fue de 37 bytes, sin incluir los encabezados de protocolo UDP e IP. La operación de consulta fue la normal, Consulta , por lo que se omitió el campo op. Si la operación hubiera sido otra cosa, se habría impreso entre el '3' y el '+'. Del mismo modo, el qclass era el normal, C_IN , y omitido. Cualquier otra clase de q habría sido impresa inmediatamente después de la 'A'. Se verifican algunas anomalías y pueden dar como resultado campos adicionales entre corchetes: si una consulta contiene una respuesta, los registros de autoridad o la sección de registros adicionales, importan , nscount o arcount se imprimen como ' norte una', ' norte n ', o' norte au 'donde norte es el recuento adecuado. Si se establece alguno de los bits de respuesta (AA, RA o código r) o cualquiera de los bits "debe ser cero", se establece en los bytes dos y tres, `b2 & 3 = X 'se imprime, donde X es el valor hexadecimal del encabezado de los bytes dos y tres. Respuestas del servidor de nombres UDP. Las respuestas del servidor de nombres se formatean como: src> dst: id op rcode marca los datos de clase de tipo / n / au (len) helios.dominio> h2opolo.1538: 3 3/3/7 A 128.32.137.3 (273)helios.domain> h2opolo.1537: 2 NXDomain * 0/1/0 (97)
En el primer ejemplo, helios responde a la consulta id 3 de h2opolo con tres registros de respuestas, tres registros del servidor de nombres y siete registros adicionales. El primer registro de respuesta es de tipo A (dirección), y sus datos son la dirección de Internet 128.32.137.3. El tamaño total de la respuesta fue de 273 bytes, excluyendo los encabezados UDP e IP. Se omitieron la operación (Consulta) y el código de respuesta (NoError), al igual que la clase (C_IN) del registro A. En el segundo ejemplo, helios responde a la consulta 2 con un código de respuesta de dominio inexistente (Dominio NX) sin respuestas, un servidor de nombres y ningún registro de autoridad. El '*' indica que el respuesta autorizada poco fue establecido. Como no había respuestas, no se imprimió ningún tipo, clase ni datos. Otros caracteres de bandera que pueden aparecer son '-' (recursión disponible, RA, no set) y '|' (Mensaje truncado, TC, conjunto). Si la sección de 'pregunta' no contiene exactamente una entrada, ' norte q 'se imprime. Tenga en cuenta que las solicitudes y respuestas del servidor de nombres tienden a ser grandes, y las predeterminadas snaplen de 68 bytes puede no capturar suficiente paquete para imprimir. Utilizar el-s flag para aumentar el snaplen si necesita investigar seriamente el tráfico del servidor de nombres. '-s 128'ha funcionado bien para mí. Decodificación SMB / CIFS. tcpdump incluye decodificación SMB / CIFS / NBT bastante extensa para datos en UDP / 137, UDP / 138 y TCP / 139. También se realiza alguna decodificación primitiva de datos IPX y NetBEUI SMB. Por defecto, se realiza una decodificación bastante mínima, con una decodificación mucho más detallada si se usa -v. Tenga en cuenta que con -v un solo paquete SMB puede ocupar una página o más, así que solo use -v si realmente desea todos los detalles sangrientos. Si está decodificando sesiones SMB que contienen cadenas de Unicode, es posible que desee establecer la variable de entorno USE_UNICODE en 1. Un parche para detectar automáticamente las cadenas de Unicode sería bienvenido. Para obtener información sobre los formatos de paquetes SMB y lo que significan todos los campos, consulte www.cifs.org o el directorio pub / samba / specs / en su sitio espejo favorito de samba.org. Los parches SMB fueron escritos por Andrew Tridgell ([email protected]). NFS solicitudes y respuestas. Las solicitudes y respuestas de Sun NFS (Sistema de archivos de red) se imprimen como: src.xid> dst.nfs: len op args src.nfs> dst.xid: responde stat len op results sushi.6709> wrl.nfs: 112 enlace de lectura fh 21,24 / 10.73165wrl.nfs> sushi.6709: responde ok 40 readlink "../var"sushi.201b> wrl.nfs: 144 consultas fh 9,74 / 4096.6878 "xcolors"wrl.nfs> sushi.201b: respuesta ok 128 consulta fh 9,74 / 4134.3150
En la primera línea, host. Sushi envía una transacción con id 6709 a wrl (tenga en cuenta que el número que sigue al host src es un ID de transacción, no el puerto de origen). La solicitud fue de 112 bytes, excluyendo los encabezados UDP e IP. La operación fue una enlace de lectura (leer enl
Formato de salida Tcpdump