How to record and replay http interactions?

Is there a tool I can use in Windows to record and then programmatically (i.e. under a script or batch file) replay a specific interchange between a browser (either Firefox or IE) and a website?

Here’s my application: I want to set up a non-SuperUser’s computer to turn port forwarding on and off. There are a variety of applications (e.g. certain games or VNC) that require this user to have port forwarding set up, but due to the security concerns, I don’t want to leave it on all the time (nor is there a predetermined schedule). It occurred to me that I should be able to record the specific interactions I have with the webGUI interface to this person’s router to turn port forwarding on and off, and then set up a shortcut to an application that runs the script of those steps. Basically, this would equivalent to a macro recorder, but for http.

I’m doing this on a Windows 7 machine that uses Firefox as the primary browser, but would be interested in solutions under XP or Vista. The particular router in question is a Netgear (I can edit this to supply specific model), though if the technique I’m suggesting is feasible, the specifics of the router and its webGUI shouldn’t matter.

I tried locating such an application through Google and I did find one possibility, but thought I might locate more/better options here.


Recording HTTP requests is not how that kind of thing is usually done; instead, there are tools that record and play back your interaction with the actual HTML pages. The currently most popular one seems to be Selenium.


You might be able to use a web testing tool like Solex. Most tools like this set themselves up as a local proxy and you configure your browser to use the proxy. This allows the tool to record the request and then execute it, returning the result to the browser.

There are also tools like Fiddler2 or FireFox's Tamper Data plugin to capture requests, but I don't think they can do more than re-execute individual requests.

If those are too heavy for your need, maybe the DejaClick plugin for FireFox could record your interaction and replay it at will.


If you use an iPhone or iPad, you can try HTTP Sniffer.

HTTP Sniffer is a manual web security testing tool which can capture HTTP requests, include request headers, post data, and you can modify the request and then resend them. You can get the response headers and source code only, or load the response in web browser.

Notice:

  1. Using HTTP Sniffer requires a network connection, and a Wi-Fi network is preferred.
  2. HTTP Sniffer will not capture the requests of other applications, it capture the requests of its own only.
  3. HTTP Sniffer is designed for web security professionals only, used for web security penetration testing, such as SQL Injection, Cross-site Scripting(XSS) etc.

enter image description here

Key features:

  1. HTTP (Get, Post etc.) Sniffer
  2. HTTP request replay (resend)
  3. HTTPS support