Network Survey User Manual
Welcome to Network Survey, your comprehensive tool for capturing and analyzing network data across multiple technologies. This robust app not only logs cellular, Wi-Fi, Bluetooth, and GNSS (Global Navigation Satellite System) network data, but also offers versatile logging options, including both GeoPackage (.gpkg) and CSV formats. Designed to integrate seamlessly with Geographic Information Systems (GIS), Network Survey enables you to be in control of the data you collect.
Beyond local logging, the app now supports live streaming of not just cellular and Wi-Fi data, but also Bluetooth and GNSS records to a remote server via MQTT protocol or gRPC server connection. With enhanced features for real-time data transmission and in-app visuals, Network Survey provides an all-in-one solution for network diagnostics and assessment. Whether you're a network professional or a tech enthusiast, this free app is equipped with everything you need to conduct thorough and efficient network surveys.
Dashboard
The Dashboard is the command center of the Network Survey app, providing a quick glance at the most critical data and controls for your network surveying activities. Here's what you'll find in the Dashboard view:
My Location
This feature displays your current geographic coordinates and the accuracy of the location fix. It's essential for correlating network data with specific locations during your survey.
File Logging Control
Directly beneath the location, you will find the File Logging Control section. This area allows you to toggle on and off the logging for various data types:
-
Cellular: Logs the details of cellular towers such as GSM, CDMA, UMTS, LTE, and NR (aka 5G).
-
Wi-Fi: Logs information about Wi-Fi access points within range.
-
Bluetooth: Records details of Bluetooth devices in proximity.
-
GNSS: Logs data from GNSS satellites.
-
CDR: Creates a Call Detail Record (CDR) of this phone's cellular activity.
Each toggle switch corresponds to a different data type. When the switch is in the 'On' position, the app will log that type of network data to your device in your preferred format.
MQTT Connection
Below the logging controls is the MQTT Connection Section. This panel shows whether you are connected to an MQTT Broker, which is vital for the live streaming of survey data. It also lists which types of data are currently being streamed. Each circle will be filled when its corresponding data stream is active, giving you an instant visual cue of your current streaming setup.
To configure the MQTT connection settings, click the gear icon on the right side.
Worthy of note, MQTT Streaming works independently of File Logging. In other words, you don't need to turn on File Logging to stream data. If you only enable MQTT Streaming, and don't turn on any file logging, the survey for the data of interest will still be running.
Network Detail
Screens
The Network Survey Android app offers a set of Network Detail Screens, dedicated to giving you in-depth information about each network protocol you are surveying. Accessing these detailed views is intuitive and informative.
To access the details for a specific network protocol, simply use the bottom navigation bar in the app. This bar is your gateway to the finer details of network data, including:
Cellular
For insights into your mobile network's performance, including details about the serving cell and neighboring cells, signal strength, and the network type (GSM, CDMA, UMTS, LTE, NR).
Wi-Fi
To view data on the Wi-Fi networks within range, including SSIDs, signal strength, and security protocols.
Bluetooth
To scan and list nearby Bluetooth devices, along with relevant details such as device name, address, and signal strength.
GNSS
For a detailed look at the GNSS satellite constellations, providing information such as satellite IDs, positions, and signal quality.
Survey Files
The Network Survey app allows you to log all your network survey data for in-depth analysis and reporting. There are two file formats available for logging this data: GeoPackage (.gpkg) and CSV (.csv). Both formats are designed to cater to different use cases and preferences. You have the flexibility to choose either or both formats for logging data through the app settings.
1 / GeoPackage (.gpkg)
GeoPackage is an open format for geospatial information, providing a platform for you to store different types of spatial data, such as points, vectors, and maps, in a single file. The .gpkg files generated by the Network Survey app encapsulate rich location-based data which can be seamlessly integrated into Geographic Information Systems (GIS) for spatial analysis and visualization.
2 / CSV (.csv)
CSV files are widely used due to their simplicity and broad compatibility with data analysis tools. The CSV files produced by the app contain a header row followed by rows of network survey data, with each column representing a distinct data field.
3 / File Logging Settings
To customize your file logging preferences, navigate to the app's settings. Here, you can select your desired file format(s) for logging data. The settings provide the option to enable logging for each network type (Cellular, Wi-Fi, Bluetooth, GNSS) in either or both GeoPackage and CSV formats. The settings can be accessed via the Navigation Menu (hamburger button).
4 / File Location
Once the survey data is logged, the files are saved to your device in the Download/NetworkSurveyData directory. This dedicated folder makes it easy to locate and manage your survey files. Ensure you have the necessary permissions set for the app to write to your device storage. The GeoPackage files will be located directly in the NetworkSurveyData directory. The CSV files are located in a subdirectory called "csv".
5 / CSV Column Headers
The CSV files are structured with column headers that correspond to the field names defined in the Network Survey Messaging API. For a detailed understanding of the column headers in the CSV files, refer to the Network Survey Messaging API documentation. The consistency between the CSV headers and the API field names ensures a standardized data structure that is easy to interpret and integrate with other tools and systems.
MQTT Data Streaming
The MQTT Streaming feature in the Network Survey app provides you with the capability to connect to an MQTT broker and stream real-time data for various wireless protocols, such as Cellular, Wi-Fi, Bluetooth, and GNSS. This powerful feature allows for the immediate and continuous transmission of network data, which can be crucial for remote monitoring and analysis.
Setting Up MQTT Streaming
To utilize MQTT Streaming, navigate to the MQTT Connection UI within the app. Here, you can configure the connection settings to establish a link with your desired MQTT broker. Before starting the connection, you can select the specific wireless protocols you wish to stream.
Data Streaming in Action
After establishing a connection with the MQTT broker, the data will begin to stream in real-time. The streamed records are formatted in JSON, following the schema defined by the Network Survey Messaging API. This standardized format ensures that the data packets are structured and can be easily parsed by the receiving system or application for further processing or visualization.
JSON Format & Messaging API
The JSON format offers a lightweight and text-based way to represent your network data, making it both human-readable and machine-parsable. Each piece of streamed data is encapsulated in a JSON object that conforms to the structure outlined in the Network Survey Messaging API.
By adhering to this schema, the app ensures consistency in the data transmitted, facilitating seamless integration with various applications and services that can interpret MQTT messages.
Settings
Add a general description of the items listed below. You can introduce the list and include any relevant information you want to share. Double click to edit the text.
Auto Start Logging
If enabled, logging will be autostarted as soon as the app is opened
Log Rollover Size
Defines the maximum size the GeoPackage and CSV log files will reach before a new file is started
Log File Type
Allows for specifying the log file format as GeoPackage (.gpkg), CSV (.csv) or both.
Scanning Rate
Defines how frequently (in seconds) a scan will be run for signals. For example, if Wi-Fi is set to 15, then every 15 seconds a scan will run to search for Wi-Fi access points, triggering all of those Wi-Fi networks to be written to the log file and/or streamed over MQTT.
MQTT Start at Boot
Enable this option to have the app automatically re-establish the last used MQTT connection whenever your device restarts. This ensures that your network survey data continues to stream without manual intervention after a reboot.
Please note: Activating 'MQTT Start at Boot' also initiates logging for any network protocols that are set to 'Auto Start Logging.' This means that alongside re-establishing your MQTT connection, the app will begin to log data for selected protocols.
Call Detail Record (CDR) Logging in Network Survey
Introduction
The Network Survey app now includes a feature for logging Call Detail Records (CDR). This functionality provides insight into various interactions your phone has with the cellular network.
What is a CDR?
A Call Detail Record (CDR) is a data record that documents specific interactions a phone has with the cellular network. These interactions include phone calls, SMS messages, and changes in cell tower connections.
Use Cases:
-
Monitoring Network Activity: Record and review your phone's cellular network interactions.
-
Educational Insight: Gain an understanding of how cellular networks operate.
-
Privacy Monitoring: Check if your phone is connecting to unexpected cell towers.
Note on Feature Limitations:
-
The regular version of Network Survey does not log SMS events in the CDR due to Google Play's policy against apps requesting full SMS permissions.
-
Logging the "other" phone number associated with call events is also not supported in the regular version.
Alternative Version with Extended Features:
If you're interested in CDR logging that includes SMS events and call details:
-
Install from Source: You can build and install the app using the source code available in this repository.
-
Download Pre-Built APK: Access the latest "*cdr-release.apk" under the latest release on our GitHub Releases page.
-
IzzyOnDroid: Install from IzzyOnDroid F-Droid.
Tracking And Privacy
The version of this app on the Play Store has Firebase Crashlytics set up. This means that app crash logs are sent off the device to Firebase. If you don't want to participate in this type of tracking then you have three options.
-
Install the app from IzzyOnDroid F-Droid.
-
Install the app from the source code in this repo specifying the CDR build variant.
-
Install the app using the CDR APK from the Release Page.
The privacy policy for this app contains more information on the data that is sent to Firebase for the Google Play Store version of this app.
Support and Feedback
Got a Bug to Report or a Feature to Suggest? Let Us Know!
We're always working to improve Network Survey, and your feedback is vital. If you encounter any bugs or if you have ideas for new features, we would love to hear from you.
Submitting Bug Reports and Feature Requests:
To report a bug or suggest a feature, please visit our GitHub Issues page. Here’s how you can contribute:
-
Navigate to Our GitHub Issues Page
-
Check for Existing Issues: Before submitting a new report or suggestion, please take a moment to search through existing issues. Someone might have already reported the bug or suggested a similar feature.
-
Create a New Issue: If your issue or idea is new, go ahead and create a new issue. Please provide as much detail as possible – for bug reports, include steps to reproduce the issue, the app version, and any relevant screenshots. For feature requests, explain the feature and its potential benefits in detail.
-
Follow Up: Once you've submitted an issue, our team will review it. We may reach out to you for further information or clarifications. Keep an eye on your issue for any updates or responses.
-
Stay Involved: Feel free to participate in discussions on other issues, too. Your insights and experiences can be incredibly helpful to other users and to our development process.
Your Input Makes a Difference:
Every bug report and feature request contributes to the development and refinement of Network Survey. We appreciate your time and effort in sharing your feedback and look forward to making the app even better, together.