Not what you asked, but in Firefox the Live HTTP Headers add-on is all I need if I want to edit and re-play requests.
In Firebug, the Network Monitoring shows all requests and responses. Likewise, in Safari the Resources pane of the built-in Web Inspector covers most of my needs as well, but does not show the payload of POST Ajax/XHR requests (the responses are fine though). The latter has been fixed in the source code on August 31 2009, and some day will be updated in a new version of Safari. It might also apply to other browsers that use WebKit's inspector, such as Google Chrome. (Enable the Web Inspector through the preferences: Show Develop menu in menu bar.)
When things get more complicated, I fire up my Wireshark packet sniffer. However, unlike Fiddler, Wireshark does not let you change the data, and does not support things like auto responders, like Fiddler apparently does.
For Wireshark, see Hyper Text Transfer Protocol (HTTP) for some generic HTTP capturing information, and HTTP Packet Capturing to debug Apache, for some example display filters. (You may want to set the capture filter to "
port 80", to show all requests to that port, and responses from that port. Or, to limit to some server, use capture filter "
port 80 and host www.google.com".) Like:
# Show only 404: page not found
http.response.code == 404
# Show only certain HTTP methods
http.request.method == "POST" || http.request.method == "PUT"
Note that Wireshark can decompress gzip or deflate encoded (compressed) things on the fly for you. That makes things much easier to read as most web servers will compress the data they send to a browser.
(As for auto responders: the excellent JS Bin has a short video on how to use it to debug Ajax requests. If you don't know JS Bin, then first view the introduction video.)