Monitoring Android Apps - charles-proxy

I want to monitor some apps trough android emulator and Charles Proxy/Burp Suite/HTTP Toolkit... Although, those apps aren't starting (probably by detecting Charles Proxy etc).
How can I monitor their requests without actually getting blocked? Is there any way to bypass that protection?

Related

Loadrunner cannot sniff traffic of the android emulator while connected on VPN that disconnects network

I'm want to see the traffic sent and received from an app installed on android emulator while being connected to a private VPN
currently i'm using the loadrunner recorder to sniff this traffic of the app on the emulator but i does not show any requests or responses.
on the other hand when i try to record any of the available websites while connected on the vpn on the google chrome the loadrunner capture these traffic normally.
Is there any configurations that should be adjusted on the emulator? as in my opinion that the IP of the emulator is not the same as the one of the VPN.
Is there any configurations that should be adjusted on the emulator?
You need your proxy recorder to be in the same network as your emulator which is generating HTML. Then you can have a "man in the middle" proxy recording of the behavior.
If you emulator is on VPN and the host of your recorder is not, then you are likely out of luck. However, connect your parent OS to the VPN, which is also running VUGEN and the Emulator, then set your emulator to the recording proxy of VUGEN and you are likely golden.

Unable to connect Samsung S10 to charles proxy

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

Install a progressive web application (PWA) on the phone without a network

Is it possible (e.g. when developing) to send a pwa to the phone someway e..g. via usb cable without the network and serving it in https?
The use case is development, when maybe a wifi network is not available or unpractical to set up.
If your APP is fully PWA compliant, the app added to home will be an installed APK, which you can extract using file explorer(I used ES File explorer) and put it in other devices using USB connection and adb install myapp.apk for installation.
After you load the apk, it would anyways make calls to your web-server which I'm not sure how it make sense to achieve without network connection though. I couldn't think of any reason to develop a mobile application as PWA without network. You can even have a pass though internet(sharing your desktops internet via USB) by connecting via USB if wifi is not available. But developing PWA with absolute no network mode is not practical.
Update: While you can generate the APK and side load it via USB in the above mentioned way, transferring the cached assets(HTML/CSS/JS/images) might be tricky. You may have to wrap your app as a plain cordova application or Ionic kind of PWA app which uses Cordova to wrap and build with your assets. This way, your APK will be having everything it needs to run for calculator kind of use case.

I'm not able to start working on Fiddler on my Window 7 system?

Please help me start using Fiddler on my Windows 7 system. As I've already done all the settings/changes required for it as per Fiddler's doc.
I wanna connect my Android and iOS device through it.
I believe you'll need to do the following:
make sure your computer and mobile devices are connected to the same network (wifi for example)
on your iOS device, you must enter the proxy address (IP and fiddler proxy port) in the wifi connection settings; should be at the bottom of the wifi connection settings page.
Fiddler can be used to capture traffic from iOS and Android devices.
Briefly:
Connect both devices to the same network, and make the iOS/Android device discoverable
Allow remote devices to connect to Fiddler
Edit the proxy on the Android device to point to Fiddler.
More specific steps are described in the How to: Capture Android Traffic with Fiddler and How To: Capture iOS Traffic with Fiddler Telerik blog posts.

android emulator net access stopped after some minutes of working

While working with my app that require network access...
The Android 2.2 emulator's network connection stop working...
The net was working properly but after some time it did not respond on emulator,
while it was working f9 on my system...
I have cross checked the net connections and restarted with the emulator(even created a new avd ). But the problem remains same my net is not working on emulator..
I have also checked the connection with F8 key on emulator...
My app manifest net permission is enabled....
Finally After all I have myself found the solution of to the problem:
It's very common problem that must have been faced by most of android developers....
Recently, while developing an Android Application, I was faced with a situation that wasted 2 hours of my time. The issue was simple, my app was not able to access internet from the Android Emulator.
Initially I thought fixing the issue should have been straight forward, but life is not always that simple.
So what was the real issue because of which my app was not able to access internet? There are multiple reasons because of which this issue could occur. Hence, I decided to document my findings so that other could benefit from it.
There are two main symptoms of no internet connection on android emulator.....
**Only your app is not able to access the internet
**None of the apps are able to access the internet
Lets look at what are the reasons behind each of them.
Only your app is not able to access the internet
If only your app is not able to access the internet on the emulator, check if any other apps are able to access the internet or not. For e.g. you could open up the browser application, visit http://news.google.com/. If the page opens up correctly then problem lies in your app itself and its simple to fix.
Basically, your app needs the Permission to access the internet. This can be done by adding the following line just before the end of tag in AndroidManifest.xml file of your application.
Compile and re-install the app in the emulator and try to access the internet from your app. It should work!
What is the use of uses-permission tag:
Android application can request certain permissions so that they can function properly. Some examples of permissions are, get users location, make a call, access the internet etc. App has to explicitly specify this in the AndroidManifest.xml.
When end users install such an app on their device, the android OS will notify the user that, app is requesting certain permissions. If users are fine with that, then only the app will be installed. Else users can deny the permission and the app will not be installed.
This mechanism is Androids way of implementing security and users privacy!
This is the more tricky situation:
None of the apps are able to access the internet
Now this situation is tricky. There are two reasons because of which this could happen
Proxy server is not configured on the emulator
Incorrect DNS used by the emulator
Setting Up the DNS Server:
emulator.exe -avd 'android1.6' -dns-server 8.8.8.8
The android1.6 is your avd name I created an avd with name android1.6
So just replace android1.6 with your avd name.
Run this code in command prompt after setting the path to tools & platform tools of your android sdk