Hay veces que queremos saber si se están estableciendo conexiones a un determinado puesto de nuestra máquina. Para ello se puede usar la herramienta iptables, que aunque habitualmente se utiliza para filtrar también permite guardar un registro de todo lo relacionado con red.
Por ejemplo, para supervisar conexiones a una BBDD MySQL, que escucha en el puerto 3306:
iptables -A INPUT -p tcp --dport 3306 --syn -j LOG
En /var/log/messages aparecerán los siguientes mensajes cada vez que se intente conectar a ese puerto:
Jan 14 11:59:34 debian kernel: [ 3109.941630] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=18893 DF PROTO=TCP SPT=51698 DPT=22 WINDOW=32792 RES=0x00 SYN URGP=0
Si se quieren evitar las conexiones locales, se puede añadir otro parámetro:
iptables -A INPUT -s ! 127.0.0.1 -p tcp --dport 3306 --syn -j LOG