Telerik Forums
Fiddler Forum
0 answers
167 views

I like to grab the ClientBeginRequest and convert that to UNIX epoch time in the Fiddler scripts, however, I cant seem to get the known methods to work like Math.floor. 

var iat = oSession.Timers.ClientBeginRequest; -> this does not give me unix time in sec

The idea is to generate json data with iat, exp and convert it to base64 and add it to the header

        if (oSession.HostnameIs("my-host.com") && oSession.uriContains("/value/"))
        {
            // Take ClientBeginRequest and convert it to unix
            //    var iat = oSession.Timers.ClientBeginRequest;
            //    var iat2 = Math.floor(iat / 1000);
            
            // Take the // Take ClientBeginRequest and convert it to unix + 30 mins
            //    var minutesToAdd=30;
            //    var exp = new Date(iat + minutesToAdd*60000);


            // convert json data to base64
            //    var obj = {iat: 'iat', exp: 'exp'};
            //    objJsonStr = JSON.stringify(obj);
    //    objJsonB64 = Buffer.from(objJsonStr).toString("base64");

            //Add the value to header
            oSession.oRequest["new-header-name"] = "headerValue in base64";
        }

 

Update:

I have iat and exp working, just need some help with converting the value to base64. 

        import Microsoft.JScript;

        var iat = Math.round((new Date()).getTime() / 1000);
        oSession.oRequest["iat"] = iat
        
        var exp = (iat + 1800);
        oSession.oRequest["exp"] = exp
                
        var data = {iat: 'iat', exp: 'exp'};

            

Roger
Top achievements
Rank 1
 updated question on 09 May 2022
1 answer
150 views
i don't know why my computer shut down immediately when running Fiddler Classic, i opened the Fiddler and it opened but few seconds later my computer just Shutdown, pls anyone know what is this and how to fix it thank you
Nick Iliev
Telerik team
 answered on 09 May 2022
0 answers
295 views

hi 

I work on scraping data from the android app. i could see HTTP and HTTPS traffic but in special data that I want extracting didn't show in fiddler sessions. I attach fiddler certification on the android device and even try certificate pinning bypass approach with the Exposed framework, but still, I couldn't see traffics, this data is about the history of users and when I load this data and scroll some pages, nothing shows in fiddler, like I didn't anything.

Now my questions are about this problem.

First which network traffic cant see with fiddler and how can understand the type of my traffic to assay that?

Second how I could monitor this traffics? have fiddler any extensions to cover this? or this work could do anyway like other apps or other approach or use another framework like Frida?

got stuck with issue for a long time. appreciate your help, please.

Regards - ah.Mohammadi

ah
Top achievements
Rank 1
 asked on 24 Apr 2022
2 answers
1.3K+ views

- I have Fiddler Anywhere Version : 3.1.1Built : Friday, April 1, 2022

- I'm getting the following error when trying to login to a site that uses Google Authentication

 

 

I have SSL enabled as well as HTTP 2 

I followed this following article to test via Curl: https://docs.telerik.com/fiddler-everywhere/knowledge-base/troubleshoot-traffic-capturing

And that seems to work fine


