Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Reticulum — A pilha de rede baseada em criptografia para a construção de redes imparáveis com LoRa, Packet Radio, WiFi e tudo o que está entre eles. | Kitploit
Ferramentas/GitHubGitHub/markqvist/reticulum
Ferramentas de Criptografia/DescriptografiaSegurança de RedeSegurança Sem FioCriptografiaPrivacidadeUtilitários e FrameworksAutenticação
GitHubmarkqvist/reticulum

Reticulum

A pilha de rede baseada em criptografia para a construção de redes imparáveis com LoRa, Packet Radio, WiFi e tudo o que está entre eles.

Ver Repositório
6.7k4901há 24 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Pilha de Rede Reticulum

Este repositório é um espelho público. Todo o desenvolvimento está acontecendo em outro lugar.

Para entender a filosofia fundamental e os objetivos deste sistema, leia o Zen do Reticulum.

Reticulum é a pilha de rede baseada em criptografia para construir redes locais e de longa distância com hardware disponível. Pode operar mesmo com latências muito altas e largura de banda extremamente baixa. O Reticulum permite construir redes de longa distância com ferramentas comuns, e oferece criptografia ponta-a-ponta e conectividade, anonimato do iniciador, transporte multi-salto com respaldo criptográfico autoconfigurável, endereçamento eficiente, confirmações de entrega infalsificáveis e muito mais.

A visão do Reticulum é permitir que qualquer pessoa seja seu próprio operador de rede, e tornar barato e fácil cobrir vastas áreas com uma miríade de redes independentes, interconectáveis e autônomas. Reticulum não é uma rede. É uma ferramenta para construir milhares de redes. Redes sem kill-switches, vigilância, censura e controle. Redes que podem interoperar livremente, associar-se e dissociar-se umas das outras, e que não exigem supervisão central. Redes para seres humanos. Redes para as pessoas.

Reticulum é uma pilha de rede completa, e não depende de IP ou camadas superiores, mas é possível usar IP como portador subjacente para o Reticulum. Portanto, é trivial encapsular o Reticulum pela Internet ou redes IP privadas.

Não ter dependências de pilhas de rede tradicionais libera uma sobrecarga que foi usada para implementar uma pilha de rede construída diretamente sobre princípios criptográficos, permitindo resiliência e funcionalidade estável, mesmo em redes abertas e sem confiança.

Nenhum módulo de kernel ou drivers são necessários. O Reticulum é executado completamente no espaço do usuário, e pode ser executado em praticamente qualquer sistema que execute Python 3.

Leia o Manual

A documentação completa do Reticulum está disponível em markqvist.github.io/Reticulum/manual/.

Você também pode baixar o manual do Reticulum em PDF ou como e-book em formato EPUB.

Para mais informações, veja reticulum.network e a seção FAQ do wiki.

