elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Reto Batch] Get IP from DNS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Reto Batch] Get IP from DNS  (Leído 5,199 veces)
BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
[Reto Batch] Get IP from DNS
« en: 7 Mayo 2012, 09:25 »

Otro más de comandos... (y último :P)

Reto iniciado por Batchiano

Reto Nº 12

Nombre:          Get IP from DNS
Dificultad:       4/10
Objetivo:         Crear un comando que, al enviar un DNS, devuelva la IP adjunta a dicho DNS
Indicaciones:  Es obligatorio utilizar FOR.
Pista:               PING.
Ejemplo:



Solución: MP


En línea

Puede que desees aprender a programar desde 0: www.espascal.es
-- KiLiaN --


Desconectado Desconectado

Mensajes: 1.163


Ju Já!!


Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #1 en: 7 Mayo 2012, 10:53 »

Aqui el mio  :P

Código
  1. @echo off
  2. If "%1" EQU "" Echo GetIP [URL]
  3. ping "%1" > archi.tmp
  4. find  /N "%1" archi.tmp > archiv.tmp
  5. For /F "tokens=5 skip=1" %%i in (archiv.tmp) do (echo %%i)
  6. del /Q archi.tmp archiv.tmp
  7. Exit /B

EDIT: Modificado con la observaciones de elektro h@cker


« Última modificación: 30 Agosto 2012, 15:18 por -- KiLiaN -- » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #2 en: 7 Mayo 2012, 11:06 »

Aqui el mio  :P

Funciona :), Pero déjalo así para que no mande tantas peticiones y no tarde ni medio segundo en mostrar la ip...
Código
  1. ping -n 1 "%1" > archi.tmp

PD: Usa "Exit /B" a la hora de "Hacer comandos" para no terminar la instancia de la CMD :P

Salu2
En línea


-- KiLiaN --


Desconectado Desconectado

Mensajes: 1.163


Ju Já!!


Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #3 en: 7 Mayo 2012, 11:10 »

Citar
PD: Usa "Exit /B" a la hora de "Hacer comandos" para no terminar la instancia de la CMD

Buen apunte, en todos los aspectos, maestro xD
En línea

BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #4 en: 7 Mayo 2012, 11:12 »

Aqui el mio  :P

Código
  1. @echo off
  2. If "%1" EQU "" Echo GetIP [URL]
  3. ping "%1" > archi.tmp
  4. find /N "%1" archi.tmp > archiv.tmp
  5. For /F "tokens=5 skip=1" %%i in (archiv.tmp) do (echo %%i)
  6. del /Q archi.tmp archiv.tmp

Funciona aunque lo mismo que en el anterior reto: estructura if-else

Código:
if Expresión-booleana (
acciones (TRUE)
) else (
acciones (FALSE)
)

PD: se puede acortar el código y no hace falta crear achivos temporales.

¡Buen trabajo!
« Última modificación: 7 Mayo 2012, 11:13 por Batchiano » En línea

Puede que desees aprender a programar desde 0: www.espascal.es
-- KiLiaN --


Desconectado Desconectado

Mensajes: 1.163


Ju Já!!


Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #5 en: 7 Mayo 2012, 11:13 »

La única solución no es la que tu hayas hecho si funciona el codigo debería darse por bueno digo yo, ya que hay varias formas de hacer lo mismo..obviamente se puede hacer mas corto y mas bonito y al IF no le veo nada malo..
En línea

BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #6 en: 7 Mayo 2012, 11:21 »

Pues mira, el IF está mal porque aunque el usuario no introduzca ninguna url, el comando trata de obtener la ip de una url que no ha sido recibida. Por lo tanto estás haciendo ping "" > archi.tmp porque %1 es una cadena vacía... entonces:

Código
  1. if "%1" EQU "" (
  2. Echo GetIP [URL]
  3. ) else (
  4. ping "%1" > archi.tmp
  5. find /N "%1" archi.tmp > archiv.tmp
  6. For /F "tokens=5 skip=1" %%i in (archiv.tmp) do (echo %%i)
  7. del /Q archi.tmp archiv.tmp
  8. )

No quiero que se me interprete mal. Yo no estoy riñendo a nadie xD. Cuando yo empecé en Batch hacía igual que tú... Buen trabajo como dije antes.
« Última modificación: 7 Mayo 2012, 11:23 por Batchiano » En línea

Puede que desees aprender a programar desde 0: www.espascal.es
-- KiLiaN --


Desconectado Desconectado

Mensajes: 1.163


Ju Já!!


Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #7 en: 7 Mayo 2012, 11:28 »

Código
  1. @echo off
  2. If "%1" EQU "" Echo GetIP [URL] & goto :EOF
  3. ping "%1" > archi.tmp
  4. find /N "%1" archi.tmp > archiv.tmp
  5. For /F "tokens=5 skip=1" %%i in (archiv.tmp) do (echo %%i)
  6. del /Q archi.tmp archiv.tmp

Asi no hace falta el else..

PD: no te tomes a mal tampoco mis palabras, yo no me tomé a mal las tuyas xD
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #8 en: 7 Mayo 2012, 12:13 »

obviamente se puede hacer mas corto y mas bonito y al IF no le veo nada malo..

Código
  1. @Echo OFF
  2. ping -n 1 %* >NUL || (Echo GetIP [URL] | MORE & Echo Compruebe el nombre y vuelva a intentarlo... & Exit /B 1)
  3. For /F "tokens=2 delims=[]" %%# in ('ping -n 1 %*') do (Echo %%# & Exit /B 0)

Salu2!
« Última modificación: 7 Mayo 2012, 12:28 por EleKtro H@cker » En línea


BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: [Reto Batch] Get IP from DNS
« Respuesta #9 en: 7 Mayo 2012, 12:41 »

Código
  1. @Echo OFF
  2. ping -n 1 %* >NUL || (Echo GetIP [URL] | MORE & Echo Compruebe el nombre y vuelva a intentarlo... & Exit /B 1)
  3. For /F "tokens=2 delims=[]" %%# in ('ping -n 1 %*') do (Echo %%# & Exit /B 0)

Salu2!

Genial. Y genial lo de la condición lógica :) Yo al for le había añadido skip=1 aunque no hace falta.
« Última modificación: 7 Mayo 2012, 12:46 por Batchiano » En línea

Puede que desees aprender a programar desde 0: www.espascal.es
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Reto Batch] It's a dir? « 1 2 3 4 »
Scripting
Eleкtro 30 13,444 Último mensaje 31 Marzo 2014, 18:13
por Shell Root
[Reto Batch] Melt ($Edu$) « 1 2 3 4 »
Scripting
Eleкtro 39 9,425 Último mensaje 23 Diciembre 2012, 18:19
por Segadorfelix
[Reto Batch] Hex2Dec Batch Command « 1 2 »
Scripting
BatchianoISpyxolo 15 4,717 Último mensaje 22 Julio 2012, 06:00
por Binary_Death
[Reto Batch]Buscame en el log « 1 2 »
Scripting
Puntoinfinito 10 3,303 Último mensaje 18 Julio 2012, 16:50
por Puntoinfinito
Crackme BATCH - Reto
Ingeniería Inversa
Puntoinfinito 9 3,193 Último mensaje 19 Agosto 2012, 02:13
por r@mbyte
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines