Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fiddler for website running on remote machine

Tags:

fiddler

I need to monitor a http request and response for web site running on remote web server. The web server makes lot of web service call and would like to trace them.

If the web site was running locally, Fiddler traces every web service call request and provides me with a report. Could someone please help me with how the same is possible

*e.g.

If the web application is running locally and calls two web services fiddler shows the total time on statistics. However, if the web application is running on web server hosted on different web server hosted internally (intranet) and I ran fiddler on my machine, I don't get the statistics for each web service call. All I can see is the total time for the aspx page.*

So question is how (if possible) can I trace the statistics of each web services invoked by web application that's running on different machine and fiddler is running on my machine.

Thanks.

like image 828
Nil Pun Avatar asked Dec 03 '12 22:12

Nil Pun


People also ask

Does Fiddler act as a proxy?

Fiddler Classic and fiddler Everywhere are special-purpose proxy server tools for debugging web traffic from applications like browsers. They're used to capture and record this web traffic and then forward it onto a web server.

Can Fiddler capture TCP traffic?

Fiddler and FiddlerCore only handle HTTP/HTTPS traffic. They are not designed to handle raw TCP traffic; you could use something like netcat for that.


2 Answers

You could always use WireShark http://www.wireshark.org/ to catch all the packets, if you are on the same network as the server, that is.

like image 66
NoLifeKing Avatar answered Sep 28 '22 02:09

NoLifeKing


Say you're running a website on port 80 of a machine named WEBSERVER. You're connecting to the website using Internet Explorer Mobile Edition on a Windows SmartPhone device for which you cannot configure the web proxy. You want to capture the traffic from the phone and the server's response.

0.)Start Fiddler on the WEBSERVER machine, running on the default port of 8888.

1.)Click Tools | Fiddler Options, and ensure the "Allow remote clients to connect" checkbox is checked.  Restart if needed.
2.)Choose Rules | Customize Rules.
3.)Inside the OnBeforeRequest handler, add a new line of code:
if (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80";
5.)  navigate to http://webserver:8888

Requests from the SmartPhone will appear in Fiddler. The requests are forwarded from port 8888 to port 80 where the webserver is running. The responses are sent back through Fiddler to the SmartPhone, which has no idea that the content originally came from port 80.

like image 39
thegrunt Avatar answered Sep 28 '22 01:09

thegrunt