
Gera topologias de rede CORE reproduzíveis a partir de arquivos de cenário XML para treinamento e experimentação em cibersegurança. Fornece GUI Web e CLI para pré-visualizações determinísticas de topologia, atribuição de vulnerabilidades e geração de tráfego.
Gere topologias de rede CORE reproduzíveis a partir de arquivos XML de cenário usando uma GUI Web rica ou uma interface de linha de comando.
Veja a galeria de imagens da WebUI em docs/screenshots.md.
core-daemon em execuçãopython -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py
http://127.0.0.1:9090 por padrão (o compose nginx do proxy reverso aponta para https://localhost).coreadmin / coreadmin é criada; altere-a imediatamente em Perfil → Alterar Senha.make host-web, make host-web-nginx ou make host-web PROXY=envoy. O script auxiliar scripts/dev_gen_certs.sh emite certificados autoassinados com suporte a SAN.Existing Router, Existing Switch ou New Router. A opção legada New Switch foi removida para evitar fan-out oculto de switches; cenários salvos que a utilizam são normalizados para Existing Router durante o carregamento.python -m core_topo_gen.cli --xml path/to/scenario.xml --seed 42 --verbose
Opções populares:
--scenario NAME selecione uma entrada de cenário específica--host / --port substitua o endpoint gRPC do CORE (padrão 127.0.0.1:50051)--layout-density {compact|normal|spacious} ajuste o espaçamento do mapa--seg-include-hosts, --seg-allow-docker-ports, --nat-mode, --dnat-prob ajuste fino da segmentação--traffic-pattern, --traffic-rate, --traffic-content substitua os padrões de tráfego./reports/.base_nodes, additive_nodes, combined_nodes, etc.) para fidelidade de ida e volta.explicit_count, derived_count e total_planned.scenario_total_nodes em nível de cenário resume hosts, roteadores e alvos de vulnerabilidade planejados.core_topo_gen.parsers.planning_metadata.parse_planning_metadata().existing_router, existing_switch ou new_router; valores legados new_switch são convertidos para existing_router para que as pré-visualizações permaneçam determinísticas e sobreposições de switches não sejam sintetizadas implicitamente.r2r_mode por item de roteamento suporta Exact, Uniform, NonUniform, Min, Max e malhas legadas vinculadas a --router-mesh-style.r2s_mode, r2s_edges, opcional r2s_hosts_min/max) reagrupam hosts atrás de switches dedicados, com “Exact=1” agregando todos os hosts por roteador em um único switch./tmp/traffic (com serviços complementares) e respeitam substituições de padrão, taxa, jitter e dicas de conteúdo./tmp/segmentation junto com um segmentation_summary.json; modo NAT, probabilidade DNAT, inclusão de hosts e permissões de portas docker são configuráveis./tmp/vulns, com metadados incorporados aos nós CORE.core_topo_gen.plugins.traffic.register() para código remetente/receptor personalizado../reports/scenario_report_<timestamp>.md) enumeram estatísticas de topologia, metadados de planejamento, resultados de segmentação e artefatos de execução. Cada execução também gera um resumo JSON junto ao arquivo Markdown (scenario_report_<timestamp>.json), além de CSVs de conectividade por execução quando dados de grau de roteadores estão disponíveis.outputs/run_history.json para a página de Relatórios.outputs/ quando cenários são removidos via GUI.