gpt4 book ai didi

go - 如何解码被拦截的gRPC请求/响应以查看golang中已发送/已接收的protobuf消息?

转载 作者:IT王子 更新时间:2023-10-29 01:48:30 26 4
gpt4 key购买 nike

我正在拦截通过UNIX套接字(使用cri-api的容器化套接字,使用eBPF来执行拦截)的原始gRPC请求/响应,并且我想弄清楚正在发送/接收的内容。我可以访问使用.proto生成gRPC接口(interface)的gRPC plugin文件,因此应该可以这样做,但是由于我不属于gRPC连接,因此我不确定如何启动。

我该如何在golang中进行此操作?

最佳答案

  • 使用GRPC基本支持

  • https://godoc.org/google.golang.org/grpc#StreamInterceptor

    https://godoc.org/google.golang.org/grpc#UnaryInterceptor
  • 使用GRPC中间件

  • https://github.com/grpc-ecosystem/go-grpc-middleware
  • 简单愚蠢的方式
  • // GRPC handler
    func (x *M) GRPCHanler(ctx context.Context, req *REQ) (rsp *RSP, eRR error) {
    rsp = new(RSP)
    method = "GRPCHanler"
    log.Infof("GRPC-%s Request:%+v", method, req)
    defer func() {
    log.Infof("GRPC-%s Response:%+v", method, rsp)
    if eRR != nil {
    log.Errorf("GRPC-%s Error:%v", method,eRR)
    }
    // eRR = nil
    }
    // handler
    }

    关于go - 如何解码被拦截的gRPC请求/响应以查看golang中已发送/已接收的protobuf消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55987394/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com