Android application to analyze WiFi signals.

Overview

WiFi Analyzer Application Icon

Get it on Google Play Get it on F-Droid Get it at Amazon Store

This is the official repository of WiFi Analyzer.

Feature Graphic - Dark Theme

Feature Graphic - Light Theme

Table of Contents

Features

  • Identify nearby Access Points
  • Graph channels signal strength
  • Graph Access Point signal strength over time
  • Analyze WiFi networks to rate channels
  • HT/VHT Detection - 40/80/160MHz (Requires Android OS 6+)
  • 2.4 GHz, 5 GHz and 6 GHz WiFi bands (Requires hardware support)
  • Access Point view complete or compact
  • Estimated Distance to the Access Points
  • Export access points details
  • Dark, Light and System theme available
  • Pause/Resume scanning
  • Available filters: WiFi band, Signal strength, Security and SSID
  • Vendor/OUI Database Lookup
  • The application has too many features to mention them all

Please note WiFi Analyzer is not a WiFi password cracking or phishing tool.

Usage Tips

  • Tap the title bar to switch between 2.4, 5 and 6 GHz WiFi band.
  • SSID with *** or *hidden* means it is hidden.
  • Access Point security:
    • WPA2/WPA WPA3(SAE)/WPA2/WPA
    • WEP/WPS WEP/WPS
    • Disabled Disabled
  • Wi-Fi Standard (Requires Android OS 11+):
    • Wi-Fi 802.11a/b/g Wi-Fi 802.11a/b/g
    • Wi-Fi 802.11n Wi-Fi 802.11n
    • Wi-Fi 802.11ac Wi-Fi 802.11ac
    • Wi-Fi 802.11ax Wi-Fi 802.11ax

How-to

FAQ

Feedback

License

GPLv3

WiFi Analyzer is licensed under the GNU General Public License v3.0 (GPLv3).

GPLv3 License key requirements:

  • Disclose Source
  • License and Copyright Notice
  • Same License
  • State Changes

GNU General Public License v3.0 (GPLv3) Explained in Plain English

GNU General Public License v3.0 (GPLv3).

WiFi Analyzer Build

Workflow Status Codacy Badge codecov

Known Vulnerabilities FOSSA Status

Issues Star Fork

Contribute

  • Feel free to fork the project and submit your changes.
  • To learn how to submit a pull request click here.
  • We want to express our gratitude to all people for their contributions, such as: patches, bug solving, updates and etc.
  • If you would like to contribute financially to the project please feel free to send any amount through paypal.
    • Thanks to every one who already donated so far!

Fork project

How to fork project

Build project

  1. Install Android Studio
  2. Import project into Android Studio
    • In Welcome to Android Studio Screen select Import project ...
    • Select the root directory of the WiFi Analyzer repository and click "OK".
    • WiFi Analyzer will build automatically.

Running lint, unit tests and jacoco coverage report

./gradlew lintDebug jacocoTestCoverageVerification
  • lint report: app/build/reports/lint-results.html
  • unit test report: app/build/reports/tests/testDebugUnitTest/index.html
  • code coverage report: app/build/reports/jacoco/jacocoTestReport/html/index.html
