Is there way to measure WiFi signal quality between router and connected devices? any API on linux side? An easy generic protection can be done in the following way (if there is api): Ban all unknown MAC addresses with WiFi signal quality below the specific treshhold. In that case if hacker decides to use fake MAC address he cannot fake signal quality on my side.
You can measure the signal quality, but that doesn't buy you much. If you only ban unknown MACs, then he can just clone yours, and signal quality is easy to evade with a cheap (< $20) higher gain antenna.
In my home, I often get a better signal using my laptop with an external antenna two walls from the AP than with my phone just a couple of meters away from it.
Does it work?