For Android 4.0+ phones: Android PCAP from Kismet uses the USB OTG interface to support packet capture without requiring root. I haven't tried this app, and there are some restrictions on the type of devices supported (see their page)
Another option which has not been suggested here is to run the app you want to monitor in the Android emulator from the Android SDK. You can then easily capture the traffic with wireshark on the same machine.
This app was a lifesaver I was debugging a problem with failure of SSL/TLS handshake on my Android app. Tried to setup ad hoc networking so I could use wireshark on my laptop. It did not work for me. This app quickly allowed me to capture network traffic, share it on my Google Drive so I could download on my laptop where I could examine it with Wireshark! Awesome and no root required!
Packet Capture Android app implements a VPN that logs all network traffic on the Android device. You don't need to setup any VPN/proxy server on your PC. Does not needs root. Supports SSL decryption which tPacketCapture does not. It also includes a good log viewer.
Similarly to making your PC a wireless access point, but can be much easier, is using reverse tethering. If you happen to have an HTC phone they have a nice reverse-tethering option called "Internet pass-through", under the network/mobile network sharing settings. It routes all your traffic through your PC and you can just run Wireshark there.
As a Wireshark alternative/companion for Android, you can try my open source app PCAPdroid. On non-rooted devices, it uses the VPNService to capture the traffic with some limitations. On rooted devices, it works like a user-friendly tcpdump.
I had a similar problem that inspired me to develop an app that could help to capture traffic from an Android device. The app features SSH server that allows you to have traffic in Wireshark on the fly (sshdump wireshark component). As the app uses an OS feature called VPNService to capture traffic, it does not require the root access.
I'm curious as to how I could figure out the API URL an Android application (any app I have installed) uses if it makes API calls to some online server (a RESTful service for example). I presume I have to capture packets on the device and maybe analyse them in Wireshark or something to find the URL? I'm fairly competent in Java/Android development, but a bit lost when it comes to any sort of network analysis business.
Now you will be able to see all the network traffic of the mobile device in Wireshark if you select the Local Area Connection used by mobile. For filtering the result by http traffic you can enter http in the filter field and for https web traffic you can enter tls.handshake.type eq 1
To ensure that all of the application files are owned by the non-root node user, including the contents of the node_modules directory, switch the user to node before running npm install:
Before you jump to the Wireshark alternatives for Android list, you should know that most of them requires root access to capture packets. The reason being the promiscuous mode or monitor mode. You will see every packet being transmitted over the network when running a packet sniffer tool in promiscuous mode. If it is not separately encrypted, all traffic can be read and analyzed.
In general, most Windows computers require a separate WiFi adapter to enable promiscuous mode, while some macOS devices can use the built-in WiFi card in promiscuous mode. Android, on the other hand, can also use the built-in WiFi adapter for promiscuous mode. But to prevent its misuse, most manufacturers turn off this feature. And the only way to bypass this is with root access. In short, without root, you can only monitor traffic from your device. Also for obvious reasons, most of the following apps are not available on Google Play Store.
Being a complete penetration testing tool that was specifically designed for professionals and businesses in mind, zAnti needs root access to work. Moreover, for most advanced features to work, it will change a few SELinux configuration settings and put your device into permissive mode. So, if you chose to go with zAnti, I would recommend that you use a dedicated device that is separate from your work or personal device.
zAnti and cSploit are full-fledged penetration testing tools with all the bell and whistles for Android but not everyone needs them. Packet Capture is a dedicated app to capture and record network packets. Using this app, you can not only capture and record packets but also decrypt SSL communication using MITM (man in the middle) attack. Since Packet Capture uses a local VPN to capture and record all your traffic, it can run without root permissions. If you are looking for a simple and straightforward packet capture app then try Packet Capture.
WiFinspect is yet another free and powerful packet capture and a network sniffer. Features of WiFinspect include but are not limited to Pcap analyzer, network sniffer, host discovery, port scanner, internal and external network vulnerability scanner, traceroute, ping, etc. Unlike Packet Capture or Debug Proxy Wireshark alternative apps for Android, you need root permissions to work with most features in WiFinspect.
These were some of the best Wireshark alternatives for Android phones. zAnti and cSploit are closest when it comes to packet capturing and man in the middle attack. However, if all you want is to boot people off your WiFi network, consider using Netcut app. It also requires root access though.
Taking control of a hungry shark into the ocean. For surviving you have to eat everything is on your way. You will survive while you eat and enjoy beautiful underwater sightseeing.
More than dozens of unique shark, 3D graphics, meeting with mysterious creatures of underwater, offline game, and many more features.