Comments
  • Application Icon/Logo changes

    Application Icon/Logo changes

    Please add support for icon shape https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive.html https://material.io/guidelines/style/icons.html

    enhancement 
    opened by 532910 32
  • Android P Wifi Analyzer Beta Works But Fails to Scan After a Few refreshes

    Android P Wifi Analyzer Beta Works But Fails to Scan After a Few refreshes

    I've noticed this problem on Android P dp2, dp3 and dp4 with WiFi Analyzer Beta. Location is granted. Have also tried enabling wifi scanning but it didn't change the behavior.

    In opening the app the access points are displayed just fine. On manual refresh, or on maybe the third or fourth scheduled refresh the Scanning progress circle comes up and then times out with network error. Force closing the app and relaunching gets it to work again, but once more only for a few refreshes.

    Thanks.

    Device: Pixel 2 Android P dp4

    bug 
    opened by buffal0b1ll 20
  • Channel graph issue for 40Mhz

    Channel graph issue for 40Mhz

    Channel graph issues:

    I noticed that pre 1.6.2 that a 2.4Ghz 40MHz SSID was displaying -1 channel of the actual and now on 1.6.2 it is -2 channels of the actual.

    Thanks to https://github.com/arafey for pointing out that the extension channel is four channels lower or higher than the control channel.

    arafey "A 40 MHz network wouldn't use 11+9. It would use 11+7. 9 is the center of the two channels. Some wireless APs will show 11+9 but they're telling you the primary channel and the center channel." understanding-rf-fundamentals-and-the-radio-design-of-wireless-networks-60-728

    bug 
    opened by JJWatMyself 20
  • Doesnt work anymore on Android Pie 9

    Doesnt work anymore on Android Pie 9

    How to report a bug

    Please search issues (open and closed) to see the issues has already been reported.

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Note Some behaviour only occurs on certain devices or versions of Android, please provide the following screenshots/information Device/Android OS (Settings → About Phone) and WiFi Analyzer version (Menu -> About)

    Additional context Add any other context about the problem here.

    opened by moliata 19
  • The connection section does not show when connected to an hidden ssid network

    The connection section does not show when connected to an hidden ssid network

    How to report a bug

    Describe the bug IP and bitrate don't show when connected to a hidden ssid network

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'WiFiAnalyer'
    2. Click on 'Access Points'
    3. Select/Look at the line who's ssid is ***

    Expected behavior IP and bitrate show up in the Access Point *** when connected to a hidden ssid network

    Screenshots

    Note Android 5.0 on Samsung Galaxy Note 3 WiFiAnalyser v1.9.2

    wontfix 
    opened by sebma 15
  • Android OS 6+ -  Location Service ON

    Android OS 6+ - Location Service ON

    Some users running Android OS 6+ (Marshmallow) have reported that the location service must be enabled for the application to see WiFi networks. Marshmallow users may need to turn on the location service, even though WiFi Analyzer does not explicitly require it. This appears to be attributed to a potential issue in Android OS 6+ that requires location service in order to see WiFi networks.

    question FAQ 
    opened by VREMSoftwareDevelopment 15
  • Aliases for the APs

    Aliases for the APs

    It would be nice to give some names for specific APs to keep them organised (e.g. positions of the AP). Specially for environments with multi-AP but one SSID.

    enhancement wontfix 
    opened by binarybear-de 13
  • Translate Android API capabilities (short form)

    Translate Android API capabilities (short form)

    How to report a bug

    Please search issues (open and closed) to see the issues has already been reported. done

    Describe the bug WiFiAnalyzer does not show WPA3 and PMF flags in the Access Points menue.

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'Access Points'

    Expected behavior Show WAP3 and PMF flags like WPA3, PSK, and so on

    Screenshots Mssing WPA3 % PMF flags in https://lh3.googleusercontent.com/YRscuij--IUjnpz3Fmrvbhmaw4HLDxpUhp_gbaEdK-sZVV6j_nrPKViFDGQmpUv2Hg=w1440-h620

    Note Android 11, Pixel 3 & Pixel 4

    Additional context none

    Provide Device/Android OS information Android 11 Pixel 3 & Android 11 Pixel 4

    enhancement 
    opened by jbacksch 11
  • 160Mhz channels are detected as 80Mhz only

    160Mhz channels are detected as 80Mhz only

    Describe the bug

    UI displays 160Mhz channel as 80Mhz, both in the AP list and on the graph.

    To Reproduce

    1. Have a router running 160Mhz channel.
    2. Open WifiAnalyzer and switch to Access Point view. Observe that router's SSID from #1 is displayed having 80Mhz width.

    Expected behavior 160Mhz width should be displayed (and properly reflected on the channel graph too)

    Versions

    Android 10 on OnePlus7 Pro 5G WifiAnalizer 2.1.2 - 52GS(10-29)

    Additional context router's own status:

    phy#1
            Interface wlan1
                    ifindex 7
                    wdev 0x100000001
                    addr ...
                    ssid ...
                    type AP
                    channel 100 (5500 MHz), width: 160 MHz, center1: 5570 MHz
                    txpower 30.00 dBm
    
    

    Intel AX200 (2x2 160Mhz wifi 6 card)

    image

    opened by tsg2k2 10
  • Versions 1.x work, but versions 2.x don't work (infinite loading circle)

    Versions 1.x work, but versions 2.x don't work (infinite loading circle)

    Location permission is granted. I've tried different scan intervals. Pausing and resuming doesn't affect the loading circle animation. Everything is allowed under Privacy Guard (LineageOS 15.1, so Android Oreo).

    The versions before 2, including 1.9.3, work perfectly well. I can't think of any other variables to check for.

    opened by opusforlife 10
  • Location Service Permission requirements need better information in the app

    Location Service Permission requirements need better information in the app

    The latest update I got now requires network location access. Denying it causes the app to close. Why is this permission now needed and why is it required?

    How to report a bug

    Please search issues (open and closed) to see the issues has already been reported.

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Note Some behaviour only occurs on certain devices or versions of Android, please provide the following screenshots/information Device/Android OS (Settings → About Phone) and WiFi Analyzer version (Menu -> About)

    Additional context Add any other context about the problem here.

    Provide Device/Android OS information

    enhancement 
    opened by quantumpacket 10
  • Feature Request: Add ability to add friendly names to access points

    Feature Request: Add ability to add friendly names to access points

    When any more than Few APs come into view, some of which may share AP names, it can be difficult to tell them apart, especially as different APs come and go. The ability to assign friendly names to each unique entity would help immensely.

    The feature would include an edit option when opening an access point to look at its details. The AP friendly name would be remembered by Mac address and major band.

    It might actually be useful enough to just have friendly labels for Mac addresses and ignore the wireless frequency. This would suggest adding subscripts to different APs with the same Mac address. The core problem could be summarized as lack of recognizability of Mac addresses.

    Having the ability to assign a label to an arbitrary combination of AP traits would be very nice, but would also be more complex.

    opened by johnddx 0
  • Invisile router manufacturer for TP-Link TL-MR3420 v5.1

    Invisile router manufacturer for TP-Link TL-MR3420 v5.1

    Here there is no BSSID (6aff7b) for TP-Link TL-MR3420 v5.1 and this device is not recognized: https://github.com/VREMSoftwareDevelopment/WiFiAnalyzer/blob/d710b47a80c0e9d11e88be45fd0e41cf5052bf4a/app/src/main/res/raw/data.txt#L16520 no_device Is there a public database with updated values for devices? Because this is just an example and I had the same problem once before on a device other than mine. More details here.

    question 
    opened by olekstomek 3
  • Better format for representing the uptime of the WiFi network

    Better format for representing the uptime of the WiFi network

    Reference to https://github.com/VREMSoftwareDevelopment/WiFiAnalyzer/issues/365 Maybe it's better to go without insignificant milliseconds and seconds and show the duration of the selected WiFi network in days, hours, and minutes. In the case of a long WiFi network operation time, it will be difficult to understand how much 500h is, it is better to show it as 19 days 23h 20 minutes (more readable and more comfortable).

    enhancement 
    opened by olekstomek 0
  • Add a Reset Defaults button in Settings

    Add a Reset Defaults button in Settings

    A Reset Defaults button in Settings would avoid the need for the user to use the "clear data" button on the app page to restore the defaults if he wants to.

    enhancement 
    opened by jidanni 2
  • Display Vendor Specific Information Elements as possible since API Level 30

    Display Vendor Specific Information Elements as possible since API Level 30

    It would be nice if the App displayed the vendor specific IEEE 802.11 information elements that were found in the WiFi Beacons. Android's API Level 30 introduced ScanResult.getInformationElements(), which can be used to query this information.

    enhancement 
    opened by codingcatgirl 4
  • applicationId change

    applicationId change

    Describe the bug In order to use WiFiAnalyzer in another open-source project, we forked and built on Android Studio. When we change "applicationId" on module level gradle file or in 'Project Structure' from 'com.vrem.wifianalyzer' to any different name such as: 'com.vrem.wifisignal', the scanned wi-fi values fluctuate rapidly and regress to -100dBm. It could be seen in all tabs such as: 'Access Points', 'Channel graph' etc.

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'Fork the project and built on Android Studio'
    2. Click on 'applicationId' on module level gradle file and change "com.vrem.wifianalyzer" to "com.vrem.wifisignal"
    3. Click on 'built the app and install on any device'
    4. Scroll down to 'Access Points or Channel Graph'
    5. See error

    Expected behavior It is expected to show wi-fi signals as in its first built.

    Note Device/Android OS and WiFi Analyzer version (Menu -> About)

    opened by Nephys222 0
