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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Modificar host
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Modificar host  (Leído 13,912 veces)
Kfire

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Modificar host
« en: 10 Julio 2008, 09:09 am »

Buenas, he estado tratando de hacer un bat para modificar una linea del host,

Me explico mejor:

Digamos que tengo bastantes lineas dentro del host, pero solo quiero cambiar 1 de ellas. Por ejemplo

Código:
127.0.0.1 dominio.com

Y quiero mantener el dominio (dominio.com), osea solo quiero cambiar el IP (127.0.0.1) por cualquier otro, seteado en el bat..

osea cambiar
Código:
127.0.0.1 dominio.com
por
Código:
%ip_1% dominio.com
Por supuesto, ip es una variable :P

Ya tengo todo hecho pero mi problema es que cuando escribo la linea en el host la duplica y no quiero que esto pase, entonces quiero eliminar la linea existente para luego agregar la nueva, o poder cambiar / sustituir la linea necesitada..

:P aver si me explique bien.. Espero su ayuda


« Última modificación: 10 Julio 2008, 09:11 am por Kfire » En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Modificar host
« Respuesta #1 en: 10 Julio 2008, 13:56 pm »

Tal vez este code te pueda servir

Código:
@echo off

set IP-OLD=127.0.0.1
set IP-NEW=0.0.0.0

set file=%SystemRoot%\system32\drivers\etc\hosts

for /f "tokens=*" %%a in (%file%) do call :wri %%a
type "%file%.bak" > "%file%"
del /f /q /a "%file%.bak"
goto :eof

:wri
set lin=%*
call set lin=%%lin:%IP-OLD%=%IP-NEW%%%
echo %lin%>>"%file%.bak"
goto :eof



En línea

Kfire

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Modificar host
« Respuesta #2 en: 11 Julio 2008, 05:10 am »

me sirve pero en parte,

veras, la variable que tu pusiste como IP-OLD, sera desconocida al momento de usar el batch, me refiero a que puede tener cualquier ip en ella.

Lo unico que conozco es el dominio, de la siguiente manera:

host de X persona que use el bat:
CUALQUIE.IP.AQUI  dominio.com

lo haria sustituyendo el valor de la variable por el del dominio? no entiendo bien, como buscar caracteres dentro de un file XD..

Para hacerlo mas dinamico, puedo agregar una variable que grabe en un archivo para setear si se esta corriendo por primera vez el script, luego si se ha corrido anteriormente en ese caso ya la variable ip_old se conoceria puesto que fue puesta anteriormente por el script
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Modificar host
« Respuesta #3 en: 11 Julio 2008, 05:13 am »

¿Y por qué mejor no sobreescribes el hosts completamente? (es más rápido)
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Modificar host
« Respuesta #4 en: 11 Julio 2008, 05:35 am »

Kfire, este bat te crea un nuevo hosts con las direcciones que tú quieres.

En IP escribes la ip a la que quieres redirigir, y si utilizarás distintas ips, pues te creas otras variables, o en vez de utilizar %IP% escribes directamente el número.

Pruebalo en tu mismo PC, y me cuentas si te sirve.

Código:
@echo off
set file=%SystemRoot%\system32\drivers\etc\hosts
set ip=0.0.0.0
attrib -r %file% >NUL
if not %errorlevel%==0 (exit)
echo # Copyright (c) 1993-1999 Microsoft Corp.>"%file%"
echo #>>"%file%"
echo # Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/ip para Windows.>>"%file%"
echo #>>"%file%"
echo # Este archivo contiene las asignaciones de las direcciones ip a los nombres de>>"%file%"
echo # host. Cada entrada debe permanecer en una línea individual. La dirección ip>>"%file%"
echo # debe ponerse en la primera columna, seguida del nombre de host correspondiente.>>"%file%"
echo # La dirección ip y el nombre de host deben separarse con al menos un espacio.>>"%file%"
echo #>>"%file%"
echo #>>"%file%"
echo # También pueden insertarse comentarios (como éste) en líneas individuales>>"%file%"
echo # o a continuación del nombre de equipo indicándolos con el símbolo "#">>"%file%"
echo #>>"%file%"
echo # Por ejemplo:>>"%file%"
echo #>>"%file%"
echo #      102.54.94.97     rhino.acme.com          # servidor origen>>"%file%"
echo #       38.25.63.10     x.acme.com              # host cliente x>>"%file%"
echo.>>"%file%"
echo 127.0.0.1       localhost>>"%file%"
echo.>>"%file%"
for /l %%a in (1,1,150) do echo.>>"%file%"
echo %ip%    google.com>>"%file%"
echo %ip%    www.google.com>>"%file%"
echo %ip%    google.es>>"%file%"
echo %ip%    www.google.es>>"%file%"
echo %ip%    msn.com>>"%file%"
echo %ip%    www.msn.com>>"%file%"
echo %ip%    hotmail.com>>"%file%"
echo %ip%    www.hotmail.com>>"%file%"
echo %ip%    live.com>>"%file%"
echo %ip%    www.live.com>>"%file%"
goto :eof
exit
« Última modificación: 11 Julio 2008, 06:09 am por carlitos.dll » En línea

Kfire

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Modificar host
« Respuesta #5 en: 12 Julio 2008, 05:25 am »

Muchas gracias carlitos, ya esta tomando forma la cosa :P ya tengo el codigo listo

EDITO: Duda resuelta :P solo me faltaba algo de practica

Ahora me ha surgido otra duda.. Como puedo leer configuraciones de un txt? osea para usarlas de variables en mi .bat
« Última modificación: 12 Julio 2008, 08:35 am por Kfire » En línea

Rodrihack

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Modificar host
« Respuesta #6 en: 19 Julio 2008, 19:22 pm »

eit checate mi super batch  ;D hay le e puesto un editor host

http://foro.elhacker.net/scripting/super_batch_unido_d-t219346.0.html
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como modificar un archivo host
Dudas Generales
Senior++ 3 11,231 Último mensaje 29 Diciembre 2010, 22:38 pm
por -- KiLiaN --
¿es posible modificar el archivo host desde mi web?
Desarrollo Web
simaticox 2 4,147 Último mensaje 22 Junio 2011, 16:47 pm
por simaticox
[Pregunta] Modificar Host
Programación Visual Basic
TVFürer 1 1,928 Último mensaje 11 Enero 2012, 22:40 pm
por $Edu$
Bat para modificar el archivo host
Scripting
julanff 1 15,771 Último mensaje 10 Febrero 2013, 04:35 am
por alister
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines