What is Fiddler and how do I turn it off? - c#

Pretty much straight forward question. I've tried to look this up but the results that I've found have been very vague. I'm busy with a Windows Phone app and have been running into some problems. I've read with Fiddler on you might run into some problems, but that's beside the point right now...
What is fiddler and how do I know if it's 'on'? Plus how to I turn it off if it is?
Thanks in advance,

Fiddler is a data monitoring tool that allows you to see incoming and outgoing HTTP(s) traffic from your computer. http://fiddler2.com/
It is a desktop app, so if you haven't got it installed on your PC - then you don't need to turn it off

Fiddler is a tool that helps you monitor your HTTP(S) traffic. It's great for debugging any network issues you're having as it lets you trace where your data is going and coming in from. If you haven't installed it, then you won't have it on your machine by default.

Monitor HTTP/HTTPs traffic from any browser
Fiddler is a free web debugging proxy which logs all HTTP(s) traffic between your computer and the Internet. Use it to debug traffic from virtually any application that supports a proxy like IE, Chrome, Safari, Firefox, Opera, and more.
Inspect and debug traffic from any client
Debug traffic from PC, Mac, or Linux systems and mobile devices. Ensure the proper cookies, headers, and cache directives are transferred between the client and server. Supports any framework, including .NET, Java, Ruby, etc.
Tamper client requests and server responses
Easily manipulate and edit web sessions. All you need to do is set a breakpoint to pause the processing of the session and permit alteration of the request/response. You can also compose your own HTTP requests to run through Fiddler
Test the performance of your web sites and apps
Fiddler lets you see the “total page weight,” HTTP caching, and compression at a glance. Isolate performance bottlenecks with rules like “Flag any uncompressed responses larger than 25kb.”
Decrypt HTTPS web sessions
Use Fiddler for security testing your web applications -- decrypt HTTPS traffic, and display and modify requests using a man-in-the-middle decryption technique. Configure Fiddler to decrypt all traffic, or only specific sessions.
Extend Fiddler as much as you want
Benefit from a rich extensibility model which ranges from simple FiddlerScript to powerful Extensions which can be developed using any .NET language. See full list of ready-made add-ons.

Related

How can I test how a client/server app will hold up in different network traffic conditions?

I've recently been working on a project that involves a server app and a client app. The server streams video via UDP over a local network to the client, and the client buffers and displays it. I'm working on the client app, and have no control over the server app or any of the hardware or configuration behind it.
Presently, the client works as intended with a minimal hardware/server setup provided to me by the client, running on a home wireless LAN. One camera source, one connection to the server. However, my customer mentioned that the video looked jittery when he took it to a trade show and attributed that to network traffic conditions. I am thinking it might have had to do with crowded airspace at the show as well.
My issue is, I am a bit new to network programming and I am not sure how I can investigate, debug, and ultimately address the problem. How can I account for different real-world traffic conditions given my home network minimal setup? Ideally I could have a ton of these devices and a bunch of computers running the client to try out different configurations, but there must be some more scalable testing solution to analyze and debug performance under simulated or forced traffic conditions? What approaches might be fruitful?
There are a few paths to this. For your specific use case, you're probably best off using a tool like Clumsy to simulate bad network conditions.
If you're looking to test web traffic, you can use Fiddler to setup a proxy that you can configure to slow traffic.
If you're looking to test how well a webpage loads, you can use Chrome's built in dev-tools to simulate a slow network connection.

Isn't HTTPS supposed to encrypt network traffic?

I have succeeded in publishing a website in HTTPS through IIS using this tutorial:
http://www.iis.net/learn/manage/configuring-security/how-to-set-up-ssl-on-iis
Now, even though the digital certificate is not valid since it was issued by my computer, the website supposedly uses HTTPS. However, after I log-into an account, I am still able to see the form data entered using Google Chrome developer tools.
Why is this happening? Isn't HTTPS supposed to encrypt network traffic? How can I solve this problem please?
The browser is likely doing some work for you in decrypting it. Try using a tool like Fiddler (http://www.fiddler2.com/fiddler2/) to grab network traffic outside the browser environment. Fiddler also allows you to decrypt HTTPS traffic, but it's not enabled by default.
It gets encrypted by the secure sockets layer (SSL) before it enters the transport layer. What you see in f12 tool in a browser is what gets sent to the SSL layer. The traffic that gets sent over the wire is captured by tools like fiddler and wireshark.

is it possible to have VS2010 localhost repsond to LAN requests when debugging?

I am trying to test some new code between my iOS app and my new server code. It would greatly simplify things if I could submit requests to my local testing server while I am debugging so I can fix things quickly on the fly.
Is this possible?
This is not possible by design - which is a good thing.
However, if you are hell bent on doing this, you can do so by setting up a proxy on the development machine that will redirect the traffic to your localhost as required.
The full details steps are described here - http://encosia.com/using-an-iphone-with-the-visual-studio-development-server/.
Summary
Get Fiddler/Install Fiddler on the development machine - http://www.fiddler2.com
Determine the fiddler port and ensure it is configured to accept connections.
Determine your ip address.
On the iphone configure the proxy with the info from steps 2/3. (Connections > Proxy > Manual).
You may need to a period(.) to the address eg, http://localhost.:4543/website to make it work.

How to listen on browser requests (proxy, addon...)?

I wanted to know what is the best way to write an agent on Win platform that will be able to monitor browser's communication.
scenario: monitor the user access to predefined url on Chrome, FireFox and IE. On each hit I send the stats to a server with some data (page title).
The ways I found so far are proxy and browser addons. Each has it's own advantages and disadvantages. The main disadvantage of the proxy way is handling of HTTPS communication. The addon disadvantage is the installation (need to install on every browser) and cross-browser support.
Is there another way? some service I can write with .net that will automatically hook on a browser when it is started?
Thanks you.
You do have only two choices - an http proxy, or to write a plugin for every browser. That plugin could just forward data via network to a central service, leaving you with the challenge of coming up with a common set of data that all browsers can provide, plus learning all the plugin models.
In my opinion, though, the only real option is an HTTP(s) proxy because otherwise you have to keep updating your plugins every time browsers change, or deal with the fact that new browsers can come along and be used.
Certainly you won't find a 'user is browsing a url in some browser' event in the OS - all it knows is that a socket connection has been opened on some local port to a remote server's port 80/443 (or whatever).
So I strongly suggest building on top of the excellent work that's behind Fiddler and use the Fiddler Core.
http://www.telerik.com/fiddler/fiddlercore
For https you have to decrypt and re-encrypt with a different certificate. The information that you need is just not available without actually unpacking the request. Fiddler achieves this by opening it's own SSL tunnel to the target server on the client's behalf, whilst acting as an SSL server to the client under a different certificate. So long as the certificate that it uses is fully trusted by the client, no problems occur.
That said, it means that the user cannot personally verify the identify of the target site - therefore your system would have to assume worst case scenario for any invalid SSL certificates and block the connection.

C# capture http requests made by webbrowser

Let's say in a simple windows form there is a Webbrowser control that points to www.google.com. Is there a way to see what other requests were made by the webbrowser (eg. list of requested images, javascript files, css files and all that stuff)?
Try fiddler2.
What is Fiddler?
Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and
the Internet. Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and
"fiddle" with incoming or outgoing data. Fiddler includes a powerful event-based scripting
subsystem, and can be extended using any .NET language.

Categories

Resources