Primeros pasos: Captura de paquetes

Primeros pasos: Captura de paquetes

913673
Created On 09/25/18 19:02 PM - Last Modified 01/18/24 15:51 PM


Symptom


Me deja arreglarlo para usted: captura de paquetes:

A situación típica que un administrador encuentra minutos después de terminar una obra maestra de una seguridad policy es una pregunta sobre por qué alguna aplicación oscura está actuando divertido desde que se instaló esa nueva cosa de redamajig. Esto es donde comienza la solución de problemas.

En las últimas entregas, comprobamos varios aspectos de cómo configurar la tuya firewall y configurarla desde cero.

Una de las herramientas más avanzadas a disposición de un administrador es la capacidad de realizar capturas de paquetes y mirar los contadores de sesión.

Nota:Algunos de los detalles descritos en el artículo causarán impacto en el rendimiento. Si no está seguro, trabaje con Palo Alto Support Personal para capturar los paquetes durante una ventana de mantenimiento.



Environment


  • Cualquier PAN-OS archivo .
  • Palo Alto Firewall .


Resolution


El primer lugar a ir es el menú Captura de paquetes en el GUI , donde puede administrar filtros, agregar etapas de captura y descargar fácilmente capturas.

Navegue a la captura de paquetes yendo a la lengueta del monitor y después haciendo clic en la captura de paquetes. Asegúrese de que el Sistema Virtual esté establecido en todos los
En la configuración del menú Captura de paquetes, puede realizar las siguientes opciones: Configurar filtrado, Configurar captura, Borrar todos los ajustes y extraer los archivos de captura

Antes de empezar, hay algunas cosas que usted debe saber:

  • Cuatro filtros pueden añadirse con una variedad de atributos.
  • Las capturas de paquetes se basan en sesiones, por lo que un único filtro es capaz de capturar client2server y server2client.
  • Los paquetes son capturados en el vs dataplane en la interfaz (esto explica la viñeta siguiente).
  • Análisis pre Match es una característica que puede capturar todos los archivos antes de que sean procesadas por el motor funcionando en el dataplane, que puede ayudar a solucionar problemas donde un motor puede no ser correctamente aceptar un paquete de entrante. Esta opción debe utilizarse sólo si el soporte lo indica y en un volumen bajo del día, ya que capturará todo.
  • Cuando está activado el filtrado, nuevas sesiones están marcadas para el filtrado y pueden ser capturadas, pero las sesiones existentes no están siendo filtradas y necesitan ser reiniciado para poder capturarlos.
  • Descarga sesiones no pueden ser captadas descarga puede necesitar ser desactivado temporalmente. Una sesión descargada mostrará 'layer7 processing: completed' en los detalles de la sesión de la demostración. Tenga en cuenta que esto puede causar el impacto en el rendimiento debido a los paquetes coincidentes que maneja el CPU . Ejecute esto durante una ventana de mantenimiento y tome la ayuda de Soporte técnico si es necesario.

Es mucho para recordar, pero todo tendrá sentido después de haber probado su mano en un par de capturas de paquetes de varios protocolos, I promesa!

 

Vamos a añadir un par de filtros:

Ejemplo de un usuario que edita los filtros de captura de paquetes.

 

Los filtros 1 y 3 son mis filtros reales: I quiero comprobar las conexiones de mi cliente en IP 192.168.0.34 haciendo HTTP conexiones en el puerto 80 TCP a 198.51.100.97 y SSH conexiones en el puerto 22 TCP a 198.51.100.1

 

Los filtros 2 y 4 son mis filtros de "copia de seguridad": I mencionados anteriormente que la captura de paquetes es consciente de la sesión, pero por si algo sucede con el paquete de retorno ascendente que hace que no coincida con mi NAT regla (tal vez un dispositivo ascendente mangles el puerto de origen o hace algo extraño al número de secuencia), I generalmente establecer una regla de retorno para atrapar cualquier paquete perdido que se caería debido a su no coincidencia.

Nota:Asegúrese de que el filtro sea lo más preciso posible. Nunca ejecute filtros que coincidan con todas las subredes como 192.168.0.0/16 o 0.0.0.0/0, ya que esto puede causar impacto en el rendimiento y interrupción.

 

Si ahora cambiamos el botón Filtrado a ON , los filtros se aplicarán a cualquier nueva sesión que coincida con los criterios:

