Network Survey

Network Survey

Displays and Logs Cellular, Wi-Fi, Bluetooth, and GNSS Network Survey Details

Christian Rowlands Connectivity Network Analyzer

Screenshots

Screenshot of Network Survey Screenshot of Network Survey Screenshot of Network Survey Screenshot of Network Survey Screenshot of Network Survey Screenshot of Network Survey Screenshot of Network Survey Screenshot of Network Survey

Description

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

Versions

Version Date Size Requires Android Download
1.56 current
a9b236688970ad06…
2026-07-05 75 MB API 26
1.55
d78209491fc2d976…
2026-06-05 75 MB API 26
1.54
6272f901746965d2…
2026-05-17 75 MB API 26

Permissions

What the app asks the system for. Android only grants sensitive access after you confirm it.

  • READ_CALL_LOG
  • Read SMSRead text messages.
  • Receive SMSProcess incoming text messages.
  • CameraTake photos and videos.
  • Approximate locationDetermine the location via the network.
  • Precise locationDetermine the location via GPS.
  • Write storageCreate and change files on the device storage.
  • Phone stateDetect ongoing calls and read device information.
Show 20 more permissions
  • READ_PHONE_NUMBERS
  • Internet accessSend and receive data over the internet.
  • Network stateCheck whether and how the device is connected.
  • ACCESS_LOCAL_NETWORK
  • Wi-Fi stateRead information about the Wi-Fi connection.
  • Change Wi-FiTurn Wi-Fi on and off or switch networks.
  • BluetoothConnect to Bluetooth devices.
  • Bluetooth connectionConnect to paired Bluetooth devices.
  • Bluetooth scanSearch for nearby Bluetooth devices.
  • BLUETOOTH_ADMIN
  • Foreground serviceKeep running in the background, visible in the status bar.
  • Prevent sleepingKeep the device from going to sleep.
  • Run at startupStart automatically after the device is switched on.
  • Location in backgroundDetermine the location while the app is not open.
  • NotificationsShow notifications.
  • FOREGROUND_SERVICE_LOCATION
  • FOREGROUND_SERVICE_DATA_SYNC
  • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • networksurvey.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • Read storageRead files on the device storage.

Comments