搜索插件、代码仓与 APP 分类

wifi_hunter 封面
插件详情v1.1.1+2

wifi_hunter

一个 Flutter 包,用于获取您周围所有 WiFi 接入点的信息。

Android
近 30 天下载
18
喜欢数
27
Pub 分数
150

安装插件

flutter pub add wifi_hunter

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

wifi_hunter 是一个 Flutter 包,专为扫描和检索 Android 设备附近的 Wi-Fi 接入点信息而设计。它使开发者能够检测可用网络,包括其 SSID、信号强度和 MAC 地址,提供实时的网络可视性。适用于网络诊断、基于位置的服务或安全评估,该包利用了 Android 的 Wi-Fi 扫描 API。需要适当的权限,并且仅在 Android 平台上运行。

适合场景

  • 网络发现
  • 基于位置的服务
  • 安全审计
  • 设备连接监控
  • Wi-Fi信号分析

主要特点

  • 实时Wi-Fi扫描
  • SSID 和 MAC 地址检索
  • 信号强度检测
  • 仅支持 Android
  • 简单 API 集成

适合对象

  • Android应用开发者
  • 网络诊断工具
  • 物联网设备管理
  • 安全研究人员
  • 位置感知应用程序

使用建议

  • 需要 Android 权限
  • 仅限Android平台
  • 隐私敏感数据访问
  • 背景扫描限制
  • 无 iOS 支持

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

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.

所属分类

源码仓库

使用此插件的项目

暂无相关数据。