El análisis del tráfico de red se convierte en una de las tareas de administración mas comunes y necesarias sin importar el tipo de organización ya que una mala configuración del TCP ocasionará errores de conexión y de gestión de todos los paquetes de red.
El protocolo TCP (Transmission-Control-Protocol - Protocolo de Control de Transmisión), es uno de los protocolos mas usados en ambientes de red ya que facilita la administración de los datos que vienen o van hacia el direccionamiento IP de modo que todo el proceso de red se completa de forma correcta.
- Facilita el monitoreo del flujo de los datos evitando la saturación de la red
- Permite que los datos se formen en segmentos de longitud variada para entregarlos al protocolo IP
- Da la posibilidad de multiplexar los datos, es decir, hace que la información cuyo origen es de diferentes fuentes pueda circular de forma simultáneamente.
Ahora, existen diversas opciones para analizar este tráfico de red y es gracias a la utilidad TCPflow, Solvetic explicara como instalarla y usarla en ambientes Linux.
Cada flujo de TCP se almacena en su respectivo archivo, de este modo, el flujo TCP típico se almacenará en dos archivos, uno para cada dirección administrada.
Dentro de su conjunto de características se incluye un sistema de complemento avanzado el cual permite descomprimir conexiones HTTP comprimidas, deshacer la codificación MIME o invocar programas de terceros para el postproceso y muchas opciones más.
- Comprender los flujos de paquetes de red y realizar análisis forense de red
- Revelar el contenido de las sesiones HTTP
- Reconstruir páginas web descargadas a través de HTTP
- Extraer malware entregado con la categoría drive-by downloads
Ahora vamos a ver cómo usar TCPflow
1. Cómo instalar TCPflow en Linux
Para instalar TCPflow debemos ejecutar alguno de los siguientes comandos según la distribución usada:
sudo apt install tcpflow (Debian / Ubuntu) sudo yum install tcpflow (CentOS / RHEL) sudo dnf install tcpflow (Fedora)
Ingresamos la letra S para confirmar la descarga e instalación de la utilidad.
Después de instalar TCPflow, será posible ejecutarlo con privilegios de superusuario o de lo contrario hacer uso del comando sudo, TCPflow escucha en la interfaz de red activa del sistema.
sudo tcpflow
En este caso veremos que la interfaz seleccionada es enp0s3.
Por defecto, TCPflow almacena todos los datos capturados en archivos que poseen nombres en el formulario con la siguiente sintaxis:
sourceip.sourceport-destip.destport
Podemos realizar una lista de directorios para comprobar si el flujo tcp ha sido capturado en cualquier archivo disponible, ejecutamos:
ls -l
Como se ha mencionado antes, cada flujo TCP se almacena en su propio archivo, allí encontramos diferentes formularios.
El primer archivo 192.168.000.004.51548-040.112.187.188.05228 se alojan los datos transferidos desde el host en el cual se ejecutó a través del puerto seleccionado al host remoto a través del puerto indicado.
2. Cómo comprobar detalles de navegación capturados por TCPflow Linux
Para comprobar esto, podemos abrir otra terminal y ejecutar un ping o bien navegar por Internet, los detalles de navegación que está capturando TCPflow serán reflejados allí, ejecutamos lo siguiente:
sudo tcpflow -c
TCPflow nos permite capturar todo el tráfico en un puerto único, como el puerto 80 (HTTP), para este caso, se podrá ver los encabezados HTTP seguidos por el contenido, ejecutamos lo siguiente:
sudo tcpflow port 80
Podemos capturar paquetes de una interfaz de red específica, con el parámetro -i para especificar el nombre de la interfaz así:
sudo tcpflow -i enp0s3 port 80También es posible indicar un host de destino tomando su dirección IP o su URL:
sudo tcpflow -c host www.solvetic.com
Será posible habilitar todos los procesos de los escáneres con el parámetro -a:
sudo tcpflow -a
Podemos especificar un escáner en especial para ser habilitado, los escáneres disponibles incluyen md5, http, netviz, tcpdemux y wifiviz, las opciones a usar son:
sudo tcpflow -e http sudo tcpflow -e md5 sudo tcpflow -e netviz sudo tcpflow -e tcpdemux sudo tcpflow -e wifiviz
Si queremos habilitar el modo de verbo podemos ejecutar alguna de las siguientes opciones:
sudo tcpflow -d 10 sudo tcpflow -v
Finalmente, para acceder a la ayuda de la utilidad ejecutamos:
man tcpflowAsí, TCPflow nos permite tener el control sobre todos los procesos TCP en ambientes Linux de una forma integral y completa.