Pub badge style: lint

Dart / Flutter package that allows discovering network devices in local network (LAN).

Note: This library is intended to be used on Class C networks.

This project is a rework of already existing ping_discover_network, however it is no longer maintained. page | API reference

Getting Started

Add the package to your pubspec.yaml:

lan_scanner: ^1.0.3

Import the library:

import 'package:lan_scanner/lan_scanner.dart';

Create an instance of the class and call quickScan() or preciseScan() on it:

final port = 80;
final subnet = "192.168.0";
final timeout = Duration(seconds: 5);

final scanner = LanScanner();

final stream = scanner.quickScan(
    subnet: _subnet,
    timeout: _timeout,
    progressCallback: (progress) {

stream.listen((DeviceAddress device) {
    if (device.exists) {
        print("Found device on ${device.ip}:${device.port}");

If you don't know what is your subnet, you can use network_info_plus and then ipToSubnet() function.

var wifiIP = await (NetworkInfo().getWifiIP())

var subnet = ipToSubnet(wifiIP);

Features and bugs

Please file feature requests and bugs at the issue tracker.

Open in Visual Studio Code