You can configure an Android device to proxy HTTP traffic through Burp Suite. This enables you to test Android apps just like ordinary websites.
The process for doing this varies depending on the device or emulator you're using, as well as your Android OS version. We've provided high-level instructions below, but you may need to find external resources for details on how to perform some of the necessary steps in your environment.
From Android 7 (Nougat) onwards, you need to use a rooted device to perform some of these steps.
Rooting your device fundamentally compromises its security model, which may expose you to malware and other forms of attack. It may also void the manufacturer's warranty. Make sure you fully understand the security implications before performing any part of this process.
To enable Burp to intercept the HTTP traffic generated by your Android device, you need to configure a proxy listener and bind it to an open port.
Burp is now ready to receive HTTP traffic on the assigned port and forward it to the target web server.
If you're using an Android emulator rather than a physical device, you may need to add the proxy details from the emulator settings menu rather than the native network or Wi-Fi settings on the emulated device.
Each installation of Burp has its own built-in certificate authority (CA). To work with any HTTPS traffic in Burp, you need to add the associated CA certificate to your device's trust store. This enables Burp to impersonate the target web server during the TLS handshake. As a result, you can read and modify your HTTPS traffic in Burp just like you would with unencrypted HTTP traffic.
.der file extension.
We've chosen not to document the process of adding the certificate to your device's trust store ourselves. This is partly due to the amount of variation between environments, but also because this requires you to root your device. This undermines both the device's security model and the manufacturer's warranty.
If you're following a third-party tutorial, please ensure you fully understand the security implications before performing any part of the process. In particular, do not execute any commands that you don't fully understand.
To make sure that you've completed the configuration successfully and are ready to start testing: