Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In previous jobs when I've worked on a Windows machine, I've used Fiddler for viewing HTTP transactions and debugging.

I'm specifically looking to monitor the HTTP transactions for an ajax site I'm working on to verify that the site is doing what I expect. Rewriting HTTP (as provided by Fiddler) is a nice-to-have, but not essential.

Can anybody recommend something similar for use on a Mac?

share|improve this question

closed as off-topic by ChrisF, tapped-out, mpy, Shakehar, Moses Nov 12 '13 at 18:23

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they tend to become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve. Here are a few suggestions on how to properly ask this type of question." – ChrisF, tapped-out, mpy, Shakehar, Moses
If this question can be reworded to fit the rules in the help center, please edit the question.

    
This has been closed, but still exists, so needs to have added: Fiddler is now in alpha for the mac os. –  boomhauer Jan 28 at 1:44

15 Answers 15

Use Chrome and navigate to chrome://net-internals/

It allows detailed analysis and dumps.

share|improve this answer
1  
Nice. Any idea when that was added to chrome? –  Doug Harris Nov 28 '11 at 15:54
2  
Nope, sorry. I used to work with Fiddler on Windows, but moving to a Mac I stumbled over net-internals while looking for hidden chrome features. –  brains_at_work Dec 9 '11 at 13:11
1  
This is AWESOME! Thanks!!! –  w00t Jul 3 '12 at 9:01
1  
AAAWWWEEESOOOMMMEEE!!!!! –  rizidoro Sep 25 '12 at 22:15

My favorite mac app for monitoring traffic is HTTPScoop, I detail that as well as using tcpdump from the commandline in this post I blogged last year.

share|improve this answer
    
If you happen to know Wireshark (or the less powerful Cocoa Packet Analyzer): can you compare HTTPScoop to that? –  Arjan Sep 18 '09 at 11:09
    
It's quite a bit simpler, but much easier to use than wireshark IMO. Very easy to fire up and monitor http traffic with, but less adept at monitoring other kinds of traffic. I'm not familiar with cocoa packet analyzer. –  Ted Naleid Sep 18 '09 at 13:18
    
Cocoa Packet Analyzer is quite simple too. However, I never figured out how to filter some specific port or server IP address, and then see both the request and reply... That's easily done in Wireshark. (Just type smtp as display filter to see all traffic that uses the SMTP protocol. Or tcp.port == 25 to get all traffic to port 25, and its responses. Or http and ip.addr == xxx to get all HTTP traffic to and from some server.) –  Arjan Sep 19 '09 at 8:24
    
httpscoop looked promising, unfortunately it seems to be abandoned and I was unable to capture localhost traffic on 10.9.2. The last release dates back to 2009 and the website touts ans upcoming v2.0 which doesn't seem to be forthcoming :/ –  Jean Mar 26 at 10:24
up vote 20 down vote accepted

I found Charles Proxy. It's much closer to the functionality of Fiddler. It's not free, but it may be worth the price.

share|improve this answer
    
Just curious: did anyone here ever use it? –  Arjan Sep 18 '09 at 11:07
    
I used it for an hour or two after I found it. The trial version has some nag screens and a 30 minute restriction, but I don't think those are unreasonable. I was looking for specific headers in the HTTP response and I was able to see these easily. –  Doug Harris Sep 18 '09 at 18:11
4  
FWIW, you can use Fiddler to debug Mac traffic if you have a Windows machine handy. fiddler2.com/fiddler/help/hookup.asp#Q-NonWindows –  EricLaw Nov 5 '09 at 16:19
1  
The nice thing about Charles is that it is available for both OSX and Windows so if you go back and forth frequently it's a nice common tool. –  Justin Ohms May 2 '13 at 23:20

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"

# Show only javascript
http.content_type contains "javascript"

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.)

share|improve this answer
    
+1 for Firebug -- I love their network monitoring tool –  Josh Sep 21 '09 at 23:15

I've used mitmproxy for intercepting HTTP traffic. It's a great tool and you can use it for debugging mobile devices as well or any operating system for that matter.

