Exemple #1
0
 /// <summary>
 /// Create scanner
 /// </summary>
 /// <param name="services"></param>
 /// <param name="addresses"></param>
 /// <param name="replies"></param>
 /// <param name="ct"></param>
 public static Task ScanAsync(this IScanServices services, Action <PingReply> replies,
                              IEnumerable <AddressRange> addresses, CancellationToken ct)
 {
     return(services.ScanAsync(replies, false, addresses ??
                               throw new ArgumentNullException(nameof(addresses)),
                               NetworkClass.None, null, null, ct));
 }
Exemple #2
0
        /// <summary>
        /// Scan entire network
        /// </summary>
        /// <param name="services"></param>
        /// <param name="netclass"></param>
        /// <param name="ct"></param>
        public static async Task <IEnumerable <PingReply> > ScanAsync(
            this IScanServices services, NetworkClass netclass, CancellationToken ct)
        {
            var result = new List <PingReply>();
            await services.ScanAsync(reply => result.Add(reply), netclass, ct);

            return(result);
        }
Exemple #3
0
        /// <summary>
        /// Scan range of addresses and return the ones that are open
        /// </summary>
        /// <param name="services"></param>
        /// <param name="range"></param>
        /// <param name="ct"></param>
        /// <returns></returns>
        public static async Task <IEnumerable <IPEndPoint> > ScanAsync(this IScanServices services,
                                                                       IEnumerable <IPEndPoint> range, CancellationToken ct)
        {
            var result = new List <IPEndPoint>();

            await ScanAsync(services, range, ep => result.Add(ep), (IPortProbe)null, ct);

            return(result);
        }
Exemple #4
0
 /// <summary>
 /// Create scanner
 /// </summary>
 /// <param name="services"></param>
 /// <param name="source"></param>
 /// <param name="target"></param>
 /// <param name="portProbe"></param>
 /// <param name="ct"></param>
 public static Task ScanAsync(this IScanServices services, IEnumerable <IPEndPoint> source,
                              Action <IPEndPoint> target, IPortProbe portProbe, CancellationToken ct) =>
 services.ScanAsync(source, target, portProbe, 5000, null, null, ct);
Exemple #5
0
 /// <summary>
 /// Create scanner
 /// </summary>
 /// <param name="services"></param>
 /// <param name="netclass"></param>
 /// <param name="local"></param>
 /// <param name="replies"></param>
 /// <param name="ct"></param>
 public static Task ScanAsync(this IScanServices services, Action <PingReply> replies,
                              bool local, NetworkClass netclass, CancellationToken ct) =>
 services.ScanAsync(replies, local, null, netclass, null, null, ct);
Exemple #6
0
 /// <summary>
 /// Scan network
 /// </summary>
 /// <param name="services"></param>
 /// <param name="replies"></param>
 /// <param name="ct"></param>
 public static Task ScanAsync(this IScanServices services, Action <PingReply> replies,
                              CancellationToken ct) =>
 services.ScanAsync(replies, false, null, NetworkClass.Wired, null, null, ct);
Exemple #7
0
 /// <summary>
 /// Create scanner with default port probe
 /// </summary>
 /// <param name="services"></param>
 /// <param name="source"></param>
 /// <param name="target"></param>
 /// <param name="ct"></param>
 public static Task ScanAsync(this IScanServices services, IEnumerable <IPEndPoint> source,
                              Action <IPEndPoint> target, CancellationToken ct)
 {
     return(services.ScanAsync(source, target, null, ct));
 }
Exemple #8
0
 /// <summary>
 /// Create scanner
 /// </summary>
 /// <param name="services"></param>
 /// <param name="netclass"></param>
 /// <param name="replies"></param>
 /// <param name="ct"></param>
 public static Task ScanAsync(this IScanServices services, Action <PingReply> replies,
                              NetworkClass netclass, CancellationToken ct)
 {
     return(services.ScanAsync(replies, false, null, netclass, null, null, ct));
 }