Como ingeniero de software y profesional de seguridad cibernética, a veces realmente necesito aumentar muchas máquinas al mismo tiempo en mi computadora.
Uno que pretende ser una víctima, otro que finge ser el atacante, otro que finge ser otra cosa ...
Es muy difícil crear este montón de máquinas a mano usando Docker o incluso máquinas virtuales.
Creé un script bash simple que reconoce una carpeta como machine directory .
Un machine directory es cualquier directorio que contenga un archivo de machine.config válido.config.
¡Podría ser su repositorio Git, una carpeta aleatoria, su carpeta de proyecto, no Metter!
Si tiene este archivo machine.config , este directorio se considerará como un machine directory .
Por lo tanto, para tener un montón de máquinas, puede crear un montón de archivos de configuración y eso es todo , para cambiar las máquinas, puede entrar en el directorio de máquinas específico que desea y ejecutar os_connect , y se le abrirá un shell con un estado persistente .
Para ver más información sobre la máquina, simplemente ejecute os_info .
Y tendrás una salida como esta:
OS INFO
ID: d442817e2db23ed43084cd812c3ae1cddd02d7185c70ffe83d0ddf0cac281cc6
IMAGE: alpile:latest
STORAGE LOCATION: /tmp/d442817e2db23ed43084cd812c3ae1cddd02d7185c70ffe83d0ddf0cac281cc6/data
Ahora, si desea conectarse a la máquina, simplemente ejecute: os_connect y se le abrirá un shell.
No tenga miedo de salir de su máquina, sus datos se persistirán en la ubicación de almacenamiento , debe recordar que este código se ejecuta sobre contenedores Docker.
¿Pero, y si quiero quitar la máquina? Simplemente ejecute os_remove .
No crees lo fácil que es.
name=alpine-os
image=alpine:latest
storage=/data
¡Sí, solo estas tres líneas!
El name clave es un nombre arbitrario para su máquina, le recomiendo el patrón <os-system>-os . La image clave es el nombre de la imagen del sistema de Docker Hub. El storage clave es la ruta de volumen de la máquina para hacerlo persistente.
Las configuraciones anteriores son las configuraciones necesarias para ejecutar un sistema alpine .
Solo corre ./install.sh
Esto copiará el .machinesrc a su directorio de inicio y agregará la siguiente línea a su .bashrc :
source $HOME /.machinesrc