Telerik Forums
Fiddler Forum
1 answer
3.6K+ views

Hi,

This may be really obvious question and I am just missing something, but I was wondering can Fiddler retrieve a HTTPS sites certificate details?

For example when I go to gmail, can Fiddler retrieve the "issued by" or "issued to" certificate information (or even the likes of expiry date)? I am guessing that if Fiddler is set to decrypt HTTPS traffic it wont be able to as the site uses Fiddlers own certificate? So maybe this is impossible, just curious...

ie something like-  oSession["https-Client-Certificate"].issuedto (which in gmails case would return "*.google.com")

Hope that makes sense!

Many thanks,

Ian

Eric Lawrence
Telerik team
 answered on 16 Apr 2015
1 answer
4.7K+ views

Hi,

I was wondering if it is possible to configure Fiddler to show...

1. Sites that use non default ports (ignore 80 and 443).

2. Sites that bypass a proxy server by going direct. 

 

Our environment uses a PAC file to direct internet traffic to our PROXY server. Occasionally we find web sites that do not use ports 80 or 443 (and may not be obvious from the URL). Also we sometimes find sites that do not forward traffic to the proxy server and still attempts to access the remote server directly.

 

Can Fiddler be used to help identify these scenarios?

Ian
Top achievements
Rank 1
 answered on 15 Apr 2015
6 answers
377 views

Up until Monday 6th my code worked. It simply uses FiddlerCore to monitor the widgets Websocket connection and enqueue the data frames text. Later I process that text to get the "Option" price/times I want. There used to be a constant stream of OnWebSocketMessage calls but now there are none from the Websocket! Only a couple for html/gfx at the start. I can see the same data I used to get in the propper Fiddler app so know the certificates are there and working. But no longer in my app. It seems I'm doing something wrong and it was a fluke it worked before? Or SSL was not used but now is after they updated? Please help!

01.//certmaker.exe is in debug dir
02.//see Log_OnLogString for output
03. 
04.//App.xaml.cs
05.using Fiddler;
06.public partial class App : Application
07.{
08.    protected override void OnStartup(StartupEventArgs e)
09.    {
10.        //Setup internal proxy
11.        FiddlerCoreStartupFlags oFCSF = FiddlerCoreStartupFlags.Default;
12.        oFCSF = (oFCSF & ~FiddlerCoreStartupFlags.RegisterAsSystemProxy);
13.        FiddlerApplication.Startup(0, oFCSF);
14.        base.OnStartup(e);
15.    }
16.    protected override void OnExit(ExitEventArgs e)
17.    {
18.        FiddlerApplication.Shutdown();
19.        base.OnExit(e);
20.    }
21.}
22. 
23.//MainWindow.xaml.cs
24.using Fiddler;
25.using Awesomium.Core;
26.using Awesomium.Windows.Controls;
27.using System.Collections.Concurrent;
28. 
29.public partial class MainWindow : Window
30.{
31.    WebControl AweWebControl;
32.    ConcurrentQueue<string> CQFiddlerPayloads;
33.    public MainWindow()
34.    {
35.        CQFiddlerPayloads = new ConcurrentQueue<string>();
36. 
37.        FiddlerApplication.OnWebSocketMessage += FiddlerApplication_OnWebSocketMessage;
38.        FiddlerApplication.Log.OnLogString += Log_OnLogString;
39. 
40.        WebCore.Initialize(new WebConfig
41.        {
42.            UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36"
43.        });
44.        WebPreferences prefs = new WebPreferences()
45.        {
46.            ProxyConfig = "http://127.0.0.1:" + FiddlerApplication.oProxy.ListenPort.ToString(),
47.        };
48.        WebSession webSession = WebCore.CreateWebSession(prefs);
49.        AweWebControl = new WebControl();
50.        AweWebControl.WebSession = webSession;
51.        AweWebControl.CertificateError += AweWebControl_CertificateError;
52. 
53.        InitializeComponent();
54. 
55.        GridAweBrowser.Children.Add(AweWebControl);
56.        AweWebControl.Source = new Uri("https://binguest.optiontime.com/binGuest/GuestMode.jsp?vendor=option-time&lang=en#classic");
57. 
58.        //create DispatcherTimer to process CQFiddlerPayloads
59.    }
60. 
61.    string LogString = "";
62.    void Log_OnLogString(object sender, LogEventArgs e)
63.    {
64.        LogString += e.LogString + "\n";
65.        // /Fiddler.CertMaker> Using Fiddler.DefaultCertificateProvider+MakeCertEngine for certificate generation
66.        // [WebSocket #20] Read from Server failed... Object reference not set to an instance of an object.  <<not always!
67.        // [WebSocket #20] Read from Client returned error: 0
68.        // [WebSocket #20] Read from Server returned error: 0
69.    }
70. 
71.    void FiddlerApplication_OnWebSocketMessage(object sender, WebSocketMessageEventArgs e)
72.    {
73.        if (e.oWSM.FrameType == WebSocketFrameTypes.Text && e.oWSM.IsFinalFrame == true)
74.            CQFiddlerPayloads.Enqueue(e.oWSM.PayloadAsString());
75.    }
76. 
77.    void AweWebControl_CertificateError(object sender, CertificateErrorEventArgs e)
78.    {
79.        e.Handled = EventHandling.Modal;
80.        e.Ignore = true;
81.    }
82.}

