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

 

 


Tema destacado: Únete al Grupo Steam 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 8,321 veces)
BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


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

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 am »

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 pm por -- KiLiaN -- » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



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

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 am »

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 am »

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 am 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 am »

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 am »

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 am 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 am »

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.878



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

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 pm 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 pm »

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 pm 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] Jugando con la IP I « 1 2 »
Scripting
Eleкtro 10 6,964 Último mensaje 10 Mayo 2012, 17:24 pm
por 79137913
[Reto Batch] It's a dir? « 1 2 3 4 »
Scripting
Eleкtro 30 20,451 Último mensaje 31 Marzo 2014, 18:13 pm
por Shell Root
[Reto Batch] Melt ($Edu$) « 1 2 3 4 »
Scripting
Eleкtro 39 16,491 Último mensaje 23 Diciembre 2012, 18:19 pm
por Segadorfelix
[Reto Batch] Hex2Dec Batch Command « 1 2 »
Scripting
BatchianoISpyxolo 15 8,664 Último mensaje 22 Julio 2012, 06:00 am
por Binary_Death
[Reto Batch] VIRUS HELLO !! « 1 2 »
Scripting
Eleкtro 10 8,152 Último mensaje 22 Julio 2012, 00:32 am
por Binary_Death
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines