Este repositorio contiene un conjunto de disectores de protocolos de red para Ethereum que puede cargar en el popular Wireshark para comenzar a inspeccionar el tráfico de Ethereum.
Actualmente admitimos el protocolo de descubrimiento basado en UDP, pero se está trabajando en la compatibilidad con el protocolo RLPx Wire y el subprotocolo ETH.
Estas son las características actualmente admitidas por el disector Ethereum Discovery (estamos trabajando en más):
PING
, PONG
, FIND_NODE
y NODES
, descomponiendo los mensajes en sus elementos, con los tipos de datos adecuados.PING
=> PONG
, así como interacciones FIND_NODE
=> NODES
en árboles de protocolos.Protocolo | Versión | Estado | Notas |
---|---|---|---|
descubrimiento | v4 | ✅ | |
descubrimiento | v5 | ? | La versión 5 está en proceso en los clientes. Consulte los problemas y relaciones públicas etiquetados como discv5. |
cable | v1 | ? | rama wip: devp2p-wire |
Estamos trabajando para permitir la creación del complemento por separado de Wireshark. Mientras tanto, deberás clonar el repositorio de Wireshark.
cmake
y ninja
. En macOS, puedes ejecutar brew install cmake ninja
si usas 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
, es decir ln -s ${THIS_REPO} ${WIRESHARK_SRC}/plugins/epan/ethereum
.${WIRESHARK_SRC}/CMakeLists.txt
para agregar el directorio plugins/epan/ethereum
bajo la variable PLUGIN_SRC_DIRS
, es decir: ...
set(PLUGIN_SRC_DIRS
plugins/epan/ethercat
plugins/epan/ethereum
plugins/epan/gryphon
...
wireshark-ninja
y ejecute nuevamente la compilación completa de Wireshark repitiendo el paso 3.wireshark-ninja/run
.Ordenado alfabéticamente por apellido.
En el equipo de Sistemas y Grupos de Ingeniería de Protocolo (PegaSys) de ConsenSys, nos especializamos en los aspectos profundos y de bajo nivel de la tecnología Ethereum. Algunos de los desafíos que abordamos son: escalabilidad, secreto, modularidad, finalidad, permisos, etc.
Para realizar nuestro trabajo necesitamos herramientas para realizar rayos X en diferentes partes del sistema. Una de esas partes es la capa de red. No existe una autoridad central en la cadena pública Ethereum, por lo que toda la comunicación es de igual a igual (P2P), lo que da lugar a patrones de comunicación tanto de estilo RPC como de chismes de los que necesitamos una visión completa durante el desarrollo, la investigación y las pruebas.
devp2p es el nombre del subsistema de red de Ethereum, junto con su colección de protocolos centrales sobre los cuales se superponen subprotocolos como ETH, Whisper, Swarm, Light Ethereum, etc.
Wireshark es una herramienta popular para el análisis de paquetes de red. Los usuarios pueden iniciar volcados de red y navegar a través de una gran cantidad de paquetes de datos a través de su potente GUI. La arquitectura de Wireshark es modular y gira en torno al concepto de disectores : componentes capaces de decodificar un protocolo concreto, que puede utilizarse en cualquier capa del modelo OSI.
Lamentablemente, todavía no existen disectores Wireshark para los protocolos Ethereum devp2p. Este proyecto cambia eso.
La misión de PegaSys es crear soluciones blockchain listas para la producción en entornos empresariales. Estamos comprometidos con el código abierto y estamos creando un marco para la innovación colaborativa para la comunidad de la cadena pública y las empresas líderes.
Nuestro equipo está compuesto por ingenieros líderes en las áreas de procesamiento de big data, criptografía aplicada, computación de código abierto, servicios en la nube y desarrollo de blockchain.
Obtenga más información sobre PegaSys.
Este proyecto tiene licencia GPLv2.