Recursos Notáveis

  • Endereçamento e identificação globalmente únicos sem coordenação
  • Roteamento multi-salto totalmente autoconfigurável sobre portadores heterogêneos
  • Escalabilidade flexível sobre topologias heterogêneas
    • Reticulum pode transportar dados sobre qualquer mistura de meios físicos e topologias
    • Redes de baixa largura de banda podem coexistir e interoperar com redes grandes e de alta largura de banda
  • Anonimato do iniciador, comunique-se sem revelar sua identidade
    • Reticulum não inclui endereços de origem em nenhum pacote
  • Criptografia assimétrica X25519 e assinaturas Ed25519 como base para toda comunicação
    • As Chaves de Identidade fundamentais do Reticulum são conjuntos de chaves de curva elíptica de 512 bits
  • Sigilo de Encaminhamento (Forward Secrecy) está disponível para todos os tipos de comunicação, tanto para pacotes individuais quanto sobre links
  • Reticulum usa o seguinte formato para tokens criptografados:
    • Chaves efêmeras por pacote e de link derivadas de uma troca de chaves ECDH na Curve25519
    • AES-256 no modo CBC com padding PKCS7
    • HMAC usando SHA256 para autenticação
    • IVs são gerados através de os.urandom()
  • Confirmações de entrega de pacotes infalsificáveis
  • Sistema de interface flexível e extensível
    • Reticulum inclui uma grande variedade de tipos de interface integrados
    • Capacidade de carregar e utilizar tipos de interface personalizados fornecidos pelo usuário ou comunidade
    • Crie facilmente suas próprias interfaces personalizadas para comunicação sobre qualquer coisa
  • Autenticação e segmentação de rede virtual em todos os tipos de interface suportados
  • Uma API intuitiva e fácil de usar
    • Mais simples e fácil de usar do que APIs de sockets, mas mais poderosa
    • Torna a construção de aplicações distribuídas e descentralizadas muito mais simples
  • Transferência confiável e eficiente de quantidades arbitrárias de dados
    • Reticulum pode lidar com alguns bytes de dados ou arquivos de muitos gigabytes
    • Sequenciamento, compressão, coordenação de transferência e verificação de soma são automáticos
    • A API é muito fácil de usar e fornece progresso da transferência
  • Mecanismo de Solicitação/Resposta leve, flexível e expansível
  • Estabelecimento eficiente de links
    • Custo total de configurar um link criptografado e verificado é de apenas 3 pacotes, totalizando 297 bytes
    • Baixo custo de manter links abertos a apenas 0,44 bits por segundo

Implementação de Referência

O código Python neste repositório é a Implementação de Referência do Reticulum. O Protocolo Reticulum é definido inteiramente e autoritativamente por esta implementação de referência e seu manual associado. É mantido por Mark Qvist, identificado pela Identidade Reticulum <bc7291552be7a58f361522990465165c>.

Atualmente não existem, nem jamais existirão, derivados de especificações de protocolo de segunda ordem. Você não pode obter uma especificação melhor do que uma que seja executável, funcional, testável, implantada e operando 24/7 em todo o planeta.

Não há, e nunca haverá, uma "especificação formal" separada, "RFC" ou algo similar para o Reticulum:

A implementação de referência é a especificação final e autoritativa.

Compatibilidade com o Protocolo Reticulum é definida como ter interoperabilidade total, e paridade funcional suficiente com esta implementação de referência. Qualquer implementação de protocolo específica que atinja isso é Reticulum. Qualquer que não o faça não é Reticulum.

A implementação de referência está licenciada sob a Licença Reticulum.

O Protocolo Reticulum foi dedicado ao Domínio Público em 2016.

Exemplos de Aplicações Reticulum

Se você quiser rapidamente ter uma ideia do que o Reticulum pode fazer, veja a seção Programas Usando Reticulum do manual, ou os seguintes recursos:

  • LXMF é um protocolo de transferência de mensagens distribuído e tolerante a atrasos e interrupções construído sobre o Reticulum
  • O protocolo e framework LXST fornece transporte de áudio e sinais em tempo real sobre o Reticulum. Inclui primitivas e utilitários para construir aplicações baseadas em voz e dispositivos de hardware, como o programa rnphone, que pode ser usado para construir telefones de hardware.
  • Para uma plataforma de comunicações mesh fora da rede, criptografada e resiliente, veja Nomad Network
  • O aplicativo para Android, Linux, macOS e Windows Sideband possui uma interface gráfica e muitos recursos avançados, como transferências de arquivos, mensagens de imagem e voz, chamadas de voz em tempo real, um sistema de telemetria distribuído, capacidades de mapeamento e extensibilidade total por plugins.
  • MeshChatX é um cliente LXMF completo com muitas ferramentas e funcionalidades integradas, que também suporta mensagens de imagem e voz, transferências de arquivos e chamadas de voz. Também inclui um navegador de páginas integrado para navegar por nós do Nomad Network.
  • Você pode usar o programa incluso rnsh para estabelecer sessões remotas de shell pelo Reticulum.

