GithubHelp home page GithubHelp logo

pygyme / gquic_043_decrypt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aazhuliang/gquic_043_decrypt

0.0 0.0 0.0 8.19 MB

License: Apache License 2.0

Shell 0.02% C++ 95.16% Python 0.01% C 0.31% Objective-C 0.02% TypeScript 0.01% Makefile 4.12% HTML 0.02% CMake 0.24% Starlark 0.09%

gquic_043_decrypt's Introduction

介绍

这是一个用于解密GQUIC协议Q043版本数据包的工具,基于gquiche实现,解密数据包的部分在gquiche/quic/proto_test目录下。 该工具目前只是一个demo玩具,可能会存在或多或少的BUG。详细请参考这篇介绍文章一种对QUIC协议的抓包方案(拿某知名APP练手)

环境准备

  1. 安装下列依赖库
apt-get install cmake build-essential protobuf-compiler libprotobuf-dev golang-go libunwind-dev libicu-dev
  1. 编译安装pcap pp库
  2. 拉取源码
git clone https://github.com/aazhuliang/GQUIC_043_decrypt.git
git submodule update --init

编译

mkdir build && cd build  
cmkae -DPCAPPP_INCLUDE_DIRS=xxx -DPCAPPP_LIBRARY_DIRS=xxx ..
make -jx

使用方法

先修改config.h中的配置项

./quic_proto_test
python3 decode.py

客户端和服务端使用方法

  • A sample quic server and client implementation are provided in quiche. To use these you should build the binaries.
cd build
make simple_quic_server simple_quic_client
cd -
  • Download a copy of www.example.org, which we will serve locally using the simple_quic_server binary.
mkdir -p /data/quic-root
wget -p --save-headers https://www.example.org -P /data/quic-root
  • In order to run the simple_quic_server, you will need a valid certificate, and a private key is pkcs8 format. If you don't have one, there are scripts to generate them.
cd utils
./generate-certs.sh
mkdir -p /data/quic-cert
mv ./out/* /data/quic-cert/
cd -
  • Run the quic server
./build/simple_quic_server \
  --quic_response_cache_dir=/data/quic-root/ \
  --certificate_file=/data/quic-cert/leaf_cert.pem \
  --key_file=/data/quic-cert/leaf_cert.pkcs8
  • Request the file with quic client
./build/simple_quic_client \
  --disable_certificate_verification=true \
  --host=127.0.0.1 --port=6121 \
  "https://www.example.org/index.html"

You can also use chormium-based browsers to access simple_quic_server at 127.0.0.1:6121, and check the request/response protocol by DevTools -> Network panel.

gquic_043_decrypt's People

Contributors

wangsheng-bilibili avatar aazhuliang avatar macrolau avatar kuroa-me avatar tonybase avatar crazycw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.