[bglug] Sport Utility

k|b|s kbs@bglug.it
Mer 5 Gen 2005 18:38:31 CET


Non si tratta di un gippone, ma di uno script che ho fatto per vedere a che
servizio o trojano è appesa una porta.
L'ultimo netstat -vatn mi faceve notare un processo in attesa su una porta
oltre 32000, che poi ho scoperto essere legata a xfce-session. Senza cercare
su e giù per internet ho fatto questo script che scarica da iana, neophasis e
portsdb il database e poi ti evidenzia le porte e quello che dovrebbe legarsi
alla stessa anche in base al protocollo. E' una prima versione, quando ho
tempo perfeziono la sincronizzazione, che comunque se volete potete mettere
nel cron. Eccolo qua, ditemi se è la solita stronzata o se lo possiamo mettere
in lista per il premio lamerscript di quest'anno :)
Have fun ;^)

--8<-- CUT HERE --8<-- 
#!/bin/bash
# sport utility
#
# cat information about tcp/udp ports 
# by k|b|s <joegalaxy*despammed.com>
# License: GPL - http://www.gnu.org/licenses/gpl.txt

# cecho, colorize echo
# ASS, another shitty script... ;^)
# Colors
black='\E[0;0;30m'
blue='\E[0;0;34m'
green='\E[0;0;32m'
cyan='\E[0;0;36m'
red='\E[0;0;31m'
purple='\E[0;0;35m'
brown='\E[0;0;33m'
lightgray='\E[0;0;37m'
darkgray='\E[0;1;30m'
lightblue='\E[0;1;34m'
lightgreen='\E[0;1;32m'
lightcyan='\E[0;1;36m'
lightred='\E[0;1;31m'
lightpurple='\E[0;1;35m'
yellow='\E[0;1;33m'
white='\E[0;1;37m'
#
Reset="tput sgr0"
#
cecho ()
{
  message=${1:-}
  color=${2:-}
  echo -e "$color""$message"
  $Reset
  return
}
#


exit_usage=65
if [ -z "$1" ]; then
  echo ""
  cecho "Usage  : `basename $0` [port] [protocol]" $lightred
  cecho "  Example: `basename $0` 22 tcp" $brown
  cecho "Options:" $lightred
  cecho "  --sync   refresh the db (sport --sync)" $brown
  echo ""
  exit $exit_usage
fi

#
DBDIR="$HOME/.sport"

if [ ! -d $DBDIR ]; then
  mkdir -p $DBDIR
fi

if [ ! -s $DBDIR/iana.db ]; [ ! -s $DBDIR/neo-ports.db ]; [ ! -s $DBDIR/portsdb.db ]; then
  cecho "It seems you don't have a local ports db" $purple
  cecho "Do you want to download and create it now? [Y|n]" $red ; read answer
   case $answer in 
   N|n)
   exit
   ;;
   *)
   cecho "Downloading..." $red
   wget -v -c ftp://ftp.portsdb.org/PortsDB/services -O $DBDIR/portsdb.db
   wget -v -c http://www.iana.org/assignments/port-numbers -O $DBDIR/iana.db
   wget -v -c http://www.neohapsis.com/neolabs/neo-ports/neo-ports.svcs -O $DBDIR/neo-ports.db
   cecho "Done." $red
   ;;
   esac	  
fi


if [ "$1" = "--sync" ]; then
   cecho "Downloading..." $red
   wget -v -c ftp://ftp.portsdb.org/PortsDB/services -O $DBDIR/portsdb.db
   wget -v -c http://www.iana.org/assignments/port-numbers -O $DBDIR/iana.db
   wget -v -c http://www.neohapsis.com/neolabs/neo-ports/neo-ports.svcs -O $DBDIR/neo-ports.db
   cecho "Done." $red
else
echo ""
if [ -z "$2" ]; then 
cecho "I've found this records for port $1 tcp/udp:" $lightred
  else 
cecho "I've found this records for port $1/$2:" $lightred
fi
echo ""
cecho "     IANA:" $lightblue
cecho "`cat $DBDIR/iana.db | grep " $1/$2"`" $brown
echo ""
cecho "     Portsdb:" $lightblue
cecho "`cat $DBDIR/portsdb.db | grep " $1/$2"`" $brown
echo ""
cecho "     Neo-ports:" $lightblue
cecho "`cat $DBDIR/neo-ports.db | grep " $1/$2"`" $brown
echo ""

exit 0
fi
--8<-- CUT HERE --8<-- 


-- 
             ::1 sweet ::1
k|b|s ~> mailto `echo ti.gulgb@sbk|'rev'`



Maggiori informazioni sulla lista bglug