curl -v --url https://accounts.google.com/ -x 127.0.0.1:8866
*   Trying 127.0.0.1:8866...
* Connected to 127.0.0.1 (127.0.0.1) port 8866 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to accounts.google.com:443
> CONNECT accounts.google.com:443 HTTP/1.1
> Host: accounts.google.com:443
> User-Agent: curl/7.79.1
> Proxy-Connection: Keep-Alive
> 
< HTTP/1.1 200 Connection Established
< FiddlerGateway: Direct
< StartTime: 16:38:22.875
< Connection: close
< 
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
* (304) (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use h2
* Server certificate:
*  subject: OU=Created by http://www.fiddler2.com; O=DO_NOT_TRUST_BC; CN=*.google.com
*  start date: Apr 11 00:00:00 2022 GMT
*  expire date: Mar 18 00:00:00 2023 GMT
*  subjectAltName: host "accounts.google.com" matched cert's "*.google.com"
*  issuer: OU=Created by http://www.fiddler2.com; O=DO_NOT_TRUST_BC; CN=DO_NOT_TRUST_FiddlerRoot
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x141011400)
> GET / HTTP/2
> Host: accounts.google.com
> user-agent: curl/7.79.1
> accept: */*
> 
< HTTP/2 302 
< content-type: text/html; charset=UTF-8
< strict-transport-security: max-age=31536000; includeSubDomains
< x-frame-options: DENY
< content-security-policy: script-src 'nonce-VYoRQAxt6ue7JSa7k4ypgQ' 'unsafe-inline' 'unsafe-eval';object-src 'none';base-uri 'self';report-uri /cspreport
< location: https://accounts.google.com/ServiceLogin?passive=1209600&continue=https%3A%2F%2Faccounts.google.com%2F&followup=https%3A%2F%2Faccounts.google.com%2F
< content-length: 338
< date: Mon, 18 Apr 2022 22:38:23 GMT
< expires: Mon, 18 Apr 2022 22:38:23 GMT
< cache-control: private, max-age=0
< x-content-type-options: nosniff
< x-xss-protection: 1; mode=block
< server: GSE
< set-cookie: __Host-GAPS=1:d7lQPkd-mj-X5xjZLsdLHUWgaG92oA:9aBwNT8dN9_fk9ZE;Path=/;Expires=Wed, 17-Apr-2024 22:38:23 GMT;Secure;HttpOnly;Priority=HIGH
< alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
< 
<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://accounts.google.com/ServiceLogin?passive=1209600&amp;continue=https%3A%2F%2Faccounts.google.com%2F&amp;followup=https%3A%2F%2Faccounts.google.com%2F">here</A>.
</BODY>
</HTML>
* Connection #0 to host 127.0.0.1 left intact

Not sure what else I can do here. What else can I do to debug an application that uses Google Auth? The login process itself is exactly what I'm trying to debug in my application. 

I'm using Chrome Version 100.0.4896.127 (Official Build) (x86_64 translated)

 

 

Warrick
Top achievements
Rank 1
Iron
 answered on 21 Apr 2022
1 answer
760 views
i want to timeout and retry a session that's already send out to server but server is under heavy load and can't response in a reasonable time so i want to retry the request if the server didn't respond in xx second after the request is send is that possible with fiddler?
Nick Iliev
Telerik team
 answered on 18 Apr 2022
0 answers
640 views

Hi,

I lost my data after recovering the data when I'm opening the saz file it shows me this error. "The selected file is not a Fiddler-generated .SAZ archive of Web Sessions."  Picture attached. A quick response will be highly appreciated 

Regards,
Raph

Raph
Top achievements
Rank 1
 asked on 14 Apr 2022
1 answer
3.5K+ views

Fiddler Classic v5.0.20211.51073 for .NET 4.6.1 and Android 9.

  1. install Fiddler.
  2. Install "CertMaker for iOS and Android".
  3. open Fiddler.
  4. Check "Decrypt HTTPS traffic" in Option.
  5. Install the certificate when the install dialog box appears.
  6. set "Protocols" to "<client>;ssl3;tls1.2".
  7. add the following code to the end of "static function OnBeforeRequest(oSession: Session)" in "Fiddler Script".
        if (oSession.HTTPMethodIs("CONNECT"))
        {
            oSession["https-DropSNIAlerts"] = "yup";
            FiddlerApplication.Log.LogString("Legacy compat applied for request");
        }
  1. Restart Fiddler.
  2. set Android proxy settings to the Fiddler address.
  3. access Fiddler's website with an Android browser and download the certificate.
  4. Install the certificate.
  5. move the converted certificate in /data/mics/user/0/cacerts-added/ to /system/etc/security/cacerts/.
  6. set the owner and group of the moved file to root and set permissions to rw-r--r--.
  7. Remove the first installed certificate
  8. Restart Android.
  9.  

When I access an HTTPS site with Chrome after following these steps, I get the message "NET::ERR_CERT_AUTHORITY_INVARID" and cannot access the site. Fiddler just comes up with CONNECT. At the stage of just installing in the user area in 11., I am able to access the HTTPS site from Chrome and it is decrypted in fiddler. However, when I move it to the system area, I am having trouble communicating with it. The list of trusted credentials for the system in the settings app reflects it correctly and I can view the information inside by tapping on it. Why is there an error?

PS: When I run Chromium Edge on a PC running Fiddler and look at the serial number of the root certificate for the certificate to the https site and compare it to the serial number in the CA certificate list installed on the Android system, it matches. The former does not cause an error, but the latter does.

Nick Iliev
Telerik team
 answered on 13 Apr 2022
5 answers
3.0K+ views

Hello,

I have set up fiddler on my android phone and it works well but some services like netflix, youtube just say that there is no internet connection. While I installed the certificate for wifi and as AC certificate. How can I fix that ?

I attached the infos of the ipv4.fiddler:889.

Nick Iliev
Telerik team
 answered on 25 Mar 2022
1 answer
1.8K+ views

This is what I am using

1. Proxifier

2. Fiddler Classic

My code makes web requests which are intercepted by Proxifier and forwarded to Fiddler Classic. 

Note: All 3 are on the same dev machine (127.0.0.1).

Earlier it was working smooth, now I get strange 502 errors in Proxifier. It happens randomly and only once every 10-15 requests. When I retry the curl request in my code, it executes successfully next time even without a sleep condition / any delay.

Note:

A) While I see the 502 error in the Proxifier log, the failed request is not visible in the Fiddler requests list. I am not sure what is the problem?

B) I only face this issue when using one particular API from eodhistoricaldata.com. I never face this issue if I use other API endpoints from the same provider

C) It started randomly few days ago. Before that, the code was working fine.

[03.24 15:33:50] php.exe - eodhistoricaldata.com:443 close, 1193 bytes (1.16 KB) sent, 2206 bytes (2.15 KB) received, lifetime <1 sec
[03.24 15:33:50] php.exe - eodhistoricaldata.com:443 open through proxy 127.0.0.1:8888 HTTPS
[03.24 15:33:56] php.exe - eodhistoricaldata.com:443 close, 1194 bytes (1.16 KB) sent, 441336 bytes (430 KB) received, lifetime <1 sec
[03.24 15:34:00] php.exe - eodhistoricaldata.com:443 open through proxy 127.0.0.1:8888 HTTPS
[03.24 15:34:01] php.exe - eodhistoricaldata.com:443 close, 1191 bytes (1.16 KB) sent, 16082 bytes (15.7 KB) received, lifetime <1 sec
[03.24 15:34:22] php.exe (32564) - eodhistoricaldata.com(134.209.140.199):443 error : Could not connect through proxy 127.0.0.1(127.0.0.1):8888 - Proxy server cannot establish a connection with the target, status code 502
[03.24 15:34:22] php.exe - eodhistoricaldata.com:443 open through proxy 127.0.0.1:8888 HTTPS
[03.24 15:34:23] php.exe - eodhistoricaldata.com:443 close, 1192 bytes (1.16 KB) sent, 2206 bytes (2.15 KB) received, lifetime <1 sec

 

Varun
Top achievements
Rank 1
Iron
 updated answer on 24 Mar 2022
0 answers
191 views

Hello,

I am able to see my bar chart when designing my report, but when I click on Preview, the chart appears blank. I am not sure how to resolve this issue.

I have one datasource for my query, and another datasource for the parameter (paramApp). Ideally I want the client to select an Application Period and visually see how many applications were received, completed, etc.

Any help is greatly appreciated! 

 

 

Kristine
Top achievements
Rank 1
 asked on 14 Mar 2022
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?