Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Floreal en 26 Abril 2009, 21:19 pm



Título: [batch]Crear lista de direcciones
Publicado por: Floreal en 26 Abril 2009, 21:19 pm
Hola a la comunidad, este es mi primer post de muchos y recurro a su ayuda porque no la tengo muy clara con la programación en este momento, pero sigo la carrera asi que mas adelante espero salvaguardar las dudas de otros.

Mi idea es crear un script en batch que sea capaz de leer la dirección IP que se esta usando al momento y guardarla en un txt, luego renovarla y una ves obtenida la nueva
.) Si es la misma y rehacer el paso anterior
.) Si es distinta almacenarla en un txt (con la que ya estaba guardada) y terminar

Estoy podría ser util para sitios como rapidshare o megaupload u otros que te baneen la ip impdiendote seguir con el procedimiento que estabas llevando a cabo.

Bueno hasta ahora tengo lo siguiente (algunas cosas las saqué de acá)

En mi caso tengo ip fija, asi que no basta con un /renew pero agregandole una ip manual y despues obteniendo una del dhcp obtengo una ip diferente  (puede ser que te toque la misma, cuestión de probabilidad, pero a medida que se van usando la probabilidad aumenta)

[codigo]
ipconfig /release conexion
netsh interface ip set address name="conexion" source=static addr=1.1.1.1 mask=255.255.255.0
netsh interface ip set address name="conexion" source=dhcp
[/codigo]

Esta parte la saqué de este foro. La ip es guardada en tuip.txt. El único problema que veo es que lo guarda con un espacio adelante y otro atrás, ej:" 192.168.0.1 "
Tampoco se como agregar una linea a un txt por ejemplo :s
[codigo]
@echo on
ipconfig /all>tuip.txt
FOR /f "tokens=2 delims=:" %%a in ('find /I " IP" tuip.txt') do (set tuip=%%a)
del tuip.txt
echo %tuip%>tuip.txt
[/codigo]

Bueno, hasta ahi llegué, al que me de una manito para ver como seguir le estaré agradecido.

Saludos


Título: Re: [batch]Crear lista de direcciones
Publicado por: leogtz en 27 Abril 2009, 16:52 pm
Hola, a ver si te sirve esto :
Código
  1. @echo off
  2. :: Leer direccion que se esta usando al momento y guardarla en un .txt:
  3. for /f "tokens=3" %%_ in ('netsh diag show ip ^| find /i "ipaddress"') do (
  4. echo %%_ > "ip.txt"
  5. )
  6. :: RENOVAR LA IP
  7. :: Volver a sacar la ip, y compararla con la del .txt :
  8. for /f "tokens=3" %%_ in ('netsh diag show ip ^| find /i "ipaddress"') do (
  9. set "ip=%%_"
  10. )
  11. for /f "tokens=1" %%_ in (ip.txt) do (
  12. set "ip_txt=%%_"
  13. )
  14. :: Se tienen las dos variables, se comparan :
  15. if "%ip%"=="%ip_txt%" (
  16. echo.Iguales
  17. rem Acciones
  18. ) else (
  19. echo.No iguales
  20. rem Acciones
  21. )
-El codigo guarda la direccion IP actual en un archivo de texto llamado "ip.txt".
-Se renueva la IP (Eso lo haces tu).
-Se vuelve a sacar la IP actual, se guarda en una variable, comparar se luego.
-Se coge la direccion IP del archivo de texto, y se guarda en una variable de texto.
-Luego se hace la comparación.

Saludos.