Releases(V3.0.9-F-DROID)
Android library for finding connected devices on same WiFi network. It can provide IP Address, device name, MAC Address and vendor names.

Android WiFi Tools Android library for finding connected devices on the same WiFi network. It can provide IP Addresses, device names, MAC Address and

Tej Magar 5 Nov 16, 2022
The Android Trivia application is an application that asks the user trivia questions about Android development

The Android Trivia application is an application that asks the user trivia questions about Android development. It makes use of the Navigation component within Jetpack to move the user between different screens. Each screen is implemented as a Fragment. The app navigates using buttons, the Action Bar, and the Navigation Drawer.

Srihitha Tadiparthi 1 Feb 10, 2022
Android application compatible with ZX2C4's Pass command line application

Password Store Download Documentation We're in the process of rewriting our documentation from scratch, and the work-in-progress state can be seen her

Android Password Store 2.2k Jan 8, 2023
Android Phishing Application.This Project is for Educational purposes only.The Developer of this application is not responsible of any bad usage

Android Phishing Application.This Project is for Educational purposes only.The Developer of this application is not responsible of any bad usage

Aria Shirazi 93 Oct 23, 2022
Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

null 7 Mar 12, 2022
Realtime SOS Android Application. Location (GPS + Cellular Network) tracing application by alerting guardians of the User.

