GNU/Linux >> Tutoriales Linux >  >> Linux

Supervise el tráfico TCP en un puerto específico

editar :Todavía recibo votos positivos por esto años después. Por favor, no busque esta respuesta, la respuesta usando iptables aquí es muy superior en mi opinión.

tcpdump port 443 and '(tcp-syn|tcp-ack)!=0'

o solo tcp-syn , o solo tcp-ack (Supongo que sería ese), dependiendo de lo que necesites.


Puede usar el soporte de iptables en el kernel de Linux para esto. La ventaja es que no requiere ningún software adicional para ser moderadamente útil. La desventaja es que requiere privilegios de root para configurarlo (pero dado que está hablando del puerto 443, que es un puerto privilegiado, probablemente necesite privilegios de root con la mayoría de las soluciones).

Agregue una regla de iptables con algo como:

sudo iptables -I INPUT -p tcp --dport 443 --syn -j LOG --log-prefix "HTTPS SYN: "

(Ajuste el -I INPUT parte a su gusto.)

Cuando se activa la regla, el kernel emitirá una entrada de syslog. Por ejemplo, con una regla de entrada, la entrada de registro puede verse como:

5 de diciembre 09:10:56 nombre de host kernel:[1023963.185332] HTTPS SYN:IN=ifX OUT=MAC=80:80:80:80:80:80:80:80:80:80:80:80:08:00 SRC=A.B.C.D DST=W.X.Y.Z LEN=52 TOS=0x00 PREC=0x20 TTL=119 ID=11901 DF PROTO=TCP SPT=37287 DPT=443 WINDOW=8192 RES=0x00 SYN URGP=0

Luego puede usar cualquier herramienta de monitoreo de registros común y corriente para hacer algo útil con esta información. Si su implementación de syslog lo admite, puede incluso dirigirlos a un archivo de registro separado, lo que cumplirá efectivamente con su requisito de escribir los datos de conexión en un archivo con marca de tiempo al segundo sin software adicional.

Tenga en cuenta que el LOG el destino es un destino que no termina, lo que significa que cualquier regla que lo siga aún se evaluará y el paquete no será rechazado ni aceptado por la regla LOG en sí. Esto hace que el LOG objetivo útil también para depurar reglas de cortafuegos.

Para evitar inundar su registro, considere usar el limit módulo junto con este. Consulte la página del manual de iptables(8) para obtener más información.


Resolución de microsegundos

De forma predeterminada, la utilidad tcpdump informará el tiempo con una resolución de microsegundos. Por ejemplo:

$ sudo tcpdump -i any port 443

mostrará un resultado similar al siguiente:

12:08:14.028945 IP localhost.33255> localhost.https:Banderas [S], seq 1828376761, ganar 43690, opciones [mss 65495, sackOK, TS val 108010971 ecr 0, nop, wscale 7], longitud 0
12:08:14.028959 IP localhost.https> localhost.33255:Banderas [R.], secuencia 0, reconocimiento 1828376762, ganancia 0, longitud 0

Consulte tcpdump(8) para obtener una lista completa de las opciones de tcpdump y pcap-filter(7) para ver la sintaxis completa de los filtros que puede usar.


Linux
  1. Cómo bloquear un puerto específico en CentOS 8 como 22

  2. ¿Cómo monitorear el tráfico TCP entre Localhost y la dirección IP?

  3. Supervise ssh en un puerto no predeterminado con Nagios

  4. ¿Cómo puedo monitorear el tráfico del puerto serie?

  5. Significado de las entradas de registro de una configuración de iptables

Monitoreo de ancho de banda

Cómo hacer ping a un número de puerto específico

Instale Ntopng para monitorear el tráfico de red en Ubuntu 20.04

Comprobar el tráfico de red saliente

¿Cómo puedo portar hacia adelante con iptables?

Unix socket vs host TCP/IP:puerto