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 dir02.//see Log_OnLogString for output 03. 04.//App.xaml.cs05.using Fiddler;06.public partial class App : Application07.{08. protected override void OnStartup(StartupEventArgs e)09. {10. //Setup internal proxy11. 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.cs24.using Fiddler;25.using Awesomium.Core;26.using Awesomium.Windows.Controls;27.using System.Collections.Concurrent;28. 29.public partial class MainWindow : Window30.{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 WebConfig41. {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 CQFiddlerPayloads59. }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 generation66. // [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: 068. // [WebSocket #20] Read from Server returned error: 069. }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.}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/">
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
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.
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.
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
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?
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?