share|improve this answer

In addition to Charles (already mentioned), I also like the HttpFox add-on for Mozilla Firefox. Like Charles, you can use it on both Mac and Windows. It's lighter-weight than Charles because it lives in the browser, useful for quick troubleshooting. Here's some information from the HttpFox page:

HttpFox monitors and analyzes all incoming and outgoing HTTP traffic between the browser and the web servers.

It aims to bring the functionality known from tools like HttpWatch or IEInspector to the Firefox browser.

Information available per request includes:

  • Request and response headers
  • Sent and received cookies
  • Querystring parameters
  • POST parameters
  • Response body

And, a screenshot:

Screenshot of HttpFox add-on for Mozilla Firefox

share|improve this answer

I'm late but - I use Paros Proxy. It's in Java, so, cross-platform. Though if you would prefer for it to be packaged as an app, there's one here at the bottom.

share|improve this answer

It seems that the free GlimmerBlocker can do part of the trick.

Of course it can block all kind of content, and transform responses before the browser receives them. But it can in fact modify both requests and responses. And though not true debugging, it also offers logging. So, it might suit basic needs:

There are 4 types of scripts running inside GlimmerBlocker, and some objects are only defined for some of the script types:

  • global proxy: this sets the global proxy settings, and can test for e.g. location name, AirPort network.
  • request modification: this can change the requested URL, send back a redirect response to the browser, or send text/html back to the browser.
  • keyword expansion. [Safari-only, AvB]
  • transform: modify the response received by the web-server before it is sent back to Safari [or any browser that is set up to use the proxy provided by GlimmerBlocker, AvB].

(One can also use it to include various Greasemonkey scripts in the received response, without using a Greasemonkey add-on, like to block Flash without installing any add-on.)

share|improve this answer
    
GlimmerBlocker is an interesting tool, but different than what I'm looking for. I've re-edited the original description to remove the rewrite examples and clarify that I'm merely looking to monitor the traffic and not transform it. –  Doug Harris Jan 7 '10 at 16:46

jMeter might also be helpful; it's designed for testing load performance on web servers, but it might still do what you need. jMeter is written in Java, so you can download a .jar file that will run on Mac, Windows, or Linux.

share|improve this answer

Cocoa Packet Analyzer is very helpful.

share|improve this answer
4  
How is it helpful? A cliffs notes version of that would be hugely helpful –  Journeyman Geek Jun 25 '12 at 14:04
    
cocoa packet analyzer was able to successfuly capture HTTP trafic but it doesn't do request/response reconstruction :( –  Jean Mar 26 at 10:25

Not a proxy, but it does help in debugging HTTP:

Simply start a scan on the interface you're going to have the HTTP traffic on, execute the traffic and then stop scanning and type "HTTP" as the filter string. You will then be able to inspect all the packets of the HTTP conversation. With the Packet Detail view open you can open the HTTP section and it will stay open between packets.

It's a great tool to have and it doesn't require you to change the browser proxy. On the other hand it cannot help with HTTPS traffic since that's encrypted. (Although it can decrypt SSL connections that use RSA)

share|improve this answer

If you're dealing with app traffic or third-party API integrations that go over the public internet, you should try Runscope (of which, full disclosure, I am a co-founder). It captures HTTP requests to any URL, gives you a nice stream view for debugging and makes it easy to share individual requests with others.

share|improve this answer

You could also try APIKitchen. It helps you in debugging and testing HTTP APIs and any requests in general. It also has an offline version for testing in your internal networks. No installation necessary.

share|improve this answer

You can easily configure Fiddler for Mac using Parallels as per instructions on their site.

The only caveat is that you have to manually configure your Network settings to point to the IP address of the VM but not really that big of a deal.

share|improve this answer
    
I wouldn't call that "easily" - it requires buying and installing a vm server and an entirely different operating system. –  James Moore Aug 15 '13 at 17:08

Don't forget Burp Suite. They have a free version. It's cross platform. http://portswigger.net/burp/

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.