title: How can I decode intercepted gRPC requests/responses to view the sent/received protobuf messages in golang?
body: <p>I am intercepting the raw gRPC requests/responses going across a UNIX socket (the containerd socket using the <a href="https://github.com/kubernetes/cri-api" rel="nofollow noreferrer">cri-api</a>, using eBPF to perform the interception) and I want to work out what is being sent/received. I have access to the <a href="https://github.com/kubernetes/cri-api/blob/master/pkg/apis/runtime/v1alpha2/api.proto" rel="nofollow noreferrer">.proto</a> file used to generate the gRPC interface using the <a href="https://grpc.io/docs/quickstart/go/#generate-grpc-code" rel="nofollow noreferrer">gRPC plugin</a> so this should be possible to do but I'm not sure how to start as I am not part the gRPC connection.</p>
  
  <p>How can I go about doing this in golang? </p>