이 저장소에는 널리 사용되는 Wireshark에 로드하여 Ethereum 트래픽 검사를 시작할 수 있는 Ethereum용 네트워크 프로토콜 분석기 세트가 포함되어 있습니다.
현재 우리는 UDP 기반 검색 프로토콜을 지원하지만 RLPx Wire 프로토콜과 ETH 하위 프로토콜에 대한 지원도 진행 중입니다.
현재 Ethereum Discovery dissector가 지원하는 기능은 다음과 같습니다(더 많은 기능을 개발 중입니다).
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)에서는 Ethereum 기술의 낮은 수준의 심층적인 측면을 전문으로 합니다. 우리가 해결해야 할 과제로는 확장성, 비밀성, 모듈성, 최종성, 허가 등이 있습니다.
작업을 수행하려면 시스템의 여러 부분에 X-Ray를 적용할 수 있는 도구가 필요합니다. 이러한 부분 중 하나는 네트워킹 계층입니다. 퍼블릭 체인인 이더리움에는 중앙 권한이 존재하지 않으므로 모든 통신은 P2P(Peer-to-Peer)로 이루어지며, 이는 개발, 연구 및 테스트 중에 완전한 통찰력이 필요한 RPC 스타일 및 가십과 같은 통신 패턴을 모두 생성합니다.
devp2p는 ETH, Whisper, Swarm, Light Ethereum 등과 같은 하위 프로토콜이 계층화되어 있는 핵심 프로토콜 모음과 함께 Ethereum의 네트워킹 하위 시스템의 이름입니다.
Wireshark는 네트워크 패킷 분석에 널리 사용되는 도구입니다. 사용자는 강력한 GUI를 통해 네트워크 덤프를 시작하고 풍부한 패킷 데이터를 탐색할 수 있습니다. Wireshark의 아키텍처는 모듈식이며 OSI 모델의 모든 계층에서 사용할 수 있는 구체적인 프로토콜을 디코딩할 수 있는 구성 요소인 해부기(dissector) 개념을 중심으로 진행됩니다.
불행하게도 Ethereum devp2p 프로토콜에 대한 Wireshark 분석기는 아직 존재하지 않습니다. 이 프로젝트는 그것을 변화시킵니다.
PegaSys의 임무는 비즈니스 환경에서 생산할 수 있는 블록체인 솔루션을 구축하는 것입니다. 우리는 오픈 소스에 전념하고 있으며 퍼블릭 체인 커뮤니티와 선도적인 기업을 위한 협력적 혁신을 위한 프레임워크를 만들고 있습니다.
우리 팀은 빅 데이터 처리, 응용 암호화, 오픈 소스 컴퓨팅, 클라우드 서비스 및 블록체인 개발 분야를 선도하는 엔지니어들로 구성되어 있습니다.
PegaSys에 대해 자세히 알아보세요.
이 프로젝트는 GPLv2에 따라 라이센스가 부여됩니다.