En Configurar filtrado, el filtrado ahora se conmuta a la ON posición

 

A una forma sencilla de comprobar si el filtro está funcionando es comprobar si los contadores globales están aumentando si se inicia una nueva sesión.

Del CLI comando , I ejecute este comando:

 

> show counter global filter delta yes packet-filter yes

Global counters:
Elapsed time since last sampling: 2.647 seconds

--------------------------------------------------------------------------------
Total counters shown: 0
--------------------------------------------------------------------------------
 

Y no se muestran contadores.

  • 'delta yes' indica I que desea ver contadores que se han incrementado desde la última vez I que se ejecutó este comando.
  • 'packet-filter yes' indica I que solo quieren ver contadores globales que coincidan con mis filtros.

Si I ahora actualice mi navegador y ejecute el comando de nuevo:

 

> show counter global filter packet-filter yes delta yes

Global counters:
Elapsed time since last sampling: 2.630 seconds

name value rate severity category aspect description
--------------------------------------------------------------------------------
pkt_sent                     22 8 info packet pktproc Packets transmitted
pkt_outstanding              22 8 info packet pktproc Outstanding packet to be transmitted
session_allocated            4  1 info session resource Sessions allocated
session_installed            4  1 info session resource Sessions installed
appid_proc                   2  0 info appid pktproc The number of packets processed by Application identification
appid_use_dfa_1              2  0 info appid pktproc The number of packets using the second DFA table
nat_dynamic_port_xlat        4  1 info nat resource The total number of dynamic_ip_port NAT translate called
dfa_sw                       8  3 info dfa pktproc The total number of dfa match using software
ctd_sml_opcode_set_file_type 1  0 info ctd pktproc sml opcode set file type
aho_sw                       5  1 info aho pktproc The total usage of software for AHO
ctd_pkt_slowpath             4  1 info ctd pktproc Packets processed by slowpath
--------------------------------------------------------------------------------
Total counters shown: 11
--------------------------------------------------------------------------------
 

Verás que hay un montón de contadores. I"hemos añadido un enlace a más información sobre contadores globales en la parte inferior de este artículo, y los cubriremos más en un episodio futuro. Pero por ahora, como hay contadores, debemos ser buenos para ir.

 

Luego vas a configurar los escenarios, hay 4:

  • la etapa de caída es donde los paquetes consiguen desechados. Las razones pueden variar y, para esta parte, los contadores globales pueden ayudar a identificar si la caída se debió a una policy denegación, una amenaza detectada o algo más.
  • la etapa de recepción captura los paquetes a medida que entran en vigor el firewall antes de entrar en el firewall motor. Cuando NAT se configura, estos paquetes serán pre- NAT .
  • etapa de transmisión captura los paquetes cómo salen del firewall motor. Si NAT está configurado, éstos serán post- NAT .
  • firewall etapa captura paquetes en la firewall etapa.

 

Para cada etapa, puede asignar un nombre para el archivo de salida y fijar un número máximo de paquetes o bytes:

Etapa de captura de paquetes con nombre de archivo establecido en drop.pcap

 

Configurar captura, se generan 3 archivos (recepción, transmisión, caída)

 

Cuando se establecen todas las etapas deseadas, puede cambiar el botón de captura a ON , o puede utilizar el , borrar las sesiones existentes que coinciden con los filtros CLI especificados. Esto es para asegurarse de que ninguna sesión ha estado activa desde antes de que se habilitaran los filtros. A continuación, utilice el comando capture on para iniciar la captura como se muestra a continuación.

> show session all        => Note down the session number matching the configured filters.
> clear session id <id#>  => This is to clear any existing session that matches the filters configured.

Example:
 > show session all
-------------------------------------------------------------------------------- 
ID          Application    State   Type Flag  Src[Sport]/Zone/Proto (translated IP[Port]) 
Vsys                                          Dst[Dport]/Zone (translated IP[Port]) 
-------------------------------------------------------------------------------- 
27240        web-browsing   ACTIVE  FLOW  NS   192.168.0.34[61003]/trust/6  (198.51.100.230[31047]) 
vsys1                                          198.51.100.97[80]/ISP1  (198.51.100.97[80]) 
....(output omitted)....

> clear session id 27240
session 27240 cleared

> debug dataplane packet-diag set capture on 

Packet capture is enabled
 

 

