このリポジトリには、広く普及している Wireshark にロードして Ethereum トラフィックの検査を開始できる、Ethereum のネットワーク プロトコル ディセクターのセットが含まれています。
現在、UDP ベースの検出プロトコルをサポートしていますが、RLPx Wire プロトコルと ETH サブプロトコルのサポートも準備中です。
Ethereum Discovery ディセクターで現在サポートされている機能は次のとおりです (さらに多くの機能に取り組んでいます)。
PING
、 PONG
、 FIND_NODE
およびNODES
パケットをデコードし、メッセージを適切なデータ型でその要素に分割します。PING
=> PONG
フレームのリンク、およびプロトコル ツリー内のFIND_NODE
=> NODES
相互作用。プロトコル | バージョン | 状態 | 注意事項 |
---|---|---|---|
発見 | v4 | ✅ | |
発見 | v5 | ? | v5 はクライアントで進行中です。 discv5 というラベルが付いた問題と PR を参照してください。 |
ワイヤー | v1 | ? | Wip ブランチ: devp2p-wire |
私たちは、Wireshark とは別にプラグインを構築できるように取り組んでいます。それまでの間、Wireshark リポジトリのクローンを作成する必要があります。
cmake
とninja
あることを確認する必要があります。 macOS では、Homebrew を使用している場合は、 brew install cmake ninja
を実行できます。 $ 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
ファイルを変更して、 PLUGIN_SRC_DIRS
変数の下にplugins/epan/ethereum
ディレクトリを追加します。 ...
set(PLUGIN_SRC_DIRS
plugins/epan/ethercat
plugins/epan/ethereum
plugins/epan/gryphon
...
wireshark-ninja
の下のすべてのコンテンツを削除し、手順 3 を繰り返して完全な Wireshark ビルドを再度実行します。wireshark-ninja/run
ディレクトリ内で実行できるはずです。姓のアルファベット順に並べます。
ConsenSys のプロトコル エンジニアリング グループおよびシステム チーム (PegaSys) では、イーサリアム テクノロジーの低レベルで深い側面を専門としています。私たちが取り組む課題には、スケーラビリティ、機密性、モジュール性、ファイナリティ、許可などがあります。
私たちの仕事を実行するには、システムのさまざまな部分に X 線を照射するためのツールが必要です。それらの部分の 1 つはネットワーク層です。パブリック チェーンのイーサリアムには中央機関が存在しないため、すべての通信はピアツーピア (P2P) で行われます。そのため、RPC スタイルの通信パターンとゴシップのような通信パターンの両方が発生し、開発、研究、テスト中に十分な洞察が必要になります。
devp2p は、イーサリアムのネットワーキング サブシステムの名前であり、その上に ETH、Whisper、Swarm、Light Ethereum などのサブプロトコルが階層化されたコア プロトコルのコレクションを含みます。
Wireshark は、ネットワーク パケット分析用の人気のあるツールです。ユーザーは、強力な GUI を介してネットワーク ダンプを開始し、豊富なパケット データをナビゲートできます。 Wireshark のアーキテクチャはモジュール式であり、ディセクタの概念を中心に展開しています。ディセクタとは、具体的なプロトコルをデコードできるコンポーネントであり、OSI モデルのどの層でも使用できます。
残念ながら、Ethereum devp2p プロトコル用の Wireshark ディセクターはまだ存在しません。このプロジェクトはそれを変えます。
PegaSys の使命は、ビジネス環境での運用に対応できるブロックチェーン ソリューションを構築することです。私たちはオープンソースに力を入れており、パブリック チェーン コミュニティと主要企業向けに共同イノベーションのためのフレームワークを構築しています。
私たちのチームは、ビッグデータ処理、応用暗号化、オープンソース コンピューティング、クラウド サービス、ブロックチェーン開発の分野をリードするエンジニアで構成されています。
PegaSys について詳しくは、こちらをご覧ください。
このプロジェクトは GPLv2 に基づいてライセンスされています。