該儲存庫包含一組以太坊網路協定解析器,您可以將其載入到廣泛流行的 Wireshark 中以開始檢查以太坊流量。
目前我們支援基於 UDP 的發現協議,但對 RLPx Wire 協議和 ETH 子協議的支援正在開發中。
以下是以太坊發現解析器目前支援的功能(我們正在開發更多功能):
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
目錄中執行產生的Wireshark 執行檔。按姓氏字母順序排列。
在 ConsenSys 的協議工程組和系統團隊 (PegaSys),我們專注於以太坊技術的低階、深層方面。我們解決的一些挑戰是:可擴展性、保密性、模組化、最終性、授權等。
為了完成我們的工作,我們需要工具對系統的不同部分進行 X 光檢查。其中之一就是網路層。公鏈以太坊不存在中央權威,因此所有通訊都是點對點(P2P)的,這產生了 RPC 式和類似八卦的通訊模式,我們在開發、研究和測試過程中需要充分了解。
devp2p 是以太坊網路子系統的名稱,以及其核心協議的集合,其上分層有 ETH、Whisper、Swarm、Light Ethereum 等子協議。
Wireshark 是一種流行的網路封包分析工具。使用者可以透過其強大的 GUI 啟動網路轉儲並瀏覽大量資料包資料。 Wireshark 的架構是模組化的,它圍繞著解析器的概念:能夠解碼具體協定的元件,可以在 OSI 模型的任何層使用。
不幸的是,目前還沒有針對以太坊 devp2p 協定的 Wireshark 解析器。這個項目改變了這一點。
PegaSys 的使命是建立可在商業環境中進行生產的區塊鏈解決方案。我們致力於開源,正在為公鏈社群和龍頭企業打造協同創新的框架。
我們的團隊由大數據處理、應用密碼學、開源運算、雲端服務和區塊鏈開發領域領先的工程師組成。
了解有關 PegaSys 的更多資訊。
該項目已獲得 GPLv2 許可。