Этот репозиторий содержит набор анализаторов сетевых протоколов для Ethereum, которые вы можете загрузить в широко популярный Wireshark, чтобы начать проверять трафик Ethereum.
В настоящее время мы поддерживаем протокол обнаружения на основе UDP, но поддержка протокола RLPx Wire и подпротокола ETH находится в разработке.

Вот функции, которые в настоящее время поддерживаются диссектором Ethereum Discovery (мы работаем над этим):
PING , PONG , FIND_NODE и NODES , разбиение сообщений на элементы с соответствующими типами данных.PING => PONG , а также взаимодействий FIND_NODE => NODES в деревьях протоколов.| Протокол | Версия | Статус | Примечания |
|---|---|---|---|
| открытие | v4 | ✅ | |
| открытие | v5 | ? | Версия 5 находится в стадии разработки в клиентах. См. проблемы и PR с пометкой diskv5. |
| проволока | v1 | ? | ветка wip: devp2p-wire |
Мы работаем над тем, чтобы можно было создавать плагин отдельно от Wireshark. Тем временем вам нужно будет клонировать репозиторий Wireshark.
cmake и ninja . В macOS вы можете запустить brew install cmake ninja , если используете 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 , т.е. ln -s ${THIS_REPO} ${WIRESHARK_SRC}/plugins/epan/ethereum .${WIRESHARK_SRC}/CMakeLists.txt добавив каталог plugins/epan/ethereum в переменную PLUGIN_SRC_DIRS , т.е.: ...
set(PLUGIN_SRC_DIRS
plugins/epan/ethercat
plugins/epan/ethereum
plugins/epan/gryphon
...
wireshark-ninja и снова запустите полную сборку Wireshark, повторив шаг 3.wireshark-ninja/run .В алфавитном порядке по фамилиям.
В команде групп и систем разработки протоколов (PegaSys) ConsenSys мы специализируемся на низкоуровневых и глубоких аспектах технологии Ethereum. Вот некоторые из проблем, которые мы решаем: масштабируемость, секретность, модульность, окончательность, разрешения и т. д.
Для выполнения нашей работы нам нужны инструменты для рентгенографии различных частей системы. Одной из этих частей является сетевой уровень. В публичной сети Ethereum не существует центрального органа власти, поэтому вся связь осуществляется в одноранговой сети (P2P), что приводит к появлению моделей связи как в стиле RPC, так и в стиле сплетен, которые нам необходимы в полном понимании во время разработки, исследования и тестирования.
devp2p — это название сетевой подсистемы Ethereum, а также набора основных протоколов, поверх которых располагаются подпротоколы, такие как ETH, Whisper, Swarm, Light Ethereum и т. д.
Wireshark — популярный инструмент для анализа сетевых пакетов. Пользователи могут создавать дампы сети и перемещаться по множеству пакетных данных с помощью мощного графического интерфейса. Архитектура Wireshark является модульной и основана на концепции диссекторов : компонентов, способных декодировать конкретный протокол, который может использоваться на любом уровне модели OSI.
К сожалению, диссекторов Wireshark для протоколов devp2p Ethereum пока не существует. Этот проект меняет это.

Миссия PegaSys — создание блокчейн-решений, готовых к использованию в бизнес-среде. Мы стремимся к открытому исходному коду и создаем основу для совместных инноваций для сообщества публичных сетей и ведущих предприятий.
В нашу команду входят инженеры, ведущие в области обработки больших данных, прикладной криптографии, вычислений с открытым исходным кодом, облачных сервисов и разработки блокчейнов.
Узнайте больше о PegaSys.
Этот проект распространяется под лицензией GPLv2.