This morning I was able to capture https traffic on the version of Fiddler I had installed. I was prompted about a Fiddler update available. I clicked the "Next time" option. After closing fiddler and reopening a few minutes later the update was automatically installed (v4.6.20172.31233, 64-bit). Following that update, I am not able to take any traces from my iOS device. I am on a work computer capturing https traffic from my iPhone to monitor a mobile app.
It should also be noted that I'm unable to capture any traffic or visit any web pages on my iPhone when going through the IP and port 8888 setup with Fiddler. Seems like all data is blocked (even when I'm not attempting to capture https with a trusted certificate).
I have attempted a few things:
Went through these steps (which I had done months ago to originally setup fiddler), and it didn't resolve the situation: http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureForiOS
I checked my Tools > Options and everything seems to be configured the same as it was previously.
I double, triple and quadruple confirmed that my iPhone's IP Address and port are correctly matching what fiddler shows when I hover the mouse over the "Online" icon. I confirmed that I'm on the same wifi network on both my laptop and iPhone.
I removed the trusted certificate from my iPhone, but could not download a new one because when I go to ipv4.fiddler:8888 the page does not load. "Safari cannot find the page" and neither can Chrome (from my iPhone). FiddlerMachineIP:8888 loads on my laptop browser, but not my iPhone browser. (I didn't post full http:// links on this post because I have a new stack overflow account and it won't let me yet)
I downloaded the certificate plugin for iOS once more.
I reset my Fiddler Root Certificate by selecting Tools > Options > HTTPS tab > Actions > Reset All Certificates.
I attempted step 4 above again, no success
I closed and reopened fiddler multiple times between each step to restart it, but no success.
Restarted my laptop and iPhone (because why not?)
Do you have any suggestions for what else I can try? Any help is much appreciated. The only thing that was changed was the version of Fiddler. After that, I attempted to run through all the steps above. Currently I'm in a situation where I cannot download the certificate to trust on my iPhone. I don't know what is preventing me from doing that step.
Edit: I reinstalled fiddler and went through all the setup pages. It didn't seem to fix the situation. My phone for some reason will not load the page necessary to download the certificate (ipv4.fiddler:8888)
Try checking the certificate's full trust settings at Settings > General > About > Certificate Trust Settings. Make sure the DO_NOT_TRUST_FiddlerRoot is enabled for full trust.
Disable Windows Firewall and try again. I faced the same problem, and it helped.
Related
In the Charles proxy, I at some point install the root certificate for the iOS simulator and set http://localhost:8080 in Focused Hosts to reduce clutter and only see web traffic from my local host.
In order to undo this, however, in View > Focused Hosts... I've unchecked and removed that entry:
The problem is that in Charles Proxy, I'm still only seeing requests to the localhost when come from an iOS simulator:
I do have 'Mac OS proxy' enabled in the Proxy menu:
If I go to a different domain in my Chrome web browser, I don't see any requests showing up in Charles, even if I go to localhost:8080 in my browser. If I go to a different domain in the Safari app on the iPhone emulator, I don't see anything show up either, although I do see the requests if I browse to localhost:8080 in the Safari app on the emulator.
In short, I seem to only be able to see requests to localhost:8080 from the iOS emulator, not requests from my Chrome browser or to different domains, despite that I've 'reset' Focused Hosts. How can I make Charles Proxy see other requests?
Apparently, View > Focused Hosts is not the right menu for this; I had to go to Proxy > Recording Settings > Include and uncheck localhost:8080:
I also found it necessary to restart Charles after changing this.
With device manual proxy to my Charles IP address, not seeing any traffic or prompt to allow traffic in Charles Proxy. S10 device appears to load all traffic when navigating to various URLs.
Even charlesproxy.com/ssl loads website but doesn't initiate a certificate to download.
All other android devices tested on same setup works fine. Issue seems specific to Samsung S10
So what seemed to have worked for me just now, with my mac (I assume it would be something similar for Windows) I just opened a regular browser, went to chls.pro/ssl and download the certificate file.
From there I sent it to my S10+ and opened it, which then installed it properly.
If you're trying to hook up to Android devices then beware that Google introduced security measures to not allow proxy monitoring in I believe Android 6 or 7. If the other devices you had worked fine on Android then it's probably because you were using an earlier version of Android, or, you had a debug build that allowed for proxy monitoring. I know there's a SO post somewhere that talks about this "pinning" and I know our company does this as well with debug apk's. If neither of those solutions work then it's probably a matter of getting the Charles certificate installed correctly on that phone but without more information it is hard to diagnose. Hope this helps you
I can run the app in the browser after clearing data, but if I then add it to the homescreen and attempt to relaunch from there, I get a plain page giving the following error:
Safari cannot open the page. The error was: "FetchEvent.respondWith received an error: Returned response is null."
Subsequent launches in the browser then also give that error. I have to again 'clear data' in the browser to get it to work again.
I'm using Workbox v3.6.2 (the latest, at the time of writing), and my iPhone is running iOS 12.
This looks suspicious, but it's a bit over my head (well, the workaround is anyway). It makes me want to try to down grade to iOS11.X again, and/or install Technology Preview 59.
I have this same problems. On iOS 12.0.0 work properly but after updating to version 12.0.1 I have this same error like you. I have test this same application but on two different devices (iPhone) with two different version of iOS.
Looks like there are multiple possible reasons for this error - I've had it twice ;
Occasion 1 : Needed to add a ROOT certificate and set it as Trusted on device.
my conditions;
I was getting the same error on an iPhone 5s with iOS 12 when loading pwapp from local server.
Using self signed certs on a development machine for server.
Not using Workbox.
Not getting problem if loading pwapp from provider hosted server with ssl cert from iOS recognised cert authority.
Turned out it was to do with security certs - (not using a mac so can't debug to the level of network/security issues on the device / direct to fully diagnose).
Fix was to ;
create a self signed root cert and use that for my server.
convert (copy of) root cert .pem file to .der
access .der via safari on the device / add profile, set as trusted.
(Correct way is to do root, intermediary and server certs , use the server cert and serve the root cert via url or email it to email client on device.)
useful links ;
see Getting cert in General->About->Certificate Trust Settings
Occasion 2 : Turns out you have to access the pwapp from the home screen icon at least once while you have access to the server.
To reproduce ;
(networking on)
delete icon from home screen and clear safari history and website data
visit the pwapp url
add to home screen but do not launch
turn off networking
attempt launch from home screen => get the error
turn on networking, launch pwapp from home screen => ok.
close pwapp, turn off networking, launch pwapp from home screen => ok.
So looks like an iOS/Safari/Webkit bug
I have integrated facebook and gmail in my app but when i redirect user to safari for login i am not able to open facebook or google page for loginin safari in simulator. it gives me error like "safari can not open the page because it can not establish secure connection to the server."
Any one knows what is solution to resolve this issue?
Thanks in advance.
Below are common issues in such cases
Disable 'Auto Proxy discovery' in proxy settings of your Mac
You are behind a proxy
You are using a Antivirus which has WebShield of similar feature enabled. Disable the antivirus and try again
Your simulator's date & time are not sync to current date. Certificates don't validate fine when system date is skewed
Rebooting the simulator also at times help
Below are the threads you should look into
Can't visit website on iOS Simulator—'This Connection Is Not Private'
iOS simulator can't access any URL and shows the error "This connection is not private"
iOS Simulator not works on https, all https are evaluated as not trusted
Can't use HTTP in iOS 8 simulator
iPhone simulator cannot connect to internet
I fixed this by disabling Avast Web Shield.
I have Avast Antivirus installed and adding facebook url to the configuration of the internet scanning service allowed me to fix this problem.
I'm trying to run some local testing on iDevices but I must be missing something in the setup. I did that before when it all worked, so maybe someone can helpout:
I'm using Fiddler on a windows machine, have all devices set up via proxies and yes it also captures the traffic of the iphone and ipad.
I've got a few localhost vhosts set up, so running
http://mydomain.local
this works swimmingly on the windows phone via proxy to fiddler. but the iphone and ipad just says the server stopped responding.
The firewall is completely turned off and I can see all other traffic from the iDevices, so what could be the issue? Why does the iphone not read the hosts file but the windows phone does?
Almost a year late, but I had the same problem and can confirm that iOS does reserve ".local" to identify Bonjour-accessible devices
If possible just change your domain extension to something else like ".lan" and your requests will go through the Fiddler proxy as expected.