lan_scanner
Dart-/Flutter-Paket, das die Entdeckung von Netzwerkgeräten im lokalen Netzwerk (LAN) über mehrfädige ICMP-Pings ermöglicht.
- Sterne
- 27
- Forks
- 4
- Letzter Push (UTC)
- 05.08.2023
- Projektstatus
- Archiviert
Original-README
Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
lan_scanner
Dart / Flutter package that allows discovering network devices in local network (LAN) via multi-threaded ICMP pings.
Note: This library is intended to be used on Class C networks.
Getting Started
Add the package to your pubspec.yaml:
lan_scanner: ^4.0.0
Import the library:
import 'package:lan_scanner/lan_scanner.dart';
Create an instance of the class and call
quickIcmpScanAsync() on it:
final scanner = LanScanner();
final List<Host> hosts = scanner.quickIcmpScanAsync('192.168.0');
There is also stream-based icmpScan() method available, which provides progress callback, but is much slower and resource hungry than other methods.
If you don't know what subnet to provide, you can use network_info_plus to get your local IP and then ipToCSubnet() function, which will conviently strip the last octet of the IP address:
// 192.168.0.1
var wifiIP = await NetworkInfo().getWifiIP()
// 192.168.0
var subnet = ipToCSubnet(wifiIP);
iOS compatibility
Due to the issue with Flutter platform channels (#119207), iOS platform is currently supported only when using the quickIcmpScanSync() method and requires additional steps:
Add dart_ping_ios to your pubspec.yaml:
dart_ping_ios: ^4.0.0
Call register() method before running your app:
void main() {
DartPingIOS.register();
runApp(const App());
}
Configuration
Warning:
In order to use this package, you may need to do additional configuration on some platforms.
Android:
Add the android.permission.INTERNET to your AndroidManifest.xml file:
<uses-permission android:name="android.permission.INTERNET" />
MacOS:
Add following key to DebugProfile.entitlements and Release.entitlements files:
<key>com.apple.security.network.client</key>
<true/>
Features, bugs and contributions
Feel free to contribute to this project.
Please file feature requests and bugs at the issue tracker.
If you fixed a bug or implemented a feature by yourself, feel free to send a pull request.
Sponsoring
I am working on my packages in my free time.
If this package is helping you, please consider buying me a coffee, so I can keep updating and maintaining this package.
Kategorien
Verwendete Abhängigkeiten
Abhängigkeiten 4 Einträge
- dart_ping
^9.0.0 - import_sorterEntwicklung
^4.6.0 - testEntwicklung
^1.24.5 - very_good_analysisEntwicklung
^5.0.0+1
Wie wähle ich ein passendes Repository?
Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.
- Nach Name, Autor oder Beschreibung suchen und nach Thema eingrenzen.
- Sterne, Forks und letzte Pushes vergleichen. Sterne zeigen Interesse, garantieren aber keine Qualität.
- Vor der Nutzung README, Lizenz und Issues auf GitHub prüfen.
Quellen und Pflege
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗
- ivirtex/lan_scanner · GitHub ↗
- GitHub Docs — Saving repositories with stars ↗
- Verzeichnis gepflegt von Ducafecat ↗