Batch Script Compara IPs

Iniciado por Fluflu, 29 Julio 2010, 18:41 PM

0 Miembros y 1 Visitante están viendo este tema.

Fluflu

Hola, hace poco he hecho un pequeño script en batch. En un principio lo pensé para obtener más facilmente la ip de un contacto de messenger sin instalar messenger plus, ya que no me funciona bien.



Usando netstat manualmente nunca lo había conseguido, por el contrario con esto no me falla :). Además le he añadido un par de utilidades (sin mucha utilidad), ver la configuración IP actual y las conexiones actuales.

Bueno, pongo el codigo a ver que os parece:

Código (dos) [Seleccionar]

@echo off
rem Durante la comparacion de conexiones se crean archivos de texto con informacion util para el script, al final del proceso son eliminados.
rem ini.txt es el archivo de referencia para la comparacion.
rem El resultado se almacena en comaparacion.txt.
title IPs-Compara
color 0a

:menu
cls
echo Comparador de Conexiones:
echo.
echo  1. Comenzar analisis
echo  2. Ver configuracion IP local
echo  3. Ver conexiones actuales
echo  4. Salir
echo.
set /p o1= -Opcion:_
if %o1% == 1 goto comp
if %o1% == 2 goto ip
if %o1% == 3 goto conn
if %o1% == 4 goto exit

rem Introduce el numero de comparaciones a realizar.
:comp
cls
echo.
set /p i= Introduce el numero de comparaciones a realizar:_
set /a i2=0
netstat -n > ini.txt

rem Bucle de analisis de conexiones.
:bucle
if %i2% leq %i% (
netstat -n > %i2%.txt
fc ini.txt %i2%.txt >> comparacion.txt
echo %TIME% >> comparacion.txt
echo _______________________________________________________ >> comparacion.txt
del %i2%.txt
set /a i2=%i2%+1
goto bucle
) else (
goto result
)
rem Resultado del analisis, pregunta si se quiere conservar el resultado.
:result
del ini.txt
start comparacion.txt
pause
cls
set /p sav= Desea conservar el resultado de las comparaciones?:S/N:_
if %sav% == s goto menu
if %sav% == n del comparacion.txt
if %sav% == S goto menu
if %sav% == N del comparacion.txt
goto menu

rem Muestra infromacion sobre la IP local.
:ip
cls
echo.
ipconfig /all
pause
goto menu

rem Mustra las conexiones actuales.
:conn
cls
echo.
netstat -n
pause
goto menu

rem Borrado de pantalla y fin del programa.
:exit
cls


La idea es introducir el numero de comparaciones a realizar y justo cuando empieza a comparar (no antes) enviamos una imagen al contacto, yo prefiero enviarla 3 o 4 veces seguidas para asegurarme de que el script no falla. Hay que destacar que esto solo funciona si se usa Windows Live Messenger 2009, que acepta automáticamente las imagenes. Como las comparaciones son muy rápidas, normalmente pongo que haga unas 40.

Bueno, para entender bien lo que he dicho hay que probarlo, me gustaría que me dijerais si veis defectos o codigo inútil (Y no me digais que todo el código es inutil :xD)

Gracias.







La puerta más segura es la que no necesita ser cerrada...

Vangred

 ;-)
de una, yo siempre cuando me aburria jugaba a usar el netstat para ver las ip de mis amigo en msn y apagarles la compu con shutdown -i...

Fluflu

Pero para apagar otro pc con shutdown -i ¿No es necesario que este en la misma red?
La puerta más segura es la que no necesita ser cerrada...

Eltester

y como lo haria es decir no quiero k me lo des echo sino algun manual o algo  :rolleyes:
Aprendiendo como uno mas puede :D