Onde o Reticulum pode ser usado?

Sobre praticamente qualquer meio que possa suportar pelo menos um canal half-duplex com rendimento maior que 5 bits por segundo, e um MTU de 500 bytes. Rádios de dados, modems, rádios LoRa, linhas seriais, TNCs AX.25, modos digitais de rádio amador, dispositivos WiFi e Ethernet, links ópticos de espaço livre e sistemas similares são todos exemplos dos tipos de dispositivos físicos que o Reticulum pode usar.

Uma interface de código aberto baseada em LoRa chamada RNode foi projetada especificamente para uso com o Reticulum. É possível construí-la você mesmo, ou pode ser adquirida como um transceptor completo que só precisa de uma conexão USB ao host.

Reticulum também pode ser encapsulado sobre redes IP existentes, então não há nada que o impeça de usá-lo sobre Ethernet cabeada, sua rede WiFi local ou a Internet, onde funcionará igualmente bem. Na verdade, um dos pontos fortes do Reticulum é como ele permite facilmente conectar diferentes meios em uma malha autoconfigurável, resiliente e criptografada, usando qualquer mistura disponível de infraestrutura.

Como exemplo, é possível configurar um Raspberry Pi conectado a um rádio LoRa, um TNC de rádio pacote e uma rede WiFi. Uma vez configuradas as interfaces, o Reticulum cuidará do resto, e qualquer dispositivo na rede WiFi pode se comunicar com nós nos lados LoRa e rádio pacote da rede, e vice-versa.

Como começar?

A melhor maneira de começar com a Pilha de Rede Reticulum depende do que você deseja fazer. Para detalhes completos e exemplos, veja a seção Começando Rapidamente do Manual do Reticulum.

Para simplesmente instalar o Reticulum e utilitários relacionados em seu sistema, a maneira mais fácil é via pip. Você pode então iniciar qualquer programa que use Reticulum, ou iniciar o Reticulum como um serviço de sistema com o utilitário rnsd.```bash pip install rns

root@kitploit:~
Se você estiver usando um sistema operacional que bloqueia a instalação normal de pacotes pelo usuário via `pip`,
você pode restaurar o comportamento normal do `pip` editando o arquivo `~/.config/pip/pip.conf`,
e adicionando a seguinte diretiva na seção `[global]`:```text
[global]
break-system-packages = true

