log_p2p_traffic.bt raw
1 #!/usr/bin/env bpftrace
2
3 BEGIN
4 {
5 printf("Logging P2P traffic\n")
6 }
7
8 usdt:./build/bin/bitcoind:net:inbound_message
9 {
10 $peer_id = (int64) arg0;
11 $peer_addr = str(arg1);
12 $peer_type = str(arg2);
13 $msg_type = str(arg3);
14 $msg_len = arg4;
15 printf("inbound '%s' msg from peer %d (%s, %s) with %d bytes\n", $msg_type, $peer_id, $peer_type, $peer_addr, $msg_len);
16 }
17
18 usdt:./build/bin/bitcoind:net:outbound_message
19 {
20 $peer_id = (int64) arg0;
21 $peer_addr = str(arg1);
22 $peer_type = str(arg2);
23 $msg_type = str(arg3);
24 $msg_len = arg4;
25
26 printf("outbound '%s' msg to peer %d (%s, %s) with %d bytes\n", $msg_type, $peer_id, $peer_type, $peer_addr, $msg_len);
27 }
28
29