Этот репозиторий содержит набор анализаторов сетевых протоколов для 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.