Search packages, repositories and app categories

wifi_hunter cover
Package detailsv1.1.1+2

wifi_hunter

A flutter package to hunt down info from all WiFi APs around you.

Android
30-day downloads
18
Likes
27
Pub points
150

Install package

flutter pub add wifi_hunter

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

wifi_hunter is a Flutter package designed to scan and retrieve information about nearby Wi-Fi access points on Android devices. It enables developers to detect available networks, including their SSIDs, signal strengths, and MAC addresses, providing real-time network visibility. Ideal for network diagnostics, location-based services, or security assessments, the package leverages Android's Wi-Fi scanning APIs. It requires appropriate permissions and works exclusively on Android platforms.

Use cases

  • Network discovery
  • Location-based services
  • Security audits
  • Device connectivity monitoring
  • Wi-Fi signal analysis

Key features

  • Real-time Wi-Fi scanning
  • SSID and MAC address retrieval
  • Signal strength detection
  • Android-only support
  • Simple API integration

Suitable for

  • Android app developers
  • Network diagnostic tools
  • IoT device management
  • Security researchers
  • Location-aware applications

Considerations

  • Requires Android permissions
  • Limited to Android platform
  • Privacy-sensitive data access
  • Background scanning limitations
  • No iOS support

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

wifi_hunter

A flutter package to hunt down info from all WiFi APs around you.

version BSD License PRs Welcome

Demonstration

demo.gif

Getting Started


import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'dart:async';

import 'package:wifi_hunter/wifi_hunter.dart';
import 'package:wifi_hunter/wifi_hunter_result.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  WiFiHunterResult wiFiHunterResult = WiFiHunterResult();
  
  Future<void> huntWiFis() async {
    try {
      wiFiHunterResult = (await WiFiHunter.huntWiFiNetworks)!;
    } on PlatformException catch (exception) {
      print(exception.toString());
    }
    
    for (var i = 0; i < wiFiHunterResult.results.length) {
      print(wiFiHunterResult.results[i].ssid);
      print(wiFiHunterResult.results[i].bssid);
      print(wiFiHunterResult.results[i].capabilities);
      print(wiFiHunterResult.results[i].frequency);
      print(wiFiHunterResult.results[i].level);
      print(wiFiHunterResult.results[i].channelWidth);
      print(wiFiHunterResult.results[i].timestamp);
    }

    if (!mounted) return;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
      appBar: AppBar(
        title: const Text('WiFiHunter example app'),
      ),
      body: ElevatedButton(
        onPressed: () => huntWiFis(),
        child: const Text('Hunt Networks')
      )
    );
  }
}


Functionality and Features

Here is what infos you can get by using this package :

  • String[] SSIDs

  • String[] BSSIDs

  • String[] Signal strength

  • int[] Frequencies

  • int[] Capabilities

  • int[] Channel widths

  • long[] Timestamps (of information retrieval)

    ... of all WiFi APs in reach.

Running the sample

When running the sample app, make sure you've granted it the location permissions available in the system preferences, as there is currently no permission dialog implemented in the example app.
The permission settings are available under Settings > Apps > wifi_hunter_example > Permissions > Location > Allow only while using the app

Android WiFi Scan Throttling

Starting with Android 8.0 and up, the operating system severely limits the number of WiFi scans.
Please keep this limit in mind when implementing your scan issuing logic.
Find out more about these limits on developer.android.com.

Debugging

You can get a good overview of pretty much all related log entries by searching for wifi in the Logcat output.

Categories

Source repository

Projects using this package

No data available yet.