What permissions does the app use and why?
The app requires the following internet/wifi/network related permissions for the various tools it provides and the network information it shows:
INTERNET
ACCESS_NETWORK_STATE
CHANGE_NETWORK_STATE
ACCESS_WIFI_STATE
CHANGE_WIFI_STATE
CHANGE_WIFI_MULTICAST_STATE
Next, the app needs to access the device's location to show it on the map in visual traceroute and to find the nearest servers for the speed test (both available in paid version only). Finally, the location permission is required also for the Wifi Signal tool - check this article for more information (Network Analyzer doesn't use the location information at all in this case). The used permission is
ACCESS_COARSE_LOCATION
which is the less precise of the location permissions not requiring GPS and relying only on wifi and cell tower geolocation.
On Android 6 and later the location permission can be disabled; however, the above functionality won't be available in this case.