Skip to content

Wi-Fi clients

Wi-Fi clients is a record type that only an NS Scout can record. A Wi-Fi client is any device that uses Wi-Fi without being an access point: phones, laptops, tablets, cameras, speakers and so on. The Scout hears them when they send, and the app records each client and the network names it looks for.

The tile reads “Devices and the networks they look for”. It only shows on the Survey tab while a Scout is paired, and it records only while the Scout is the Wi-Fi source. With the phone as the source, the tile reads Needs NS-ABCD, and a survey leaves Wi-Fi clients out.

One record type, two kinds of records:

  • Clients: one record per client per window (the same window as for Wi-Fi from a Scout). Each sums up everything the Scout heard that client send in the window: the client’s MAC address, the access point it was heard talking to when that is known, the channel and frequency, the strongest signal and its SNR, and the kinds of frames it sent (data, null data, probe requests, action frames and so on). Only frames the client sent count, so the signal is the client’s, not its access point’s.
  • Probe requests: one record per client and network name per window. A probe request is a device asking whether a network is nearby. A record with an empty network name is a wildcard request (looking for any network).

Times, locations and the Mission ID work the same as for Wi-Fi from a Scout. The CSV columns are the same fields MQTT and gRPC send. To spot a randomized MAC in a CSV, check the second-lowest bit of the first octet of sourceAddress, which is set when the address is locally administered.

DestinationWhat it gets
Log filesTwo CSV files: craxiom-wifi-client- and craxiom-wifi-probe-. See CSV files.
MQTT streamTopics 80211_client_message (WifiClientRecord) and 80211_probe_request_message (WifiProbeRequestRecord). See MQTT.
gRPC streamStreamWifiClientSurvey and StreamWifiProbeRequestSurvey on the WirelessSurvey service. See gRPC.
NS AnalyticsNot sent
Community databasesNot sent

MQTT brokers set up in earlier versions, and per record type flags in a broker QR code, never turn Wi-Fi clients on: what MQTT streams comes from the survey’s record types.

While the Scout is the Wi-Fi source, the mode row in Signals > Wi-Fi has a third choice next to Flat · BSSID and Group by SSID: Clients. With the phone as the source, the Clients choice goes away and the list falls back to access points.

Clients has two views:

  • By client: one row per client with its address, a Randomized tag for a locally administered address (or the vendor, when Manufacturer lookup knows it), its signal, and a line that says “Connected to” an access point, “Looking for” the networks it asked for, or “Heard sending, network unknown”.
  • By network looked for: one row per network name that clients asked for, with “Looked for by N clients”. Tap a row to see those clients.

The list is sorted strongest first. The sort and filter buttons for access points are hidden in this view. The list holds its order while your finger is on it, so a row doesn’t move away as you tap it.

The live list doesn’t need a survey: like the access point list, it shows what the Scout hears while the screen is open. Clients drop off the list a while after they were last heard.

Tap a client to open Wi-Fi client:

  • The address with its signal and “Last heard just now · channel 36”.
  • Connected to: the access point it was heard talking to. Tap it to open that network’s details.
  • Networks it looked for, from its probe requests.
  • Seen in: the kinds of frames it sent. For a randomized address, a note explains: “Randomized means the device made up this address, so the manufacturer can’t be looked up and the address may change later.”
  • Signal: a chart of its signal.

When the Scout hasn’t heard the client for a while, the page says “Not heard recently. It shows here again when NS-ABCD hears it.”

An access point’s details page has a Connected clients card with up to five of the clients heard talking to it, and how many were heard. Tap one to open its client details.

Another app can’t start Wi-Fi clients. A start request that names them leaves them out and starts the rest. See Intent API.

The managed configuration key survey_wifi_clients sets this record type like the other survey_* keys. On a managed phone, Wi-Fi clients is off unless the organization sets the key. Set to on, it also applies to a survey another app starts. See Managed configuration (MDM).