Este repositório contém um conjunto de dissecadores de protocolo de rede para Ethereum que você pode carregar no amplamente popular Wireshark para começar a inspecionar o tráfego Ethereum.
Atualmente oferecemos suporte ao protocolo de descoberta baseado em UDP, mas o suporte ao protocolo RLPx Wire e ao subprotocolo ETH está em desenvolvimento.
Aqui estão os recursos atualmente suportados pelo dissector Ethereum Discovery (estamos trabalhando em mais):
PING
, PONG
, FIND_NODE
e NODES
, quebrando as mensagens em seus elementos, com os tipos de dados apropriados.PING
=> PONG
, bem como interações FIND_NODE
=> NODES
em árvores de protocolo.Protocolo | Versão | Status | Notas |
---|---|---|---|
descoberta | v4 | ✅ | |
descoberta | v5 | ? | v5 é um trabalho em andamento nos clientes. Consulte os problemas e PRs rotulados como discv5. |
arame | v1 | ? | ramo wip: devp2p-wire |
Estamos trabalhando para permitir a construção do plugin separadamente do Wireshark. Enquanto isso, você precisará clonar o repositório Wireshark.
cmake
e ninja
. No macOS, você pode executar brew install cmake ninja
se usar o Homebrew. $ cd ${WIRESHARK_SRC}
$ # check out the latest 2.6 tag (could be higher)
$ git checkout wireshark-2.6.2
$ mkdir ../wireshark-ninja
$ cd ../wireshark-ninja
$ cmake -G Ninja ../wireshark
$ ninja
${WIRESHARK_SRC}/plugins/epan/ethereum
, ou seja, ln -s ${THIS_REPO} ${WIRESHARK_SRC}/plugins/epan/ethereum
.${WIRESHARK_SRC}/CMakeLists.txt
para adicionar o diretório plugins/epan/ethereum
sob a variável PLUGIN_SRC_DIRS
, ou seja: ...
set(PLUGIN_SRC_DIRS
plugins/epan/ethercat
plugins/epan/ethereum
plugins/epan/gryphon
...
wireshark-ninja
e execute a compilação completa do Wireshark novamente, repetindo a etapa 3.wireshark-ninja/run
.Ordenado em ordem alfabética por sobrenome.
Na equipe de Grupos e Sistemas de Engenharia de Protocolo (PegaSys) da ConsenSys, nos especializamos nos aspectos profundos e de baixo nível da tecnologia Ethereum. Alguns dos desafios que enfrentamos são: escalabilidade, sigilo, modularidade, finalidade, permissão, etc.
Para realizar nosso trabalho, precisamos de ferramentas para radiografar diferentes partes do sistema. Uma dessas partes é a camada de rede. Não existe nenhuma autoridade central na cadeia pública Ethereum, portanto, toda a comunicação é peer-to-peer (P2P), o que dá origem a padrões de comunicação no estilo RPC e semelhantes a fofocas, dos quais precisamos de uma visão completa durante o desenvolvimento, pesquisa e testes.
devp2p é o nome do subsistema de rede do Ethereum, junto com sua coleção de protocolos principais sobre os quais subprotocolos como ETH, Whisper, Swarm, Light Ethereum, etc.
Wireshark é uma ferramenta popular para análise de pacotes de rede. Os usuários podem iniciar dumps de rede e navegar por uma grande variedade de dados de pacotes por meio de sua poderosa GUI. A arquitetura do Wireshark é modular e gira em torno do conceito de dissectores : componentes capazes de decodificar um protocolo concreto, que podem ser utilizados em qualquer camada do modelo OSI.
Infelizmente ainda não existem dissecadores Wireshark para protocolos Ethereum devp2p. Este projeto muda isso.
A missão da PegaSys é construir soluções blockchain prontas para produção em ambientes empresariais. Estamos comprometidos com o código aberto e estamos criando uma estrutura para inovação colaborativa para a comunidade da cadeia pública e empresas líderes.
Nossa equipe é composta por engenheiros líderes nas áreas de processamento de big data, criptografia aplicada, computação de código aberto, serviços em nuvem e desenvolvimento de blockchain.
Saiba mais sobre a PegaSys.
Este projeto está licenciado sob GPLv2.