Netstat con colorcitos

GNU/Linux

GNU/Linux

Luego del post de ayer, pensando en que vengo posteando poco, me puse a buscar a ver si tenía algún otro script útil que pudiera compartir por este medio… pero no encontré nada. Algo debo tener por ahí, pero nada a mano. Lo que encontré es este script (medio feo) que hice hace bastante tiempo, que muestra un netstat (concretamente netstat -natp) con distintos colores según el estado de cada conexión (established, listen, syn_sent, fyn_wait, etc.). Claramente no es un script muy útil (ni muy bien hecho), pero lo publico. Quizás a alguno le sirve de disparador para hacer algo verdaderamente útil.

#!/bin/bash
cyan="\E[1;36m\E[1m";
normal="\E[m";
blue="\E[34m\E[1m";
violet="\E[35m\E[1m";
red="\E[31m\E[1m";
yellow="\E[33m\E[1m";
green="\E[37m\E[32m\E[1m";
text="\E[1;37m\E[1m";

if [ "$UID" != "0" ]; then
	echo -e "$red$0: You will get more information if you have root privileges. Try sudo $0$normal"
fi

netstat -natp | \
while read line; do

	if [ `echo $line | awk '{print($1)}'` = "Proto" ]; then
		echo -e "$yellow=====================================================================================================$normal"
		echo -e "$text$line$normal"
		echo -e "$yellow=====================================================================================================$normal"
	else

		state=`echo $line | awk '{print($6)}'`
		color=$normal
		case $state in
			"ESTABLISHED")
				color=$green;;
			"SYN_SENT" | "SYN_RECV")
				color=$yellow;;
			"FIN_WAIT1" | "FIN_WAIT2" |"TIME_WAIT")
				color=$violet;;
			"CLOSE" | "CLOSE_WAIT" | "LAST_ACK" | "CLOSING" )
				color=$blue;;
			"LISTEN")
				color=$cyan;;
			"UNKNOWN")
				color=$red;;
			*)
		esac
		echo -e "$color$line$normal"

	fi
done;

Nota: el script utiliza el comando netstat con los parámetros “natp”. Estos parámetros de esta forma solamente funcionan en GNU/Linux. Para otros sistemas Unix (Solaris, FreeBSD, etc.) será necesario adaptar los parámetros y ver si la salida del netstat es igual.

Bookmark and Share
Comentar

0 Comentarios.

Comentar


[ Ctrl + Enter ]