Atc.Network 1.0.156

There is a newer version of this package available.
See the version list below for details.
dotnet add package Atc.Network --version 1.0.156                
NuGet\Install-Package Atc.Network -Version 1.0.156                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Atc.Network" Version="1.0.156" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Atc.Network --version 1.0.156                
#r "nuget: Atc.Network, 1.0.156"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Atc.Network as a Cake Addin
#addin nuget:?package=Atc.Network&version=1.0.156

// Install Atc.Network as a Cake Tool
#tool nuget:?package=Atc.Network&version=1.0.156                

NuGet Version

Atc.Network

Library for doing network communication

Using the TcpClient

A sample reference implementation can be found here

Using the UdpClient and UdpServer

A sample reference implementation can be found here

Using the IPScanner

The IPScanner can scan a range of IPAddresses or just a single IPAddress as specified in the IPScannerConfig.

  • If IcmpPing is enabled the result for given IPAddress will contain a PingResult with network quality information.
  • If ResolveHostName is enabled the result for given IPAddress will contain the hostname if possible to resolve.
  • If ResolveMacAddress is enabled the result for given IPAddress will contain the mac-address if possible to resolve.
  • If ResolveVendorFromMacAddress is enabled the result for given IPAddress will contain the vendor name from the mac-address if possible to resolve.
  • TreatOpenPortsAsWebServices defines what kind of port numbers should be tested, the options are: None, WellKnown, WellKnownAndCommon, All

Example on ScanRange based on WellKnown port numbers

    var ipScannerConfig = new IPScannerConfig
    {
        IcmpPing = true,
        ResolveHostName = true,
        ResolveMacAddress = true,
        ResolveVendorFromMacAddress = true,
        TreatOpenPortsAsWebServices = IPServicePortExaminationLevel.WellKnown,
    };

    var ipScanner = new IPScanner(ipScannerConfig);
    ipScanner.ProgressReporting += IpScannerOnProgressReporting;

    var ipScanResults = await ipScanner.ScanRange(
        IPAddress.Parse("192.168.0.1"),
        IPAddress.Parse("192.168.0.254"),
        CancellationToken.None);

Example on ScanRange based on specified port numbers

    var ipScannerConfig = new IPScannerConfig
    {
        IcmpPing = true,
        ResolveHostName = true,
        ResolveMacAddress = true,
        ResolveVendorFromMacAddress = true,
        TreatOpenPortsAsWebServices = IPServicePortExaminationLevel.None,
    };

    ipScannerConfig.PortNumbers = new List<ushort> { 21, 80, 8080 };

    var ipScanner = new IPScanner(ipScannerConfig);
    ipScanner.ProgressReporting += IpScannerOnProgressReporting;

    var ipScanResults = await ipScanner.ScanRange(
        IPAddress.Parse("192.168.0.1"),
        IPAddress.Parse("192.168.0.254"),
        CancellationToken.None);

Using the IPPortScan

Example on CanConnectWithTcp

    var ipPortScan = new IPPortScan(IPAddress.Parse("192.168.0.27"));
    var ipPortScanResult = await ipPortScan.CanConnectWithTcp(
        80,
        CancellationToken.None);

Example on CanConnectWithHttp

    var ipPortScan = new IPPortScan(IPAddress.Parse("192.168.0.27"));
    var ipPortScanResult = await ipPortScan.CanConnectWithHttp(
        80,
        CancellationToken.None);

How to contribute

Contribution Guidelines

Coding Guidelines

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.224 593 4/12/2024
1.0.213 494 2/15/2024
1.0.209 300 2/14/2024
1.0.207 241 2/14/2024
1.0.199 417 1/26/2024
1.0.193 419 12/4/2023
1.0.187 341 11/23/2023
1.0.183 745 10/3/2023
1.0.176 592 8/25/2023
1.0.174 331 8/25/2023
1.0.169 618 7/5/2023
1.0.163 462 6/12/2023
1.0.156 399 5/26/2023
1.0.152 464 4/17/2023
1.0.144 468 4/4/2023
1.0.142 519 3/13/2023
1.0.129 474 3/8/2023
1.0.121 2,278 9/14/2022
1.0.118 644 9/5/2022
1.0.114 636 9/1/2022
1.0.92 744 8/17/2022
1.0.90 605 8/17/2022
1.0.89 621 8/16/2022
1.0.87 617 8/16/2022
1.0.78 600 8/15/2022
1.0.41 659 8/8/2022
1.0.37 623 8/8/2022
1.0.33 633 8/6/2022
1.0.29 633 8/5/2022
1.0.22 631 8/3/2022
1.0.19 596 8/3/2022
1.0.17 613 8/3/2022
1.0.7 623 8/2/2022