Monitoreo de VSFTPD
Marco Escobar
escobarm en terra.cl
Mar Oct 18 17:00:37 CLST 2005
Gracias ya solucione el problema con un script si les sirev se los envio
------------------------------------------------------------------------
#!/bin/sh
# Analiza y hace un sumario a el log del ftp osea xferlog
# -------Marco Escobar------
stdxferlog="/var/log/xferlog"
temp="/tmp/$(basename $0).$$"
nicenum="$HOME/bin/nicenumber"
trap "/bin/rm -f $temp" 0
extract()
{
# llamamos con $1 = acceso modo deseado, $2 = nombre seccion para la
salida
if [ ! -z "$(echo $accessmode | grep $1)" ] ; then
echo "" ; echo "$2"
if [ "$1" = "a" -o "$1" = "g" ] ; then
echo " Cuentas Comunes (Password Ingresadas) Valores:"
else
echo " Cuentas de Usuarios Accesando al Servidor: "
fi
awk "\$13 == \"$1\" { print \$14 }" $log | sort | \
uniq -c | sort -rn | head -10 | sed 's/^/ /'
awk "\$13 == \"$1\" && \$12 == \"o\" { print \$9 }" $log | sort | \
uniq -c | sort -rn | head -10 | sed 's/^/ /' > $temp
if [ -s $temp ] ; then
echo " Archivos Bajados desde Nuestro Servidor:" ; cat $temp
fi
awk "\$13 == \"$1\" && \$12 == \"i\" { print \$9 }" $log | sort | \
uniq -c | sort -rn | head -10000000000 | sed 's/^/ /' > $temp
if [ -s $temp ] ; then
echo " Archivos Enviados a Nuestro Servidor :" ; cat $temp
fi
fi
}
##### main !! xD
case $# in
0 ) log=$stdxferlog ;;
1 ) log="$1" ;;
* ) echo "Usage: $(basename $0) {xferlog name}" >&2
exit 1
esac
if [ ! -r $log ] ; then
echo "$(basename $0): No se Puede Accesa o Leer $log." >&2
exit 1
fi
if [ ! -z $(awk '$6 == "get" { short=1 } END{ print short }' $log) ] ;
then
bytesin="$(awk 'BEGIN{sum=0} $6 == "get" {sum += $9} END{ print sum }'
$log )" bytesout="$(awk 'BEGIN{sum=0} $6 == "put" {sum += $9} END
{ print sum }' $log )"
echo -n "Log de Ftp Abreviado "
echo -n $(head -1 $log | awk '{print $1, $2, $3 }')
echo " to $(tail -1 $log | awk '{print $1, $2, $3}')"
echo " Bytes Ingresados: $($nicenum $bytesin)"
echo " Bytes Enviados: $($nicenum $bytesout)"
exit 0
fi
bytesin="$(awk 'BEGIN{sum=0} $12 == "i" {sum += $8} END{ print sum }'
$log )"
bytesout="$(awk 'BEGIN{sum=0} $12 == "o" {sum += $8} END{ print sum }'
$log )"
time="$(awk 'BEGIN{sum=0} {sum += $6} END{ print sum }' $log)"
echo -n "Sumario del Log de Ftp "
echo -n $(head -1 $log | awk '{print $1, $2, $3, $4, $5 }')
echo " to $(tail -1 $log | awk '{print $1, $2, $3, $4, $5}')"
echo " Bytes Ingresados: $($nicenum $bytesin)"
echo " Bytes Enviados: $($nicenum $bytesout)"
echo " Tiempo de Transferencia: $time seconds"
accessmode="$(awk '{print $13}' $log | sort -u)"
extract "a" "Acceso Anonimo"
extract "g" "Acceso de Invitados"
extract "r" "Acceso Usuarios Reales"
exit 0
------------------------------------------------------------------------
esto despliega algo asi
------------------------------------------------------------------------
Sumario del Log de Ftp Tue Oct 18 13:12:52 2005 to Tue Oct 18 13:13:18
2005
Bytes Ingresados:
Bytes Enviados:
Tiempo de Transferencia: 40 seconds
Acceso Usuarios Reales
Cuentas de Usuarios Accesando al Servidor:
4 terreno
5 administrador
Archivos Enviados a Nuestro Servidor :
1 /thesis.pdf
1 /TAGSI03-TareaTecnSI-grupo10.pdf
1 /SuperDAT.log
1 /RHN-reference-400-es.pdf
1 /portfolio.pdf
1 /phpmysqlap.pdf
1 /manualpHPNUKE.pdf
1 /Manual_Acceso_Hidra.pdf
1 /IntroFedora.pdf
------------------------------------------------------------------------
ojala les sirva
Gracias
El mar, 18-10-2005 a las 14:10 -0300, Cristian Madrid escribió:
> El Martes, 18 de Octubre de 2005 12:03, Francisco Collao Garate escribió:
> > Marco Escobar wrote:
> > > hola, consulta,
> > >
> > > habra algun programa para poder monitorear el vsftpd osea ver los
> > > usuarios conectados , lo que suben o bajan del ftp por que he buscado y
> > > no he encontrado nada
> > >
> Yo lo monitoreo con logwatch cada cierto tiempo asignado por mi en
> logwatch.conf
> > > si me pueden ayudar please
> > >
> > >
> > > gracias
> >
> > Configuras el vsftp para que te entrege un log:
> > en /etc/vsftpd/vsftpd.conf
> >
> > xferlog_file=/var/log/vsftpd.log
> >
> > reinicias el servicio y luego en consola o terminal te aplicas con un:
> >
> > # tail -f /var/log/vsftpd.log
> >
> > algo mas amistoso que eso no hay :-D
> >
> > salu2
>
Más información sobre la lista de distribución Linux