1*387f9dfdSAndroid Build Coastguard WorkerDemonstrations of undump.py, the Linux eBPF/bcc version. 2*387f9dfdSAndroid Build Coastguard Worker 3*387f9dfdSAndroid Build Coastguard WorkerThis example trace the kernel function performing receive AP_UNIX socket 4*387f9dfdSAndroid Build Coastguard Workerpacket. Some example output: 5*387f9dfdSAndroid Build Coastguard Worker 6*387f9dfdSAndroid Build Coastguard WorkerTerminal 1, UNIX Socket Server: 7*387f9dfdSAndroid Build Coastguard Worker 8*387f9dfdSAndroid Build Coastguard Worker``` 9*387f9dfdSAndroid Build Coastguard Worker$ nc -lU /var/tmp/dsocket 10*387f9dfdSAndroid Build Coastguard Worker# receive from Client 11*387f9dfdSAndroid Build Coastguard WorkerHello, World 12*387f9dfdSAndroid Build Coastguard Workerabcdefg 13*387f9dfdSAndroid Build Coastguard Worker``` 14*387f9dfdSAndroid Build Coastguard Worker 15*387f9dfdSAndroid Build Coastguard WorkerTerminal 2, UNIX socket Client: 16*387f9dfdSAndroid Build Coastguard Worker 17*387f9dfdSAndroid Build Coastguard Worker``` 18*387f9dfdSAndroid Build Coastguard Worker$ nc -U /var/tmp/dsocket 19*387f9dfdSAndroid Build Coastguard Worker# Input some lines 20*387f9dfdSAndroid Build Coastguard WorkerHello, World 21*387f9dfdSAndroid Build Coastguard Workerabcdefg 22*387f9dfdSAndroid Build Coastguard Worker``` 23*387f9dfdSAndroid Build Coastguard Worker 24*387f9dfdSAndroid Build Coastguard WorkerTerminal 3, receive tracing: 25*387f9dfdSAndroid Build Coastguard Worker 26*387f9dfdSAndroid Build Coastguard Worker``` 27*387f9dfdSAndroid Build Coastguard Worker$ sudo python undump.py -p 49264 28*387f9dfdSAndroid Build Coastguard WorkerTracing PID=49264 UNIX socket packets ... Hit Ctrl-C to end 29*387f9dfdSAndroid Build Coastguard Worker 30*387f9dfdSAndroid Build Coastguard Worker# Here print bytes of receive 31*387f9dfdSAndroid Build Coastguard WorkerPID 49264 Recv 13 bytes 32*387f9dfdSAndroid Build Coastguard Worker 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 0a 33*387f9dfdSAndroid Build Coastguard WorkerPID 49264 Recv 8 bytes 34*387f9dfdSAndroid Build Coastguard Worker 61 62 63 64 65 66 67 0a 35*387f9dfdSAndroid Build Coastguard Worker``` 36*387f9dfdSAndroid Build Coastguard Worker 37*387f9dfdSAndroid Build Coastguard WorkerThis output shows two packet received by PID 49264(nc -lU /var/tmp/dsocket), 38*387f9dfdSAndroid Build Coastguard Worker`Hello, World` will be parsed as `48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 0a`, the 39*387f9dfdSAndroid Build Coastguard Worker`0a` is `Enter`. `abcdefg` will be parsed as `61 62 63 64 65 66 67 0a`. 40