Ahora puede iniciar las sesiones que se desee capturar. Para verificar si ha iniciado la sesión, utilice el comando show de sesión:

 

> show session all

--------------------------------------------------------------------------------
ID          Application    State   Type Flag  Src[Sport]/Zone/Proto (translated IP[Port])
Vsys                                          Dst[Dport]/Zone (translated IP[Port])
--------------------------------------------------------------------------------
32637        web-browsing   ACTIVE  FLOW  NS   192.168.0.34[61903]/trust/6  (198.51.100.230[31547])
vsys1                                          198.51.100.97[80]/ISP1  (198.51.100.97[80])
32635        ssh            ACTIVE  FLOW  NS   192.168.0.34[61901]/trust/6  (198.51.100.230[52812])
vsys1                                          198.51.100.1[22]/ISP1  (198.51.100.1[22])
 

Cuando haya terminado, la captura se puede desactivar cambiando el botón de nuevo a la OFF posición o usando el comando debug:

 

> debug dataplane packet-diag set capture off 
Packet capture is disabled 

> debug dataplane packet-diag clear filter-marked-session all
Unmark All sessions in packet debug
  Nota:No olvide apagar la captura de paquetes después de la depuración. Si no lo hace, puede gravar CPU y causar problemas de rendimiento.

Ahora habrá archivos capturados disponibles para su descarga que se pueden analizar con Wireshark:

Configurar captura, se generan 3 archivos (receive.pcap y transmit.pcap)

 

Después de descargar las pcaps, deberá combinar el transmitir y recibir archivos juntos:

  • La fase de recepción tendrá el cliente privado IP para el servidor web público y el paquete de devolución del servidor web público al externo IP IP firewall IP (la fase de recepción es NAT anterior).
  • La fase de transmisión tendrá el firewall externo IP NAT (cliente) al servidor público y el público que regresa al cliente IP IP IP privado.

Como eso puede ser un poco confuso cuando usted está tratando de seguir la TCP secuencia, usted querrá tomar nota de esta diferencia importante entre esos dos archivos.

Captura de paquetes Receive.pcap abierta en WireShark que denota las direcciones de origen y IP destino.

Captura de paquetes Transmit.pcap abierta en WireShark que denota las direcciones de origen y IP destino.

 

Estas dos etapas garantizarán que pueda verificar si NAT se está aplicando correctamente. Usted puede también ver si hay alguna diferencia entre los paquetes enviados y recibidos de las perspectivas del cliente y del servidor.

 

El resultado combinado debería verse algo como esto y le permite comparar paquete por paquete qué es ser enviado y lo que se está recibiendo.

El receive.pcap y transmit.pcap se megered juntos dentro de la vista WireShark

 

A par de artículos útiles para ayudarle a entender mejor cómo fluyen los paquetes a través del sistema:

¿Cuál es el significado de contadores globales?

Secuencia de flujo de paquetes en PAN-OS

 

 

Plano de gestión

 

Para solucionar problemas de conectividad con el plano de gestión, puede utilizarse el comando tcpdump incorporada para capturar información útil:

admin@myNGFW> tcpdump filter "port 53"
Press Ctrl-C to stop capturing

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
^C
16 packets captured
32 packets received by filter
0 packets dropped by kernel
The resulting output is stored in a mgmt.pcap file on the management plane: 

