Fiddler as remote proxy - Bypass list - Memory

6 posts, 0 answers
  1. Amann
    Amann avatar
    3 posts
    Member since:
    Aug 2017

    Posted 16 Aug 2017 Link to this post

    Hello,

    I am using Fiddler in my home lab to see what encrypted traffic do my programs/apps send over internet. Fiddler is running under windows 10 on a dedicated machine. I have 2 client machines that use Fiddler as a remote proxy, one desktop with Windows 10 and one wireless smartphone with Android 7.1.1. Except for a few programs/apps (e.g. Viber, Skype), everything works fine. One of the main problems is that Android thinks it is offline. I could browse internet but PlayStore seems to be unable to download apps. So I decided to add some google hostnames to the proxy bypass list to see if this solves the problem. It seems that this list has no effect when Fiddler is running as a remote proxy.

    Question 1: Is this how it is supposed to work or am I doing something wrong?

    Another problem is memory usage: on the dedicated Fiddler machine I have upgraded from 6 to 8 GB RAM. It seems Fiddler uses nearly all RAM although I have limited the number of sessions to the minimal available (10000).

    Question 2: Can I somehow tell Fiddler (using a script) to use e.g. only 6 GB?

     

    I am using the latest Fiddler version.

  2. Alexander
    Admin
    Alexander avatar
    336 posts

    Posted 21 Aug 2017 Link to this post

    Hello,

    About question 1 - by "proxy bypass list" which setting are you referring to? Are you talking about "Bypass Fiddler for URLs that start with:" found in Tools > Options > Connections?

    As of question 2. The setting for keeping only number of session has a maximum value of 10000 and minimum of just 100. Does Fiddler takes similar amount of memory with setting to keep only the last 5000 sessions?

    Regards,
    Alexander
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. Amann
    Amann avatar
    3 posts
    Member since:
    Aug 2017

    Posted 29 Nov 2017 Link to this post

    Hello Alexander,

    I have made some screenshots from various settings panels and the output of !memory. Fiddler is now running on a virtual machine with 6,5 GB of memory. I tried to reduce the max number of sessions to 5000 or 100 but the memory issue was still happening. It usually happens 1 or 2 days after fiddler is started (Windows reports low memory and after a while application is terminated). I have the following questions:

    1) According to the settings I have, what would be the max memory usage of fiddler (if this behavior is normal due to the settings) so I can upgrade the system's RAM?

    2) Is there any way to make fiddler explicitly invoke garbage collection every x hours?

    3) Under the "Connections" settings, does enabling "reuse client/server connections" increase memory usage?

    4) Under the "General" settings, does "automatically stream audio&video" increase memory usage?

    5) Under the "HTTPS" settings, what is the proper format for the "skip decryption for the following hosts" box? Is the following valid, for example: *.site1.com;sub.somepage.com;test*site.com

    6) Instead of using the "skip decryption for ..." option, is there any way to make fiddler only decrypt traffic from certain hostnames (around 20 hostnames/urls) from certain clients in the lab local network? I saw somewhere that this can be done via scripting but I don't know how to do it for multiple hosts/urls and from certain clients (meaning, if hostname/url matches and client ip matches then decrypt). Can you please provide an example?

    Thank you.

  4. Amann
    Amann avatar
    3 posts
    Member since:
    Aug 2017

    Posted 29 Nov 2017 Link to this post

    I forgot one more question:

    7) (Internet) Speed testing webpages seem to report wrong (very high) upload speed when fiddler is active. The same happens when a video is uploaded to youtube. I guess what's being measured here is actually the speed between the client and fiddler somehow (instead of client and server). Is there any way to prevent this?

  5. Alexander
    Admin
    Alexander avatar
    336 posts

    Posted 15 Dec 2017 Link to this post

    Hello,

    1. Rather unfortunately, I was not able to reproduce the problem you have. I started Fiddler with your settings as proxy and used it for days (hundreds of thousands sessions) and the results were not the same. The behavior you experience is not normal, but without actual reproduction we cannot really proceed with fixing it. There is however 1 thing we could try - go ahead and stop "Parse WebSocket messages", restart Fiddler and let it run for the same amount of time. Then you can report back what are the results.

    2. You can do that with custom code in FiddlerScript or by building custom extension, but I don't think that this will solve the problem from 1.

    3. 4. No, this settings should not affect memory usage.

    5. Yes, this seems to be valid example.

    6. Yes, just click on "Skip decryption" and it will change to "Perform decryption". The syntax is the same.

    7. It highly depends on what strategy the speed test website is using. If it is using plain HTTP and it is sending data through the body of the request then Fiddler's default behavior would cause huge numbers in upload section. In order to fix it we should disable request buffering for given hosts. This can be easily done with FiddlerScript. Just modify the following piece of code and add it to your script file (Rules -> Customize Rules or FiddlerScript tab):

    public static void OnPeekAtRequestHeaders(Session oSession)
    {
        if (oSession.host.Contains("some-speed-test.com"))
        {
            oSession.oRequest.BufferRequest = false;
        }
    }

    Please, keep in mind that this code snippet is written in C#. If you want to use JScript.NET you may need to change it in order to match its syntax. If you want to use the C# version, please, make sure that the selected scripting language is C# in Tools -> Options -> Scripting.

    Regards,
    Alexander
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  6. kpuli
    kpuli avatar
    3 posts
    Member since:
    Dec 2017

    Posted 28 Dec 2017 in reply to Amann Link to this post

    Amann said:

    Hello,

    I am using Fiddler in my home lab to see what encrypted traffic do my programs/apps send over internet. Fiddler is running under windows 10 on a dedicated machine. I have 2 client machines that use Fiddler as a remote proxy, one desktop with Windows 10 and one wireless smartphone with Android 7.1.1. Except for a few programs/apps (e.g. Viber, Skype), everything works fine. One of the main problems is that Android thinks it is offline. I could browse internet but PlayStore seems to be unable to download apps. So I decided to add some google hostnames to the proxy bypass list to see if this solves the problem. It seems that this list has no effect when Fiddler is running as a remote proxy.

    Question 1: Is this how it is supposed to work or am I doing something wrong?

    Another problem is memory usage: on the dedicated Fiddler machine I have upgraded from 6 to 8 GB RAM. It seems Fiddler uses nearly all RAM although I have limited the number of sessions to the minimal available (10000).

    Question 2: Can I somehow tell Fiddler (using a script) to use e.g. only 6 GB?

     

    I am using the latest Fiddler version.

    take help of any technical service engineer support
Back to Top