Alternativamente, você pode usar a ferramenta pipx para instalar o Reticulum em um ambiente isolado:```bash pipx install rns

root@kitploit:~
Quando iniciado pela primeira vez, o Reticulum criará um arquivo de configuração padrão,
fornecendo conectividade básica a outros pares Reticulum que possam estar localmente
acessíveis. O arquivo de configuração padrão contém alguns exemplos e referências para
criar uma configuração mais complexa.

Se você tiver uma versão antiga do `pip` em seu sistema, pode ser necessário atualizá-la primeiro com `pip install pip --upgrade`. Se você ainda não tiver o `pip` instalado, pode instalá-lo usando o gerenciador de pacotes do seu sistema com `sudo apt install python3-pip` ou similar.

Para exemplos mais detalhados sobre como expandir a comunicação por muitos meios, como
rádio pacote ou LoRa, portas seriais, ou através de links IP rápidos e a Internet usando
as interfaces UDP e TCP, dê uma olhada na seção [Interfaces Suportadas](https://markqvist.github.io/Reticulum/manual/interfaces.html)
do [Manual do Reticulum](https://markqvist.github.io/Reticulum/manual/).

## Utilitários Inclusos
O Reticulum inclui uma variedade de utilitários úteis para gerenciar suas redes,
visualizar status e informações, e outras tarefas. Você pode ler mais sobre esses
programas na seção [Programas Utilitários Inclusos](https://markqvist.github.io/Reticulum/manual/using.html#included-utility-programs)
do [Manual do Reticulum](https://markqvist.github.io/Reticulum/manual/).

- O daemon do sistema `rnsd` para executar o Reticulum como um serviço sempre disponível
- Um utilitário de status de interface chamado `rnstatus`, que exibe informações sobre interfaces
- A ferramenta de consulta e gerenciamento de caminhos `rnpath` permitindo visualizar e modificar tabelas de caminhos
- Uma ferramenta de diagnóstico chamada `rnprobe` para verificar conectividade com destinos
- Um programa simples de transferência de arquivos chamado `rncp` facilitando a transferência de arquivos entre sistemas
- O utilitário de gerenciamento de identidade e criptografia `rnid` permite gerenciar Identidades e criptografar/descriptografar arquivos
- O programa `rnsh` permite estabelecer sessões de shell totalmente interativas com sistemas remotos
- O programa de execução remota de comandos `rnx` permite executar comandos simples e programas e recuperar a saída de sistemas remotos
- O programa `rngit` fornece um nó Git completo de múltiplos repositórios para servir repositórios através do Reticulum
- O auxiliar `git-remote-rns` incluído permite interagir com repositórios Git através do Reticulum

Todas as ferramentas, incluindo `rnx` e `rncp`, funcionam de forma confiável e bem mesmo em links de largura de banda muito baixa como LoRa ou Rádio Pacote. Para shells remotos completos através do Reticulum, dê uma olhada também no programa [rnsh](https://github.com/acehoss/rnsh).

## Tipos e dispositivos de interface suportados

O Reticulum implementa uma variedade de tipos de interface generalizados que cobrem a maioria do
hardware de comunicação sobre o qual o Reticulum pode funcionar. Se seu hardware não for
suportado, é [simples implementar um módulo de interface personalizado](https://markqvist.github.io/Reticulum/manual/interfaces.html#custom-interfaces).

Pull requests para interfaces personalizadas são aceitos com gratidão, desde que sejam
geralmente úteis e bem testados em uso real.

Atualmente, as seguintes interfaces integradas são suportadas:

- Qualquer dispositivo Ethernet
- LoRa usando [RNode](https://unsigned.io/rnode/)
- TNCs de Rádio Pacote (com ou sem AX.25)
- Modems de hardware e software compatíveis com KISS
- Qualquer dispositivo com porta serial
- TCP sobre redes IP
- UDP sobre redes IP
- Programas externos via stdio ou pipes
- Hardware personalizado via stdio ou pipes

## Desempenho
O Reticulum visa um envelope de desempenho utilizável *muito* amplo, mas prioriza
funcionalidade e desempenho em meios de baixa largura de banda. O objetivo é
fornecer um envelope de desempenho dinâmico de 250 bits por segundo a 1 gigabit
por segundo em hardware normal.

Atualmente, o envelope de desempenho utilizável é de aproximadamente 150 bits por segundo
a 500 megabits por segundo, com meios físicos mais rápidos que isso não sendo
saturados. Desempenho além do nível atual é pretendido para atualizações
futuras, mas não é altamente priorizado neste momento.

## Status Atual
Todos os recursos principais do protocolo estão implementados e funcionando, mas adições
provavelmente ocorrerão à medida que o uso no mundo real for explorado e compreendido. A API e o formato de fio
podem ser considerados estáveis.

## Dependências
A instalação do pacote padrão `rns` requer apenas duas dependências externas, listadas
abaixo. Quase todos os sistemas e distribuições possuem pacotes prontamente disponíveis para
essas dependências, e quando o pacote `rns` é instalado com `pip`, elas
serão baixadas e instaladas também.

- [PyCA/cryptography](https://github.com/pyca/cryptography)
- [pyserial](https://github.com/pyserial/pyserial)

Em sistemas mais incomuns, e em alguns casos raros, pode não ser possível
instalar ou mesmo compilar um ou mais dos módulos acima. Nessas situações,
você pode usar o pacote `rnspure` em vez disso, que não requer dependências
externas para instalação. Observe que o conteúdo dos pacotes `rns` e
`rnspure` são *idênticos*. A única diferença é que o pacote `rnspure`
não lista dependências necessárias para instalação.

Não importa como o Reticulum seja instalado e iniciado, ele carregará dependências
externas apenas se elas forem *necessárias* e *disponíveis*. Se por exemplo você quiser
usar o Reticulum em um sistema que não suporta
[pyserial](https://github.com/pyserial/pyserial), é perfeitamente possível
fazê-lo usando o pacote `rnspure`, mas o Reticulum não será capaz de usar
interfaces seriais. Todos os outros módulos disponíveis ainda serão carregados quando
necessário.

**Por favor, note!** Se você usar o pacote `rnspure` para executar o Reticulum em sistemas
que não suportam [PyCA/cryptography](https://github.com/pyca/cryptography),
é importante que você leia e entenda a seção [Primitivas
Criptográficas](#cryptographic-primitives) deste documento.

## Inicialização da Conectividade

O Reticulum não é um serviço ao qual você se inscreve, nem é uma única rede global da qual você "participa".
O Reticulum fornece funcionalidade para descobrir interfaces públicas disponíveis
através da própria rede, e a comunidade mais ampla forneceu vários diretórios
de pontos de entrada publicamente disponíveis para inicializar a conectividade.

Para aprender como estabelecer conectividade inicial através do Reticulum, leia a seção [Inicialização da Conectividade](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity) do manual.

Se você já tem uma ideia geral de como isso funciona, pode usar sites administrados pela comunidade
como [directory.rns.recipes](https://directory.rns.recipes/) e [rmap.world](https://rmap.world)
para encontrar definições de interface para conectividade inicial com o backbone distribuído global do Reticulum.

## Testnet Pública
***Importante!** Historicamente, uma testnet voltada para desenvolvedores foi disponibilizada pelo próprio projeto Reticulum. Como a quantidade de nós e pontos de entrada globais do Reticulum cresceu para uma quantidade substancial, esta testnet pública, incluindo o ponto de entrada da Testnet de Amsterdã, foi descomissionada. Se você ainda tem instâncias que dependiam deste ponto de entrada para conectividade, faça a transição para usar o backbone distribuído em vez disso. O Reticulum agora inclui um sistema completo de descoberta de interface na rede e inicialização de conectividade. Leia a seção [Inicialização da Conectividade](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity) do manual para orientações.*

## Apoie o Reticulum
Para que isso seja possível, preciso da sua ajuda. Por favor, apoie o desenvolvimento contínuo de sistemas de comunicação abertos, livres e privados doando através de um dos seguintes canais:

- Monero:  ```
  84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
  • Bitcoin ``` bc1pgqgu8h8xvj4jtafslq396v7ju7hkgymyrzyqft4llfslz5vp99psqfk3a6

    root@kitploit:~
  • Ethereum ``` 0x91C421DdfB8a30a49A71d63447ddb54cEBe3465E

    root@kitploit:~
  • Liberapay: https://liberapay.com/Reticulum/

  • Ko-Fi: https://ko-fi.com/markqvist

