Network Survey
Added: 01-10-2024
Updated: 01-10-2024
The Network Survey app enables logging cellular, Wi-Fi, Bluetooth, and/or GNSS information to a log file (GeoPackage or CSV format). For cellular records it supports logging GSM, CDMA, UMTS, LTE, and NR records.
You might receive an alert from anti-malware software indicating that Network Survey sends SMS messages in private manner to deceive users. This is NOT the case. SMS permission is necessary for some of the logging that is done. Just to be clear though, Network Survey does not send any text messages, nor does it install anything. In fact, you can deny all the SMS permissions if you are not using the CDR (call detail record) logging feature. The SMS permissions are only requested the first time you turn on CDR logging. More information can be found in this GitHub Discussion: https://github.com/christianrowlands/android-network-survey/discussions/35
This app has the ability to access your device's location in the background. The background location permission is needed to start Network Survey at boot. You can deny this permission if you don't want to start Network Survey at phone boot. More information can be found in the App's privacy policy located at https://github.com/christianrowlands/android-network-survey/blob/master/privacy_policy.md
The cellular logging feature logs several details about the current serving cell, and then some basic information about the neighbor cells. This app won't log all 5 cellular protocols at once. Instead, it will only log information about the protocols that are current connected. If logging for one specific protocol is desired, then the phone must be locked to that protocol (try using *#*#4636#*#* from the dial pad).
The cellular survey records can be streamed to either a gRPC server or a MQTT broker. This is not on by default and a gRPC server or MQTT Broker needs to be setup for this feature to work.
See the NS Messaging GitHub Repo for more details on setting up a network survey gRPC server.
See for information on setting up a MQTT Broker.
A bonus feature of this app is its ability to create a Call Detail Record (CDR) file. If enabled, CDR events are logged to a CSV file.
The app also has a calculator that converts an LTE Cell ID to the corresponding eNodeB ID and Sector ID, and a calculator that converts an LTE PCI to the corresponding Primary Sync Sequence (PSS) and Secondary Sync Sequence (SSS).
I hope you enjoy this app as much as I have enjoyed writing it. If you have any feature requests please feel free to reach out by creating a GitHub issue at the link below.
The source code for this app lives here: https://github.com/christianrowlands/android-network-survey