#!/bin/sh # Script Realizado por BadreL. 22 Diciembre 1997. Feliz Navidad! :). # Este script para Linux realiza un escaneo de todos los numeros dados # en un fichero "carriers.log" extraido del wardialer THC-SCAN. Por ahora, # Uso: ppp-scaner # # Para evitar problemas debe poner los ficheros con toda la ruta: # ej: si los ficheros estan en tu directorio de trabajo has de poner: # $PWD/carriers.log $PWD/opciones.txt ... NUM_ARG=$# if [ $NUM_ARG == 0 ]; then echo PPP-SCANER v1.0. Realizado por BadreL. Diciembre, 1997. echo echo Uso: $0 '<'carriers.log'>' '<'dispositivo_modem'>' '<'timeout'>' '<'fichero.opciones'>' '<'fichero.chat'>' '<'fichero.auth'>' '<'fichero_resultados'>' '<'syslog_ppp.log'>' exit 1 fi if [ $NUM_ARG != 8 ]; then echo Uso: $0 '<'carriers.log'>' '<'dispositivo_modem'>' '<'timeout'>' '<'fichero.opciones'>' '<'fichero.chat'>' '<'fichero.auth'>' '<'fichero_resultados'>' '<'syslog_ppp.log'>' exit 1 fi if [ -s $1 ]; then echo ---------------------------------------------------------- echo Procesando argumentos.... echo Fichero CARRIERS.LOG procesado: $1 echo dispositivo serie: $2 echo Tiempo maximo de espera: $3 FICHERO=`cat $1 | grep Dialing | cut -f 4 -d ' ' | cut -b 1-9` # construimos el fichero de opciones de nuevo. Si te # interesa hacer el scaneo de otro modo, solo tienes que # cambiar lo de aki. No me preguntes a mi! RTFM! :). Esto # tiene por defecto lo necesario para una conexion a # infovia (PPP), usando PAP como protocolo de autentificacion. rm $4 touch $4 echo connect $5 >> $4 echo crtscts >> $4 echo modem >> $4 echo passive >> $4 echo +ua $6 >> $4 echo noipdefault >> $4 echo debug >> $4 echo defaultroute >> $4 echo asyncmap a0000 >> $4 echo Opciones de conexion: $4 echo Script CHAT usado: $5 echo Fichero de Autentificacion: $6 # vamos mirando cada linea del fichero_900 obtenido de CARRIERS.LOG for x in $FICHERO do { # Actualizamos la salida de syslogd para ppp. El fichero # ppp.log debe estar en el fichero syslog.conf, ... aprende # a configurarlo si no sabes, es facil :). cat $8 >> $PWD/ppp.prev cp /dev/null $8 rm $PWD/*.prev echo Fichero de Resultados: $7 echo Fichero de Depuracion PPP de Syslogd: $8 echo ----------------------------------------------------------- echo echo Numero actual: $x # actualizamos el .chat para cada numero. rm $5 echo "#!/bin/bash" >> $5 echo /usr/sbin/chat -v '""' ATZ OK ATM0 OK ATDT$x CONNECT '""' >> $5 sleep 1 chmod u+x $5 # nos cargamos el proceso del chat y el pppd killall -KILL chat killall -KILL pppd # Hacemos uso de pppd para realizar la conexion al numero # tratado en esta iteracion. sleep 2 /usr/sbin/pppd file $4 $2 38400 # esperamos un tiempo maximo de timeout (52 segundos) sleep $3 # miramos si la conexion ha tenido exito, obteniendo la IP # del enlace punto-a-punto. POINT=`ifconfig | grep "P-t-P"` RESULTADO_SYSLOG=`cat $8` echo --------------------------------------------------- >> $7 echo Numero: $x : >> $7 echo --------------------------------------------------- >> $7 echo Salida de Ifconfig: >> $7 echo >> $7 echo $POINT >> $7 echo >> $7 echo Resultado de Syslogd: >> $7 echo >> $7 cat $8 >> $7 echo --------------------------------------------------- >> $7 echo --------------------------------------------------- echo Numero: $x : echo --------------------------------------------------- echo Salida de Ifconfig: echo echo $POINT echo echo Resultado de Syslogd: echo cat $8 echo --------------------------------------------------- } done fi