Skip to content

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

License

Notifications You must be signed in to change notification settings

TomStoffen/wifi_hunter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.SSID);
      print(wiFiHunterResult.results.BSSID);
      print(wiFiHunterResult.results.capabilities);
      print(wiFiHunterResult.results.frequency);
      print(wiFiHunterResult.results.level);
      print(wiFiHunterResult.results.channelWidth);
      print(wiFiHunterResult.results.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

  • int[] 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

Debugging

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 58.6%
  • Java 41.4%