For a tool that understands TCP and HTTP conversations, the filter syntax is awfully similar to tcpdump's, and having to use `grep -A 15` to filter specific requests seems clunky.
It's good knowing this tool exists, but I think I'll stick to tcpdump and Wireshark. In Wireshark it's trivial to use the `http.request` filter to do this, and following the TCP conversation with decoded bodies, or specifying a TLS cert, is equally simple.
This assumes you have shell and those tools installed via your Dockerfile. Best practice is to have a multi stage build and just have the working binary, keeping the image as light as possible.
So when do you make a fat image with debug tools and when do you keep it skinny?
Yeah the app looked like it was delegating to another service and needed a bearer token for that. The app logs should have showed this straight away. Furthermore, I’ve been burned enough to know that if I have a service that’s dependent on other services then I setup tasks in my service to ping the health of those services periodically and log warnings/errors if they’re unreachable. This allows me to divert blame as quickly as possible if alerted in the middle of the night.
Just because I know them better, I would have used `netstat -putln` and `tcpdump -i lo -n -A port 8000` to do the same thing. I'll take a look at tcpflow and ss though - it's always nice to know more tools.
[+] [-] imiric|3 years ago|reply
It's good knowing this tool exists, but I think I'll stick to tcpdump and Wireshark. In Wireshark it's trivial to use the `http.request` filter to do this, and following the TCP conversation with decoded bodies, or specifying a TLS cert, is equally simple.
[+] [-] denysvitali|3 years ago|reply
[+] [-] jimmyed|3 years ago|reply
1: https://github.com/darshanime/netpeek
[+] [-] thegabez|3 years ago|reply
So when do you make a fat image with debug tools and when do you keep it skinny?
[+] [-] mozman|3 years ago|reply
[+] [-] ystad|3 years ago|reply
[+] [-] 0x445442|3 years ago|reply
[+] [-] nhoughto|3 years ago|reply
I wonder how it works with TLS if it’s working at the socket level..
[+] [-] xtreak29|3 years ago|reply
[+] [-] youngtaff|3 years ago|reply
[+] [-] _ZeD_|3 years ago|reply
mitmproxy.org www.charlesproxy.com https://www.telerik.com/fiddler/fiddler-classic
[+] [-] rwestergren|3 years ago|reply
[+] [-] 29athrowaway|3 years ago|reply
You also have mitmproxy which can be useful if TLS is involved.
[+] [-] aftbit|3 years ago|reply