admin@myNGFW> view-pcap mgmt-pcap mgmt.pcap
15:24:07.512889 IP 10.0.0.1.36606 > 10.0.0.98.domain:  49243+ PTR? 0.0.0.10.in-addr.arpa. (41)
15:24:07.513106 IP 10.0.0.98.domain > 10.0.0.1.36606:  49243 NXDomain 0/1/0 (100)
15:24:17.196515 IP 10.0.0.1.45455 > 10.0.0.98.domain:  3126+ PTR? 0.0.0.10.in-addr.arpa. (41)
15:24:17.196762 IP 10.0.0.98.domain > 10.0.0.1.45455:  3126 NXDomain 0/1/0 (100)
15:24:31.126186 IP 10.0.0.1.57230 > 10.0.0.98.domain:  2978+ A? panos.wildfire.paloaltonetworks.com. (53)
15:24:31.126196 IP 10.0.0.1.57230 > 10.0.0.98.domain:  55173+ AAAA? panos.wildfire.paloaltonetworks.com. (53)
15:24:31.161436 IP 10.0.0.98.domain > 10.0.0.1.57230:  2978 4/0/0[|domain]
15:24:31.194586 IP 10.0.0.98.domain > 10.0.0.1.57230:  55173 2/0/0[|domain]
15:25:56.746679 IP 10.0.0.1.46048 > 10.0.0.98.domain:  43532+ A? wildfire.paloaltonetworks.com. (47)
15:25:56.746689 IP 10.0.0.1.46048 > 10.0.0.98.domain:  16653+ AAAA? wildfire.paloaltonetworks.com. (47)
15:25:56.794940 IP 10.0.0.98.domain > 10.0.0.1.46048:  43532 1/0/0 (63)
15:25:56.795553 IP 10.0.0.98.domain > 10.0.0.1.46048:  16653 0/1/0 (131)
15:25:59.038459 IP 10.0.0.1.51804 > 10.0.0.98.domain:  23806+ A? panos.wildfire.paloaltonetworks.com. (53)
15:25:59.038471 IP 10.0.0.1.51804 > 10.0.0.98.domain:  31471+ AAAA? panos.wildfire.paloaltonetworks.com. (53)
15:25:59.071431 IP 10.0.0.98.domain > 10.0.0.1.51804:  23806 4/0/0[|domain]
15:25:59.113552 IP 10.0.0.98.domain > 10.0.0.1.51804:  31471 2/0/0[|domain]
 

Consulte este artículo para obtener información adicional sobre cómo capturar paquetes (tcpdump) en la interfaz de administración

 


 



Additional Information


1. Para controlar el tamaño del archivo de captura de paquetes, un solo archivo está limitado a 200mb y un segundo archivo se crea automáticamente una vez que se supera el tamaño, ambos archivos actuarán entonces como un búfer de anillo donde el archivo pcap primario se utiliza para escribir datos de captura activos y el archivo *.pcap.1 se utiliza como búfer. Una vez que el PCAP primario alcanza su capacidad de nuevo, se descarta el archivo de búfer, se cambia el nombre del archivo principal a *. pcap. 1 y se inicia un archivo primario fresco. Más información aquí: ¿Cuál es la limitación del tamaño del archivo de captura de paquetes PAN-OS en?

2. Para capturas pequeñas, podría ser útil capturar todo en un solo archivo, por lo que es posible tener cada captura de etapa al mismo nombre de archivo. Tenga en cuenta la limitación de tamaño antes mencionada y la disminución de la visibilidad de cada etapa. El método recomendado es tener siempre un archivo individual por etapa.

Desde PAN-OS la versión 8.1.0, se pueden agregar filtros para subredes de origen y red, esto solo está disponible a través de laCLI NOT WebGU :I

admin@firewall> debug dataplane packet-diag set filter match 
+ destination           Destination IP address
+ destination-netmask   Destination netmask              <<<< new option for network
+ destination-port      Destination port
+ ingress-interface     Ingress traffic interface name
+ ipv6-only             IPv6 packet only
+ lacp                  LACP packet
+ non-ip                Non-IP packet
+ protocol              IP protocol value
+ source                Source IP address
+ source-netmask        Source netmask                     <<<< new option for network
+ source-port           Source port
  |                     Pipe through a command
  <Enter>               Finish input
 
admin@firewall> debug dataplane packet-diag set filter match source 192.168.1.0 source-netmask 24

admin@firewall> debug dataplane packet-diag set filter match destination 192.168.2.0 destination-netmask 24

admin@firewall> debug dataplane packet-diag show setting 

DP dp0:

--------------------------------------------------------------------------------
Packet diagnosis setting:
--------------------------------------------------------------------------------
Packet filter
  Enabled:                   no
  Match pre-parsed packet:   no            
  Index 1: 192.168.1.0/24[0]->0.0.0.0/0[0], proto 0 <<<<<<<<< network is captured /24
           ingress-interface any, egress-interface any, exclude non-IP
  Index 2: 0.0.0.0/0[0]->192.168.2.0/24[0], proto 0 <<<<<<<<< network is captured /24
           ingress-interface any, egress-interface any, exclude non-IP
--------------------------------------------------------------------------------
 

Nota: Tenga cuidado al habilitar las capturas en toda la red, podría haber una gran cantidad de paquetes que resulten en un alto consumo de plano de datos CPU y un posible impacto en el tráfico.



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClTJCA0&lang=es&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language