Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: el_peregrino_gris_ en 1 Marzo 2010, 20:26 pm



Título: Dentro de server telent ..lanzar otro telnet...[ .BAT ]
Publicado por: el_peregrino_gris_ en 1 Marzo 2010, 20:26 pm
Hola a todos ,he comenzado a dar mis primeros pasos con el mundo de la programacion soy muy novato en esto ,resulta que estoy haciendo un .bat que se logue a un servidor telnet y desde ahi lanze un telnet a una IP donde nuevamente se logue hasta aca va todo bien,....el problema que el telnet a la IP,debe ser a una IP que se encuentre en un .txt  o bien la IP sea introducida mediante un formulario .html  al codigo...espero haberme esplicado bien

Aca les paso un aporte de un miembro de este foro: <ИΘZIЭ(ŦB> ,quien le debemos este aporte :

Vé a ver si esto te sirve. Necesitas tener un archivo de texto (IPList.log) que contenga una IP o Host en cada línea. No importa cuántas líneas tenga; lo que cuenta es que haya una IP en cada una. A partir de ahí todo resulta bien.

Código
  1. @echo off
  2. cls
  3. set cont=0
  4. title Ping Maker [v0.1] By ^<N0ZI3(FB^>
  5. If exist "%~dp0IPList.log" (goto Read) else (goto Error)
  6.  
  7. :Read
  8. for /f "useback tokens=*" %%L in ("%~dp0IPList.log") do (
  9.     echo. & echo   Procesando %%L & echo.
  10.     set "host=%%L"
  11.     ping %%L >"%temp%\ping.log"
  12.     call:SaveLog1
  13. )
  14. If not defined host (
  15.     echo. & echo  ERROR: La lista de IP's est  vac¡a. & sleep 2
  16.     echo. & echo Cerrando...
  17.     sleep 5
  18.     exit /b
  19. )
  20. echo. & echo Terminado.
  21. del "%temp%\ping.log"
  22. pause>nul
  23.  
  24. :SaveLog1
  25. If [%errorlevel%] == [0] set "opFile=%~dp0ping_OK.log"
  26. If [%errorlevel%] == [1] set "opFile=%~dp0ping_Down.log"
  27. (echo   Resultados de %host% & echo.)>>"%opFile%"
  28. For /f "useback tokens=*" %%S in ("%temp%\ping.log") do (
  29.     set "line=%%S"
  30.     call:SaveLog2
  31. )
  32. If [%errorlevel%] == [0] (
  33.     echo -------------------------------------------------------------------------------
  34.     echo ------------------------------------------------------------------------------->>"%opFile%"
  35. )
  36. echo. >>"%opFile%"
  37. goto:eof
  38.  
  39. :SaveLog2
  40. If ["%line%"] neq [""] (
  41.     echo %line%
  42.     echo %line% >>"%opFile%"
  43. ) else (
  44.     echo -------------------------------------------------------------------------------
  45.     echo ------------------------------------------------------------------------------->>"%opFile%"
  46. )
  47. goto:eof
  48.  
  49. :Error
  50. echo. & echo  ERROR: No se encontr¢ la lista de IP's (IPList.log).
  51. echo  Debe crearla en el directorio actual y ejecutar
  52. echo  nuevamente la aplicaci¢n. & sleep 2
  53. echo. & echo  Cerrando...
  54. sleep 10
  55. exit /b
  56.  

Pruébalo y verás.. Avisa qué tal te va con él.

Saludos.

OJO: Acabo de hacerle un pequeño ajuste respecto al archivo que guardo en %temp%, por si habían copiado el código. Sería bueno que lo copien otra vez.

lo que hace esto es lo siguiente,toma un nuemero IP escrito en la primera linea de un archivo de texto llamado "IPList.log"  y luego lanza ping a esa IP....la segunda pregunta es como se podria adaptar este codigo para que en un server telnet lanzar otro telnet (en vez de ping) a una IP que se encuentre en  IPList.log ?  ::)

Desde ya muchas gracias a todos

P.D.: estoy usando el nircmd.exe para estas cosas  ;D 


Título: Re: Dentro de server telent ..lanzar otro telnet...[ .BAT ]
Publicado por: el_peregrino_gris_ en 13 Marzo 2010, 03:03 am

Investigando un poco mas encontre esto pude resolver lo de leer el .txt:

-Lo que hace esto es copiar al portapapeles una direccion IP que se encuentra en el archivo IP.txt
luego guarda el valor en un temportal,lo nombra como la variable %IP% ,y despues se ejeuta telnet %IP%,

Citar
@echo off
nircmd clipboard readfile "IP.txt"
nircmd clipboard writefile "%temp%\t.tmp"
<"%temp%\t.tmp" set /p "IP="
telnet %IP%
pause
exit /b 0

-Lo siguiente introduce la primera linea del .txt ,y despues ejecuta telnet a %IP%

Citar
<"PT.txt" set /p "IP="
set "IP"
telnet %IP%

Ahora bien....el primer telnet se ejecuta pero al lanzar el segundo,se ejecuta en otra ventana,y como resultado
son dos telnet cada uno en su ventana,y no como debieria ser todo dentro de una

como hacer esto????????????????? alguna idea??? desde ya gracias

Citar
telent XXXXXXXXXX
Login: asdasd
Password: asdasd

y una vez adentro....

telnet %IP%


info complemetaria:

Citar
http://foro.elhacker.net/scripting/problema_con_bat_para_telnet-t256251.0.html


                                                                                                                                                                             el_peregrino_gris_





Título: Re: Dentro de server telent ..lanzar otro telnet...[ .BAT ]
Publicado por: viksparrow en 8 Noviembre 2011, 15:46 pm
men no importa cuantas ventanas se te salgan lo importante es que funcione y si te funciona pasalo ´porfa. yo e buscado como loco pero no e encontrado como hacer un BENDITO telnet en .bat y que corra una serie de comandos siempre llego hasta el punto donde entra al telnet y ya no pasa nada  :huh: