Can a Router read a phones previously visited networks (SSIDs)?

0

I'm making a project in which it is necessary that the router is able to read the SSIDs (names of networks) previously visited by the device (commonly phones). Ive also read that some of previously visited networks are broadcasted by default in protocol. I know it seems bizarre and unorthodox but if it succeeds it would be a key factor for the well running of the project. Id be coding on C, adding to the code I found for the Tp-link 4300 in their site emulators and compilers (this router is the preferred one to code on for numerous personal reasons). The task is only necessary after the device joins to the network and eventually store it.

Summary: So what I'm asking is can a router read the previously visited networks on a particular connected device? If so how? Does a router have any elevated permissions so it is able to read them? Thanks in advance for any help or helpful criticism.

Leo--

Posted 2017-07-13T16:07:45.330

Reputation: 1

Question was closed 2017-07-21T06:19:52.797

2I think this would be completely impossible for the router to "sniff" a device - and even if it did it would need to know what OS was being used, where to look to obtain saved networks and then store them in its memory. routers have very limited memory because there is simply no need to store such information as it is irrelevant for the device's functionality... – Kinnectus – 2017-07-13T16:15:00.783

Yeh @Kinnectus it would be near impossible for the router to actively search for the connected devices' networks, but I've been reading up recently and some of the requests a phone sends or requests it makes include its preferred networks. Do some send many networks that the router can read? – Leo-- – 2017-07-13T16:19:18.727

the only case in which a wifi device would give indications as to where it has previously connected, is if the device was configured to use that network as a hidden (non-broadcast) SSID. That causes the device to periodically attempt to connect to the SSID, just to see if its there. – Frank Thomas – 2017-07-13T16:26:14.577

@FrankThomas would it periodically send just the hidden ones? Or just one of the hidden networks? – Leo-- – 2017-07-14T11:30:52.300

Answers

2

The devices (access points) can't read anything from the phone directly. They do, however, receive probe requests when the phone is scanning for hidden networks; just like the AP is supposed to respond to probes for its own ESSID, it can also quietly collect all other probes the same way.

(Well, not quite the same way – normal responses are probably handled by the Wi-Fi radio firmware, while collecting other probes would be done by the OS using "monitor" mode.)

This only affects devices which probe for specific networks, and not those which rely entirely on beacons transmitted by APs themselves. I don't know offhand which devices do the former, but it's mainly done to find "hidden" networks which send an empty SSID in beacons, and isn't otherwise an important part of the protocol.

In other words, if you disable "SSID broadcast" in the AP, it really has the opposite effect by making your client devices broadcast it instead...

user1686

Posted 2017-07-13T16:07:45.330

Reputation: 283 655

So does that, essentially, only suggest that the AP is only listening out for probes for SSIDs it knows about, everything else is ignored? – Kinnectus – 2017-07-13T16:26:26.280

When the phone (or connected device) sends probe requests, what is in them? I know there are some SSIDs in them but is it only specific ones? (like the SSIDs belonging to hidden networks?) Or does it broadcast all of its saved SSIDs? @grawity – Leo-- – 2017-07-13T17:44:01.367