Many web browsers have the ability to quickly generate “curl” commands to replay a request. For example, in Google Chrome just open the “Network” pane in Developer Tools,” right click on the URL (leftmost column) and select Copy->copy as cURL. This is a great feature when inspecting and reversing HTTP APIs. But recently I ran into an issue when inspecting traffic to a router. The browser would send a request a second, which made it hard to find the right request. To better understand what was going on, I recorded the traffic with tcpdump. But what I needed was a quick way to extract all the HTTP requests, and turn them into cURL commands for replay. The first part isn’t all that hard. There are plenty of tools (tcpflow, tshark) to extract the data. The second part isn’t difficult either. But the “glue” was missing.