Re:Tracing HTTP Requests with tcpflow
by LinuxBender on Sunday November 13, 2022 @07:24AM
(#33582416)
I recall seeing a thread somewhere saying tcpflow would not add this capability and they point people to ssldump [1][2] and even that has some limitations.
Re:Tracing HTTP Requests with tcpflow
by fmajid on Monday November 14, 2022 @09:43AM
(#33594614)
With TLS 1.3 and Perfect Forward Safety, even knowing the secret key is no longer enough. Otherwise, ssldump is a tool that would dump sessions if you knew the server private key and were somehow able to force negotiating a non-PFS TLS 1.2 cipher suite.
Re:Tracing HTTP Requests with tcpflow
by imiric on Sunday November 13, 2022 @04:42AM
(#33581525)
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.
Re:Tracing HTTP Requests with tcpflow
by 0x445442 on Sunday November 13, 2022 @10:19AM
(#33583791)
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.
Re:Tracing HTTP Requests with tcpflow
by thegabez on Sunday November 13, 2022 @10:33AM
(#33583940)
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?
Re:Tracing HTTP Requests with tcpflow
by aftbit on Sunday November 13, 2022 @12:58PM
(#33585489)
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.
I wonder how it works with TLS if it’s working at the socket level..
[1] - https://github.com/adulau/ssldump
[2] - https://linux.die.net/man/1/ssldump
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.
1: https://github.com/darshanime/netpeek
mitmproxy.org www.charlesproxy.com https://www.telerik.com/fiddler/fiddler-classic
So when do you make a fat image with debug tools and when do you keep it skinny?
You also have mitmproxy which can be useful if TLS is involved.