WomenSaftey Women Safety Android Application: Realtime SOS Android Application. Designed a Location (GPS + Cellular Network) tracing application by al

jatin kasera 6 Nov 19, 2022
Connect is an Android Application to connect people for a project and can then work on the application to efficiently complete the project

Connect is an Android Application to connect people for a project and can then work on the application to efficiently complete the project

Shubhaprasad Padhy 1 Jan 9, 2022
A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tumblr application , But a little prettier than him 😉

A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tum

Ahmed Ihab 17 Dec 23, 2022
Quiz-Application - A quiz application which uses opentdb api to get quiz of different levels like Easy Hard and Medium

Quiz-Application A quiz application which uses opentdb api to get quiz of differ

Pranat Praveer 2 Jan 25, 2022
Application: SLA report This application calculates, based on an input, the average duration per service of Axon.

Application: SLA report This application calculates, based on an input, the average duration per service of Axon.

null 3 Aug 5, 2022
A mobile application that allows you to get random information every time you enter the application.

Knowledge Repository A mobile application that allows you to get random information every time you enter the application. Google Play Store : Screensh

Nisa Efendioğlu 2 Jul 10, 2022
AppUI Sample Application - display how you can create your own custom AppUI application within a few minutes

AppUI Sample Application This is an open-source project to display how you can create your own custom AppUI application within a few minutes. I have a

Formaloo 5 Sep 5, 2022
A dummy application used for POC for Future of Furniture application using AR serivces provided by Google.

Furture A dummy application used for POC for Future of Furniture application using AR serivces provided by Google. Demo video.mp4 Splash Home Sofa Cha

Kapil Yadav 8 Nov 28, 2022
Shreyas Patil 2.1k Dec 30, 2022
A simple Android app to demonstrate the use of Hover SDK for M-PESA Send Money while offline. This SDK does not require an internet connection, it automates USSD sessions in the background of an android application.

HoverSDKDemo Hover SDK is an Android SDK that lets mobile developers to add money features to the applications. This SDK does not require an internet

Joel Kanyi 9 Dec 21, 2022
A Simple and Minimal Quotes Android Application to demonstrate the Modern Android Development tools

Quotee Android ?? A Simple and Minimal Quotes Android Application to demonstrate the Modern Android Development tools. Developed with ❤️ by Aminullah

null 12 Aug 24, 2022
🎥 A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose.

ComposeMovie Android ?? A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose. Built with

null 13 Oct 1, 2022
GmailCompose is an Android application 📱 for showcasing Jetpack Compose for building declarative UI in Android.

GmailCompose GmailCompose Demo GmailCompose is an Android application ?? for showcasing Jetpack Compose for building declarative UI in Android. About

Baljeet Singh 35 Nov 29, 2022