scanner library

Functions

detectWafCdns(Map<String, String>? headers, String? cname) List<String>
expandCidr(String cidr) List<String>
expandCidrLazy(String cidr) Iterable<String>
fingerprintService({Map<String, String>? headers, String? banner}) Map<String, dynamic>
geoIpLookup(String ip, {Duration timeout = const Duration(seconds: 5)}) Future<Map<String, dynamic>?>
identifyProtocolFromBanner(String banner) String?
Delegate banner protocol identification to algorithm module.
inspectTlsCertificate(String host, int port, {Duration timeout = const Duration(seconds: 5)}) Future<Map<String, dynamic>?>
Inspect TLS certificate information for a host:port. Returns a small map with subject, issuer, validFrom, validTo, and SANs when available.
isPrivateIp(String ip) bool
prioritizeHosts(List<String> hosts, {String ordering = 'linkstate'}) List<String>
Given a list of hosts, produce an ordering based on a shortest-path traversal starting from the first host. We convert IPs to numeric form and build a weighted graph where edge weight is absolute difference.
scanHost(String host, List<int> ports, {int portConcurrency = 50, Duration timeout = const Duration(milliseconds: 300), Duration bannerTimeout = const Duration(milliseconds: 300)}) Future<Map<int, Map<String, dynamic>>>
Scan a single host's ports and attempt a small banner grab for each open port. Returns a map port->optional banner (null if none captured). Returns port -> { 'banner': String?, 'protocol': String? }
scanNetwork(Iterable<String> hosts, List<int> ports, {int hostConcurrency = 10, int portConcurrency = 50, Duration timeout = const Duration(milliseconds: 300), Duration bannerTimeout = const Duration(milliseconds: 300), void onHostResult(String host, Map<int, Map<String, dynamic>> result)?, IOSink? jsonlSink}) Future<Map<String, Map<int, Map<String, dynamic>>>>
Scan multiple hosts concurrently (host-level concurrency) and scan each host's ports using scanHost. Returns a map host->(port->banner).
traceroute(String host, {int maxHops = 30}) Future<List<String>>