¿Es posible emular una impresora de red real, es decir, ejecutar algún firmware real en la máquina virtual?

8

Llegué a la sección relacionada con la explotación de impresoras de red mientras realizaba un curso de seguridad. Debajo de "impresora de red" entiendo los dispositivos independientes con un enlace Ethernet / inalámbrico dedicado, escuchando en el puerto 9100, con alguna interfaz de administración (web, snmp, aplicación personalizada del proveedor) accesible a través de la red, o algo así. Hubo varios ataques que realmente me encantaría intentar reproducir, pero definitivamente no quiero comprarlos todos (en realidad algunos de ellos me costarían una fortuna). Pero parece que la mayoría de estos dispositivos hoy en día ejecutan algún tipo de Linux como firmware (al menos el más caro de todos), y este firmware es fácil de adquirir. Así que pensé que podría haber algún proyecto con el objetivo de emular algunos de ellos (bueno, tenemos GNS para Cisco, ¿por qué no?).

Debo aclarar: no estoy hablando de alguna impresora virtual compartida desde el host de MS Windows o de una caja de linux genérica con algún daemon de impresión de propósito general que escucha en el puerto 9100. Necesito un firmware exacto de alguna impresora de red realmente existente en ejecución En una máquina virtuall de género. No necesita imprimir realmente algo (como, para archivar), pero desde todas las otras perspectivas debe manejar todas las conexiones y solicitudes como lo haría la verdadera.

Saludos cordiales y gracias de antemano por la ayuda.

    
pregunta tis 29.03.2015 - 14:45
fuente

1 respuesta

3

Recomendaría el software SIMICS de Virtutech. Tenga en cuenta que Virtutech fue comprado por Intel y asignado a su filial: Wind River.

Simics es un SIMULADOR, que tiene importantes distinciones de un EMULADOR (como qemu). Consulte enlace para obtener información específica sobre las diferencias.

Simics simula muchas (¿cientos?) de arquitecturas. Usted selecciona el específico en el que está interesado (en su caso, la arquitectura en uso por la impresora deseada) y carga su entorno dentro de Simics. Luego, carga el software (kernel & OS si tiene un sistema operativo) que desea probar. Luego, ejecuta simics e inicia y ejecuta el software de destino exactamente como se ejecutaría en el hardware nativo. Este es un beneficio principal de los simuladores frente a los emuladores.

¡Con simics puede pausar la ejecución, establecer puntos de interrupción en el kernel y revertir una falla! De hecho, puede encontrarse con un bloqueo y luego ejecutarlo de manera efectiva a la inversa para comprender qué provocó el bloqueo. No puede hacer eso fácilmente en un emulador e incluso si tuviera que intentarlo, el estado interno del emulador difiere de la arquitectura de hardware real del objetivo, por lo que los resultados se mezclan.

BLUF: necesitas un SIMULADOR no un EMULADOR.

[editar]: enlace a información simics: enlace

    
respondido por el Nick 30.03.2015 - 23:33
fuente

Lea otras preguntas en las etiquetas