scanner
library
Functions
detectWafCdns (String ? cname )
→ List <String >
expandCidr (String cidr )
→ List <String >
expandCidrLazy (String cidr )
→ Iterable <String >
fingerprintService ({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 > >