Capture Android Network Traffic with Wireshark Using ADB (No Root)

13 min read Learn how to capture and analyze Android network traffic on your PC using Wireshark and ADB without rooting your device. Step‑by‑step guide with troubleshooting tips. October 13, 2026 10:00 How to Capture Android Network Traffic with Wireshark Using ADB (No Root)

Why capture Android traffic without rooting?

Developers, security enthusiasts, and power users often need to see exactly what data their phone sends and receives. A full packet capture lets you verify SSL pinning, debug API calls, or spot unwanted telemetry. Rooting would give you raw access to tcpdump, but it also voids warranties and introduces security risks. This guide shows a completely no‑root workflow that relies on a trusted open‑source app (PCAPdroid) and the standard Android Debug Bridge (ADB) to move the capture to your PC where Wireshark can dissect it.

Before you start

  • PC with Wireshark installed – download the latest stable version from wireshark.org for Windows, macOS, or Linux.
  • ADB installed on the PC – you can get it via the Android SDK Platform‑Tools package (https://developer.android.com/studio/releases/platform-tools).
  • USB cable (or Wi‑Fi ADB) – a good quality data cable avoids intermittent connections.
  • Android device running Android 7.0 or newer (the VpnService‑based capture works on most modern phones).
  • Enough free storage – a 10 minute capture of normal browsing can fill 5‑10 MB per megabyte of traffic.

Make sure the phone is charged above 50 % or keep it plugged in; the capture runs continuously and may drain the battery quickly.

Step 1 – Enable Developer Options and USB debugging

  1. Open Settings → About phone.
  2. Tap Build number seven times. You’ll see a toast confirming that you are now a developer.
  3. Return to the main Settings page. Open System → Developer options (the path may vary: on Samsung it is Settings > Developer options directly).
  4. Toggle USB debugging on. Confirm the security prompt.

Why this matters: ADB needs the debugging flag to communicate with the device over USB. Without it the PC cannot pull files or issue commands.

Step 2 – Install PCAPdroid (the no‑root capture engine)

  1. Open the Google Play Store on your phone, search for PCAPdroid, and install it. If you prefer a fully open‑source source, you can download the F‑Droid version from f-droid.org.
  2. Launch PCAPdroid. The first launch will ask for permission to create a VPN connection – this is how the app intercepts traffic without root.
  3. Tap Allow on the VPN permission dialog. Android will show a warning that the VPN may see all network traffic; this is expected and safe because the app stores data locally only.

The app uses Android’s VpnService API, which runs in user space and can capture packets from every app while preserving the original network flow.

Step 3 – Configure the capture parameters

  1. In PCAPdroid’s main screen, tap the gear icon (Settings).
  2. Set Capture format to pcap. This is the native format that Wireshark understands.
  3. Optionally enable Limit capture size (e.g., 100 MB) to prevent the phone’s storage from filling up.
  4. Return to the main screen and press the red “Record” button. A persistent notification will appear, indicating that traffic is being recorded.

What you’ll see: the notification shows the current file name (e.g., capture_2024‑10‑13_15‑30‑00.pcap) and the amount of data captured so far.

Step 4 – Perform the network activity you want to analyse

Use the phone normally – browse a website, open the app you are testing, or trigger the network request you suspect is problematic. All packets that pass through the VPN are written to the .pcap file in PCAPdroid’s private storage.

Step 5 – Stop the capture and locate the file

  1. Return to PCAPdroid and tap the Stop button (the same red button now shows a square).
  2. Tap the folder icon next to the file name. PCAPdroid will open a simple file‑manager view showing the saved .pcap file.
  3. Note the full path – on most devices it is /sdcard/Android/data/com.emanuelef.remote_capture/files/capture_*.pcap.

If you forget the path, you can also retrieve the list of capture files via ADB (see the next step).

Step 6 – Pull the capture file to your PC using ADB

  1. Connect the phone to the PC with the USB cable. If you prefer wireless ADB, run adb tcpip 5555 on the phone first, then adb connect <device_ip>:5555.
  2. Open a terminal (Command Prompt, PowerShell, or a Linux shell) on the PC.
  3. Verify the connection: adb devices. You should see your device listed as device.
  4. Run the following command to list capture files (replace the package name if you installed a different app):
    adb shell ls /sdcard/Android/data/com.emanuelef.remote_capture/files/*.pcap
  5. Copy the latest file to the current PC folder:
    adb pull /sdcard/Android/data/com.emanuelef.remote_capture/files/capture_2024-10-13_15-30-00.pcap
  6. After the pull finishes, you will have capture_2024-10-13_15-30-00.pcap in your PC’s working directory.

Why we use ADB: pulling via ADB respects the app’s private storage sandbox, so you don’t need a file manager with root rights.

Step 7 – Open the capture in Wireshark

  1. Launch Wireshark.
  2. Choose File → Open (or press Ctrl+O) and browse to the .pcap file you just pulled.
  3. Wireshark will display a list of packets with timestamps, source/destination IPs, protocols, and payload details.
  4. Use the filter bar to focus on traffic of interest. Common filters:
    • http – all unencrypted HTTP requests.
    • tls – encrypted TLS handshakes (you can see Server Name Indication – SNI).
    • ip.addr == 192.168.1.100 – packets to or from a specific device.
    • tcp.port == 443 – HTTPS traffic.
  5. Right‑click any packet and select Follow → TCP Stream to see the reconstructed conversation.

Now you can verify whether the app is sending the data you expect, spot unexpected redirects, or confirm that certificate pinning is active (you’ll only see the TLS handshake, not the payload).

Troubleshooting

1. No packets appear in Wireshark

  • Check that the VPN is active – the persistent notification from PCAPdroid must be present. If it disappeared, the capture stopped.
  • Ensure the correct file was pulled – sometimes older captures remain in the folder. Verify the file size; a zero‑byte file means the capture never started.
  • ADB connection issues – run adb kill-server then adb start-server. Re‑connect the USB cable if necessary.

2. Capture file is empty or only contains DNS queries

  • Some devices block VPN‑based capture for certain system apps. Try disabling Battery optimization for PCAPdroid (Settings → Apps → PCAPdroid → Battery → Don’t optimize).
  • Make sure you performed network activity after starting the capture. Opening a website or refreshing an app is a quick test.

3. Wireshark reports "File format not recognized"

  • PCAPdroid can export in pcapng as well. If you selected that format, change the file extension to .pcapng and open it again.
  • Verify that the file was fully transferred; a truncated transfer can corrupt the header.

4. Android shows “VPN not allowed for this app”

  • Some manufacturers (e.g., Huawei, Xiaomi) ship a custom VPN manager that restricts third‑party VPNs. Open Settings → Network & internet → VPN and make sure PCAPdroid is listed as an active VPN.
  • If the device refuses to start the VPN, you may need to disable any pre‑installed VPN or security app that enforces its own policy.

Safety and privacy notes

Because the VPN captures all traffic, you will also record passwords, tokens, and any unencrypted data. Treat the resulting .pcap file as sensitive – store it securely and delete it when you are done.

If you only need to inspect a single app’s traffic, you can use PCAPdroid’s App filter (Settings → Filter apps) to limit the capture to that package, reducing noise and file size.

Alternative approaches (when PCAPdroid is not an option)

  • Use a packet‑capture app that writes to pcap via a local VPN – e.g., "Packet Capture" or "tPacketCapture". The workflow is identical: start capture, pull file with ADB.
  • Run tcpdump on a rooted device – you can start it directly with adb shell su -c "tcpdump -i any -w /sdcard/capture.pcap" and stream the output to Wireshark with adb exec-out tcpdump -i any -w - | wireshark -k -i -. This method is faster but requires root.
  • Use a hardware proxy such as a Wi‑Fi router running OpenWrt with tcpdump, and point the phone’s Wi‑Fi to that router. This captures traffic without any software on the phone but requires extra hardware.

Wrap‑up

By combining the free PCAPdroid app with ADB and Wireshark, you get a fully functional, no‑root network‑traffic capture solution that works on the majority of Android phones. The steps above give you a repeatable workflow: enable debugging, start the VPN‑based capture, perform the activity, pull the file, and analyse it in Wireshark. With the troubleshooting tips and safety notes, you can confidently investigate API calls, verify encryption, or debug connectivity problems without compromising device security.

User Comments (0)

Add Comment
We'll never share your email with anyone else.