Telerik Forums
Fiddler Forum
6 answers
367 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
346 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
402 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
161 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
444 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
57 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
2 answers
901 views

When I use Fiddler2 as a autoresponder (simple web server) I would like to see which requests are done in which http connection (i.e. Keepalive). I can add the column "ClientPipeStatus" which will give me "new" or "reused" and I can also see new sessions/reused sesions in the timeline view marked with a dot.

But I have'nt found an attribute which would stay consistent inbetween requests (like the "connection number" or "connection start time") or which would be a "this is request x in the connection". Are there any columns I could add to get the chain between requests based on client connections?

 When used in Proxy mode, is there a gurantee that the connections to the server are used in the same way the client reuses them to send requests?

Bernd
Top achievements
Rank 1
 answered on 07 Apr 2015
3 answers
301 views
Looking at the "Actual Performance" under the Statistics tab, I see (below).  Did it actually take a bit over a second to get past the autoproxy?  (Determine Gateway: 1076ms
).  If you look at ServerConnected: 11:31:55.814 then see FiddlerBeginRequest: 11:31:57.429 right after, this included the Determin Gateway time?  Overall Elapsed: 0:00:01.142 doesn't seem to add up.

ClientConnected: 11:31:55.322
ClientBeginRequest: 11:31:56.355
GotRequestHeaders: 11:31:56.355
ClientDoneRequest: 11:31:56.355
Determine Gateway: 1076ms
DNS Lookup: 0ms
TCP/IP Connect: 0ms
HTTPS Handshake: 0ms
ServerConnected: 11:31:55.814
FiddlerBeginRequest: 11:31:57.429
ServerGotRequest: 11:31:57.429
ServerBeginResponse: 11:31:57.494
GotResponseHeaders: 11:31:57.494
ServerDoneResponse: 11:31:57.497
ClientBeginResponse: 11:31:57.494
ClientDoneResponse: 11:31:57.497
Overall Elapsed: 0:00:01.142
Eric Lawrence
Telerik team
 answered on 01 Apr 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?