Telerik Forums
Fiddler Forum
3 answers
179 views

Hello, 

I've been using Fiddler to debug iOS and Android mobile apps for a while on multiple devices. recently, some Apple phones have been automatically updated to the version 10.3. Since then, i can't see any data in Fiddler. Does anyone have the same problem? Is there a workaround?

 

thanks!

ALDRIN P
Top achievements
Rank 1
 answered on 04 Jul 2017
1 answer
521 views

Hello everyone! I need help. I have this request:

POST https://site/request HTTP/1.1
Host: site
Accept-Language: en-us
X-OQUE-4LM: AQAGMvxvDIIUBF+WCuq5NR+yUKs2RLd2ujdnK3euSZhfYmfEAfz2j4+uSblhagtKNuPv
User-Agent: VerifiedApp/5.11.0
Accept: */*
Content-Type: application/x-www-form-urlencoded
SECURITY-USERID: site.com
DATA-FORMAT: NV
RESPONSE-DATA-FORMAT: NV
VERSION: 1.0.0
Connection: keep-alive
Proxy-Connection: keep-alive
Content-Length: 2071
Accept-Encoding: gzip
 
appGuid=fa8d329215c192d350790b80010063e1&libraryVersion=Dyson/3.5.7 (iOS 9.3.1)&additionalData=%7B%22app_version%22%3A%225.11.0%22%2C%22comp_version%22%3A%223.5.7%22%2C%22locale_lang%22%3A%22en%22%2C%22is_emulator%22%3Afalse%2C%22timestamp%22%3A1498862545599%2C%22ip_addrs%22%3A%22192.168.1.235%22%2C%22linker_id%22%3A%2236867603-6174-40b8-8d60-f00cdd090b57%22%2C%22vendor_identifier%22%3A%2285E52684-7B9B-40C8-8149-3AF751613F33%22%2C%22conf_url%22%3A%22https%3A%5C%2F%5C%2Fwww.siteobjects.com%5C%2Fwebstatic%5C%2Frisk%5C%2Fdyson_config_ios_v4.json%22%2C%22proxy_setting%22%3A%22host%3D192.168.1.242%2Cport%3D8888%2Ctype%3DkCFProxyTypeHTTPS%22%2C%22notif_token%22%3A%22%22%2C%22os_type%22%3A%22iOS%22%2C%22os_version%22%3A%229.3.1%22%2C%22location_auth_status%22%3A%22unknown%22%2C%22pin_lock_last_timestamp%22%3A1498861777904%2C%22pm%22%3A%222d935eb9%22%2C%22sms_enabled%22%3Afalse%2C%22conf_version%22%3A%224.0%22%2C%22payload_type%22%3A%22full%22%2C%22source_app%22%3A11%2C%22app_guid%22%3A%22fa8d329215c192d350790b80010063e1%22%2C%22ds%22%3Atrue%2C%22ip_addresses%22%3A%5B%22%3A%3A1%22%2C%22127.0.0.1%22%2C%22fe80%3A%3A1%22%2C%22fe80%3A%3A41d%3A305e%3A330%3Aecd8%22%2C%22192.168.1.235%22%2C%22fe80%3A%3A3c3b%3A43ff%3Afebe%3A9635%22%5D%2C%22dc_id%22%3A%22e421ce595d27c33a4912dc014213ecbd%22%2C%22tz%22%3A-14400000%2C%22device_model%22%3A%22iPad%20Mini%28WiFi%29%22%2C%22cloud_identifier%22%3A%22f08e9cc8-0f01-42b9-abe7-41d90a64136a%22%2C%22risk_comp_session_id%22%3A%229db8ae3b-d2d2-44ec-bea7-7b4d075825d4%22%2C%22device_name%22%3A%22Jammie%20Markos%22%2C%22local_identifier%22%3A%22a63bbdf6-eae5-4602-857b-4c89eae609b3%22%2C%22is_rooted%22%3Atrue%2C%22total_storage_space%22%3A%2213641986048%22%2C%22source_app_version%22%3A%225.11.0%22%2C%22pairing_id%22%3A%22c8595132fd344f9e9fb24b4a1374f7fa%22%2C%22ssid%22%3A%22default89%22%2C%22app_id%22%3A%22com.xcom.iphone%22%2C%22tz_name%22%3A%22America%5C%2FNew_York%22%2C%22conn_type%22%3A%22unknown%22%2C%22bssid%22%3A%225c%3Ad9%3A98%3Ae7%3Ac7%3A34%22%2C%22email_configured%22%3Atrue%2C%22locale_country%22%3A%22US%22%7D

i

I need to change this parameters, like:

is_rooted%22%3Atrue into is_rooted%22%3Afalse

I'l try use this:

if (oSession.PathAndQuery("sitel.com:443")){
              oSession["ui-backcolor"] = "lime";
              oSession.utilDecodeResponse();
              oSession.utilReplaceInResponse('is_rooted%22%3Atrue','is_rooted%22%3Afalse');
          }

 

But it's not work.

Regards, Ruslan.

Wordpress
Top achievements
Rank 1
 answered on 01 Jul 2017
0 answers
641 views

When I capture a request, it's a Fiddler.Session object.
I've been searching this object for hours now, and I can't find the Request Payload.
I have searched through all properties, maybe I skipped something, but I can't find it. I searched more RequestBody and RequestHeaders without success.

So is it even possible with this object to access Request Payload?

Cherry
Top achievements
Rank 1
 asked on 30 Jun 2017
0 answers
501 views

I am trying to use fiddler as a proxy for my java application that uses HTTPS connection. I had enabled proxy settings(HTTPS&Connections) on Fiddler and exported the Fiddler ROOT certificate successfully to my java keystore(cacerts). However when I run my application it is throwing following error:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)<br>at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1908)<br>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:293)<br>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:287)<br>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1333)<br>at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)<br>at sun.security.ssl.Handshaker.processLoop(Handshaker.java:906)<br>at sun.security.ssl.Handshaker.process_record(Handshaker.java:841)<br>at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)<br>at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1334)<br>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1362)<br>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1346)<br>at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)<br>at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)<br>at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1454)<br>at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1382)<br>at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)<br>at com.teknowmics.jcloudplugin.FiddlerConnectorTest.main(FiddlerConnectorTest.java:36)<br>Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)<br>at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)<br>at sun.security.validator.Validator.validate(Validator.java:260)<br>at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)<br>at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)<br>at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)<br>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1315)<br>... 13 more<br>Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:144)<br>at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:130)<br>at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)<br>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)<br>... 19 more

Sample code I used:

public static void main(String args[]) throws MalformedURLException, IOException {<br>        System.setProperty("https.proxySet","true");<br>        System.setProperty("https.proxyHost", "127.0.0.1");<br>        System.setProperty("https.proxyPort", "8888");<br>        System.setProperty("javax.net.ssl.trustStore", "d:\\SmartDocs\\installed\\jdk1.8.0Lambda\\jre\\lib\\security\\cacerts");<br>        System.setProperty("javax.net.ssl.trustStorePassword", "changeit");<br>        System.out.println("Trust store:"+System.getProperty("javax.net.ssl.trustStore"));<br>        System.out.println("Trust store pwd:"+System.getProperty("javax.net.ssl.trustStorePassword"));<br>        String https_url = "https://stackoverflow.com/questions/499591/are-https-urls-encrypted";<br>        URL url;<br>        url = new URL(https_url);<br>        HttpsURLConnection con = (HttpsURLConnection) url.openConnection();<br>        if(con!=null){<br>   System.out.println("****** Content of the URL ********");<br>   BufferedReader br =new BufferedReader(new InputStreamReader(con.getInputStream()));<br>   String input;<br>   while ((input = br.readLine()) != null){<br>      System.out.println(input);<br>   }<br>   br.close();<br>       }<br>    }<br>

 

Pratheesh
Top achievements
Rank 1
 asked on 29 Jun 2017
0 answers
212 views

Hi all,

 

I'm trying to an auto responder for any url and contains two words in the body. I am using the following, but it never works :-(

URLWithBody:regex:.* regex:assignRequest.*127

Here i am expecting any body request containing assignRequest and 127 (order doesn't matter) to auto respond but it doesn't work I've also tried other combinations without success

it works if i just use one word, but not two.

Regards

Chris

Chris
Top achievements
Rank 1
 asked on 28 Jun 2017
0 answers
306 views

I know it uses Jscript.NET but is there some special context it runs within (and is documented somewhere) that would prevent me from instantiating a Form to input a string, select from a radio button group, etc? Or is a different file supposed to be edited?

When I try to add the following to CustomRules.js in the ScriptEditor, it says "ERROR LINE --> MyForm myform = new MyForm() - The list of attributes does not apply to the current context" when I save the script.

 

Here is the Form class I am trying to use to make a dialog:

import System.Windows.Forms;
import System.ComponentModel;
import System.Drawing;
 
class MyForm extends System.Windows.Forms.Form {  
    // declare variables
    private var label1: Label;
    private var textBox1: TextBox;
    private var button1: Button;
    private var panel1: Panel;
 
    // constructor
    function MyForm() {                        
        //SuspendLayout(); // suspend layout events
        // label, size, and center form
        Text= "Resize Me!";
        ClientSize= new System.Drawing.Size(300,300);
        StartPosition= System.Windows.Forms.FormStartPosition.CenterScreen;
 
        // create a label
        label1= new Label;      
        label1.Location= new Point(10,10);
        label1.Size= new System.Drawing.Size(80,20);
        label1.Name= "label1";
        label1.Text= "Label";
        label1.Anchor= AnchorStyles.Left;
                 
        // create a TextBox
        textBox1 = new TextBox;
        textBox1.Location= new Point(10,30);
        textBox1.Size = new System.Drawing.Size(80,20);
        textBox1.Name= "textBox1";
        textBox1.Text = "Hello World";
        textBox1.Anchor= AnchorStyles.Left;                           
 
        // create a Button
        button1= new Button;
        button1.Location= new Point(200,240);
        button1.Size= new System.Drawing.Size(80,20);
        button1.Name= "button1";
        button1.Text= "Button";
        button1.Anchor= AnchorStyles.Right | AnchorStyles.Bottom;
                                               
        // create a Panel
        panel1= new Panel;
        panel1.Location= new Point(0,0);
        panel1.Size= new System.Drawing.Size(300,300);
        panel1.Name= "panel1";
        // resize panel on resize form
        panel1.Anchor= AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
             
        // add controls to the panel
        panel1.Controls.Add(label1); 
        panel1.Controls.Add(textBox1);
        panel1.Controls.Add(button1);
 
        // add panel to form
        this.Controls.Add(panel1);
 
        //ResumeLayout(); // resume layout events
    } // end_constructor
} // end_class
 
 
class Handlers {
 
    ...
 
    static function BeforeTestList(arrSess: Session[]): boolean
    {
        MyForm myform = new MyForm();
        myform.ShowDialog();
         
        return true; // Test should proceed; return false to cancel
    }
}
Ed
Top achievements
Rank 1
 asked on 27 Jun 2017
0 answers
376 views

 

Using the Python requests library, I can do something like this:

<p>session = requests.Session()</p><p>session.post("https://testurl", ..., verify=false)</p>

 

and Fiddler will detect the web request just fine. However, if I use a prepared request like so:

<p>session = requests.Session()</p><p>request = requests.Request("POST", "https://testurl", ...)</p><p>session.prepare_request(request)</p><p>session.send(prepared, verify=false)</p><p></p>

 

the sent web request does not show up in the session list in Fiddler. I've confirmed that the request is getting sent and receiving a response through the Python script, but for some reason it's not showing up in Fiddler. Any ideas? I don't have any filters or rules enabled.

Drew
Top achievements
Rank 1
 asked on 27 Jun 2017
0 answers
103 views

I know Fiddler (which is awesome by the way) can server a certificate upon request from the server; however, I'm trying to debug what type of filters the 3rd party server (we don't have access to it) is trying to request.

In the connect request/response I don't ever see an actual CertificateRequest although I some information about the connect, and that Fiddler handled some items in that TLS handshake, just not about a certificate request from the server for the client...

Is this something just not possible with Fiddler and I need to wireshark this?

Cheers!

WTHNoSpam
Top achievements
Rank 1
 asked on 27 Jun 2017
10 answers
279 views

I'm wondering when FiddlerHook will be released as a signed add-on for Firefox.

Mozilla has announced that in the near future, unsigned add-ons will no longer be alllowed to run.

 

 

 

JF
Top achievements
Rank 1
 answered on 21 Jun 2017
0 answers
221 views
Auto responder can match the request, but not responses with the selected content, just passthrough.
Top achievements
Rank 1
 asked on 21 Jun 2017
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?