N
Top achievements
Rank 1
 answered on 15 Apr 2015
3 answers
1.1K+ views

Hey,

 

in Fiddler 1 it was possible to add "Filters" in order to replace stuff in Requests / Responses. Sadly Fiddler 2 use a weird Script Tool now, which is not more "Noob Friendly"

 So I tried AutoRepsonse. Sadly AutoRepsonse respond to all of the REquest Matching this. But for me it it is like:

 

HEAD /quest here/

GET /here he get the actual XML File/

HEAD /

 

So I want, that he only respond at GET (a Local File or a modded one)

 

What I real want is, modify a XML Response.

 

< file="/url/" version="50150"> I want:   remove "Version=50150"  so it looks like : <file="/url/">

Eric Lawrence
Telerik team
 answered on 13 Apr 2015
2 answers
356 views

Hi,

Does it make sense, and has it been used in the past, to use FiddlerCore as a forward proxy instead of using a Squid on Linux. 

The primary reason for this would be lack of knowledge (and talent pool on C++ and Linux), and some other limitations with the Squid server. 

Basically I would like to know if FiddlerCore has been designed to handle the load in production environment where 1000's of people will connect and use the proxy server primarily for content filtering and manipulation. 

Any pointers would be greatly appreciated. 

Regards,

Shloma

Shloma
Top achievements
Rank 1
 answered on 12 Apr 2015
4 answers
2.2K+ views

Hi,

I tried to emulate my site running on a domain in my local machine by using Host Remapping in Fiddler. I am using Visual Studio 2013 and hence the site runs on IIS Express (via CTRL+F5). For example, if IIS Express assigns http://localhost:2491/ to my site, I put:

localhost:2491 test.com

At the Host Remapping setting. However, browser returns: Bad Request - Invalid Hostname HTTP Error 400. The request hostname is invalid.

I can access the site normally via localhost:2491 as expected. So yeah does anyone know the workaround to this?

Thanks in advance!

Ryan.

Ryan
Top achievements
Rank 1
 answered on 10 Apr 2015
1 answer
413 views

Hello Sir,

I captured packets using fiddler and now i jus t want that i can conclude some results using some other monitoring tool like Microsoft's Network monitor or Network miner. I tried but these tools are not supporting  .saz  file. So is there any way that i can somehow use my this captured traffic in these tools. Or some other way that i can use both tools in parallel.

Thanks in advance.

Eric Lawrence
Telerik team
 answered on 10 Apr 2015
1 answer
167 views

Hi, 

In connection to my previous post in using FddlerCore as a general purpose forward proxy, I was wondering if it's possible to host it with Azure, and if so I guess the most logical component for that would be to use a Worker Role, as using a Web App (site) would not allow you to start the fiddler service. 

Am I correct with my assumption?

Thanks

Shloma

Eric Lawrence
Telerik team
 answered on 10 Apr 2015
1 answer
451 views
I am trying to install the  FiddlerRoot.cer file on my phone. i completed the fiddler echo service then i downloaded the certificate but when i try to install it, my phone alerts that no certificates are available on SD card for installation. How can i resolve this problem. I needed this as i want to decrypt the HTTPs traffic from phone's applications.
Eric Lawrence
Telerik team
 answered on 08 Apr 2015
1 answer
60 views

Hey guys,

i captures some traffic for my apps and now even after installing the certificates i am not able to see the Deciphered text of HTTPS packets. So i just want to know how can i do that?

Eric Lawrence
Telerik team
 answered on 08 Apr 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?