Repo นี้มีชุดตัวแยกโปรโตคอลเครือข่ายสำหรับ Ethereum ที่คุณสามารถโหลดลงใน Wireshark ที่ได้รับความนิยมอย่างกว้างขวางเพื่อเริ่มตรวจสอบปริมาณการใช้ Ethereum
ขณะนี้เราสนับสนุนโปรโตคอลการค้นหาที่ใช้ UDP แต่การสนับสนุนสำหรับโปรโตคอล RLPx Wire และโปรโตคอลย่อย ETH อยู่ในระหว่างดำเนินการ
นี่คือคุณสมบัติที่สนับสนุนโดยตัววิเคราะห์ Ethereum Discovery ในปัจจุบัน (เรากำลังดำเนินการเพิ่มเติม):
PING
, PONG
, FIND_NODE
และ NODES
แบ่งข้อความออกเป็นองค์ประกอบด้วยประเภทข้อมูลที่เหมาะสมPING
=> PONG
รวมถึงการโต้ตอบ FIND_NODE
=> NODES
ในแผนผังโปรโตคอลโปรโตคอล | เวอร์ชัน | สถานะ | หมายเหตุ |
---|---|---|---|
การค้นพบ | v4 | ||
การค้นพบ | เวอร์ชัน 5 | - | v5 อยู่ระหว่างดำเนินการกับไคลเอนต์ อ้างถึงปัญหาและการประชาสัมพันธ์ที่มีป้ายกำกับ discv5 |
ลวด | เวอร์ชัน 1 | - | สาขา wip: devp2p-wire |
เรากำลังดำเนินการเพื่อให้สามารถสร้างปลั๊กอินแยกจาก Wireshark ได้ ในระหว่างนี้ คุณจะต้องโคลน repo 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 build แบบเต็มอีกครั้งโดยทำซ้ำขั้นตอนที่ 3wireshark-ninja/run
เรียงตามตัวอักษรตามนามสกุล
ในทีม Protocol Engineering Groups and Systems (PegaSys) ที่ ConsenSys เราเชี่ยวชาญด้านเทคโนโลยี Ethereum ระดับต่ำและเชิงลึก ความท้าทายบางประการที่เราจัดการคือ: ความสามารถในการปรับขนาด, การรักษาความลับ, ความเป็นโมดูล, ขั้นสุดท้าย, การอนุญาต ฯลฯ
เพื่อดำเนินงานของเรา เราจำเป็นต้องมีเครื่องมือในการเอ็กซเรย์ไปยังส่วนต่างๆ ของระบบ หนึ่งในส่วนเหล่านั้นคือเลเยอร์เครือข่าย ไม่มีหน่วยงานกลางในเครือข่ายสาธารณะ Ethereum ดังนั้นการสื่อสารทั้งหมดจึงเป็นแบบเพียร์ทูเพียร์ (P2P) ซึ่งก่อให้เกิดรูปแบบการสื่อสารทั้งแบบ RPC และแบบซุบซิบที่เราต้องการข้อมูลเชิงลึกอย่างครบถ้วนในระหว่างการพัฒนา การวิจัย และการทดสอบ
devp2p เป็นชื่อของระบบย่อยเครือข่ายของ Ethereum พร้อมด้วยคอลเลกชันของโปรโตคอลหลักที่อยู่เหนือโปรโตคอลย่อย เช่น ETH, Whisper, Swarm, Light Ethereum ฯลฯ ที่ซ้อนกันอยู่
Wireshark เป็นเครื่องมือยอดนิยมสำหรับการวิเคราะห์แพ็กเก็ตเครือข่าย ผู้ใช้สามารถเริ่มต้นการถ่ายโอนข้อมูลเครือข่ายและนำทางผ่านข้อมูลแพ็กเก็ตจำนวนมากผ่าน GUI อันทรงพลัง สถาปัตยกรรมของ Wireshark เป็นแบบโมดูลาร์ และหมุนรอบแนวคิดของ dissectors : ส่วนประกอบที่สามารถถอดรหัสโปรโตคอลที่เป็นรูปธรรม ซึ่งสามารถใช้งานได้ที่ชั้นใดก็ได้ของแบบจำลอง OSI
น่าเสียดายที่ยังไม่มีตัววิเคราะห์ Wireshark สำหรับโปรโตคอล Ethereum devp2p โครงการนี้เปลี่ยนแปลงสิ่งนั้น
ภารกิจของ PegaSys คือการสร้างโซลูชันบล็อกเชนที่พร้อมสำหรับการผลิตในสภาพแวดล้อมทางธุรกิจ เรามุ่งมั่นที่จะเปิดแหล่งที่มาและกำลังสร้างกรอบการทำงานสำหรับนวัตกรรมการทำงานร่วมกันสำหรับชุมชนเครือข่ายสาธารณะและองค์กรชั้นนำ
ทีมงานของเราประกอบด้วยวิศวกรชั้นนำในด้านการประมวลผลข้อมูลขนาดใหญ่ การเข้ารหัสแบบประยุกต์ การประมวลผลแบบโอเพ่นซอร์ส บริการคลาวด์ และการพัฒนาบล็อกเชน
เรียนรู้เพิ่มเติมเกี่ยวกับ PegaSys
โครงการนี้ได้รับอนุญาตภายใต้ GPLv2