Nmap soporta diferentes tipos de escaneo de puertos TCP. Para entender la diferencia entre estos, necesitamos revisar el header TCP. El headder TCP es el primer segmento TCP de 24 bytes. La imagen de abajo muestra un header TCP, definido en la RFC 793.

En la primera fila, tenemos el puerto TCP fuente y destino. Cada fila tiene 32 bits, con un total de 6 filas, haciendo un total de 192 bits.
En oarticular, debemos centrarnos en las flags que Nmap puede configurar o desconfgurar. Tenemos flags TCP resaltadas en rojo. Configurar una flag (set) implica asignarle un valor de 1. De izquierda a derecha las flags son:
- URG: Flag urgente que indica que la información a continuación es urgente y se procesa sin tener que esperarpaquetes TCP mandados antes.
- ACK: La flag acknowledge indica que el número de reconocimiento es relevante. Se usa para indicar la recepción de un paquete TCP.
- PSH: La flag push le pide a TCP que pase la información a la aplicación rápidamente.
- RST: La flag reset es usada para terminar una conexión TCP.
- SYN: La flag synchronize se usa para iniciar un 3-way hadshake TCP.
- FIN: El que envía no tiene más información que mandar.