Primitivas Criptográficas

O Reticulum usa um conjunto simples de primitivas criptográficas eficientes, fortes e bem testadas, com implementações amplamente disponíveis que podem ser usadas tanto em CPUs de uso geral quanto em microcontroladores.

Uma das principais considerações para escolher este conjunto específico de primitivas é que elas podem ser implementadas com segurança com relativamente poucas armadilhas, em praticamente todas as plataformas de computação atuais.

As primitivas listadas aqui são autoritativas. Qualquer coisa que se diga ser Reticulum, mas que não use exatamente estas primitivas não é Reticulum, e possivelmente um clone intencionalmente comprometido ou enfraquecido. As primitivas utilizadas são:

  • As Chaves de Identidade do Reticulum são conjuntos de chaves Curve25519 de 512 bits
    • Uma chave Ed25519 de 256 bits para assinaturas
    • Uma chave X25519 de 256 bits para trocas de chaves ECDH
  • HKDF para derivação de chaves
  • Tokens criptografados são baseados na especificação Fernet
    • Chaves efêmeras derivadas de uma troca de chaves ECDH na Curve25519
    • HMAC usando SHA256 para autenticação de mensagens
    • IVs devem ser gerados através de os.urandom() ou melhor
    • AES-256 em modo CBC com preenchimento PKCS7
    • Sem campos de metadados de versão e timestamp do Fernet
  • SHA-256
  • SHA-512

Na configuração de instalação padrão, as primitivas X25519, Ed25519, e AES-256-CBC são fornecidas pelo OpenSSL (através do pacote PyCA/cryptography). As funções de hash SHA-256 e SHA-512 são fornecidas pelo padrão Python hashlib. As primitivas HKDF, HMAC, Token, e a função de preenchimento PKCS7 são sempre fornecidas pelas seguintes implementações internas:

  • HKDF.py
  • HMAC.py
  • Token.py
  • PKCS7.py

O Reticulum também inclui uma implementação completa de todas as primitivas necessárias em Python puro. Se o OpenSSL e PyCA não estiverem disponíveis no sistema quando o Reticulum for iniciado, o Reticulum usará as primitivas internas em Python puro. Uma consequência trivial disso é o desempenho, com o backend OpenSSL sendo muito mais rápido. A consequência mais importante, no entanto, é a potencial perda de segurança ao usar primitivas que não passaram pelo mesmo nível de escrutínio, teste e revisão que as do OpenSSL.

Por favor, note que, por padrão, a instalação do Reticulum exigirá que o OpenSSL e PyCA também sejam automaticamente instalados se ainda não estiverem disponíveis. Só é possível usar as primitivas em Python puro se este requisito for especificamente ignorado pelo usuário, por exemplo, instalando o pacote rnspure em vez do pacote normal rns, ou executando diretamente a partir do código-fonte local.

Se você quiser usar as primitivas internas em Python puro, é altamente recomendável que você tenha uma boa compreensão dos riscos que isso acarreta, e tome uma decisão informada sobre se esses riscos são aceitáveis para você.

O Reticulum é um software relativamente novo, e deve ser considerado como tal. Embora tenha sido construído tendo as melhores práticas de criptografia em primeiro plano, ele não passou por uma auditoria de segurança externa, e pode muito bem haver bugs de privacidade ou segurança. Se você quiser ajudar, ou ajudar a patrocinar uma auditoria, por favor, entre em contato.

Agradecimentos & Créditos

O Reticulum só pode existir por causa da montanha de trabalho Open Source sobre a qual foi construído, das contribuições de todos os envolvidos, e de todos que apoiaram o projeto ao longo dos anos. A todos que ajudaram, muito obrigado.

Vários outros módulos e projetos fazem parte ou são usados pelo Reticulum. Agradecimentos sinceros aos autores e colaboradores dos seguintes projetos:

  • PyCA/cryptography, Licença BSD
  • Pure-25519 por Brian Warner, Licença MIT
  • Pysha2 por Thom Dixon, Licença MIT
  • Python AES-128 por Or Gur Arie, Licença MIT
  • Python AES-256 por BoppreH, Licença MIT
  • Curve25519.py por Nicko van Someren, Domínio Público
  • I2Plib por Viktor Villainov
  • PySerial por Chris Liechti, Licença BSD
  • Configobj por Michael Foord, Nicola Larosa, Rob Dennis & Eli Courtwright, Licença BSD
  • ifaddr por Stefan C. Mueller, Licença MIT
  • Umsgpack.py por Ivan A. Sergeev
  • rnsh por Aaron Heise
  • Python
Baixar ferramenta
  • Entrega sequencial confiável com mecanismos de Canal e Buffer