Netcraft 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Netcraft --version 1.0.0                
NuGet\Install-Package Netcraft -Version 1.0.0                
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="Netcraft" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Netcraft --version 1.0.0                
#r "nuget: Netcraft, 1.0.0"                
#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 Netcraft as a Cake Addin
#addin nuget:?package=Netcraft&version=1.0.0

// Install Netcraft as a Cake Tool
#tool nuget:?package=Netcraft&version=1.0.0                

Urlscan

alternate text is missing from this package README image

An async and lightweight C# library for interacting with the Netcraft API.

Usage

Available on NuGet as Netcraft, methods can be found under the classes NetcraftClient.

https://www.nuget.org/packages/Netcraft

Features

  • Made with .NET 6
  • Fully async
  • Extensive documentation
  • No external dependencies (uses integrated HTTP and JSON)
  • Custom exceptions (NetcraftException) for advanced catching
  • Example project to demonstrate all capabilities of the library
  • Report malicious URLs, emails and files
  • Get submission results and data

Example

Under the Example directory you can find a working demo project that implements this library.

Code Samples

Initializing a new API client

NetcraftClient client = new();

Reporting malicious URLs

string uuid = await client.Report.Urls(email, "Phishing against the Turkish Government.", new UrlReportParmeters[]
{
    new()
    {
        Value = "http://basvuruedevletmobilden.ml/",
        Country = "US"
    }
});

Getting submission details

Submission submission = await client.Submission.GetSubmissionDetails(uuid);

Getting the leaderboard

LeaderboardEntry[] entries = await client.Misc.GetLeaderboard();

Available Methods

Report

  • Task<string> Urls(string email, string reason, UrlReportParmeters[] urls, string source = null, bool? noSubmission = false)
  • Task<string> Urls(UrlsReportParameters parameters)
  • Task<string> Email(EmailReportParameters parameters)
  • Task Mistake(MistakeReportParameters parameters)

Submission

  • Task ReportSubmissionIssue(string uuid, SubmissionIssueParameters parameters)
  • Task SendIssueMessage(string uuid, string message)
  • Task<CryptocurrencyAddress[]> GetSubmissionCryptocurrencyAddresses( string uuid, int count = 100, string addressFilter = null, string cryptocurrencyFilter = null, string sortProperty = null, Direction direction = Direction.Ascending)
  • Task<FileAnalysisUrl[]> GetFileAnalysisUrls(string uuid, string fileHash)
  • Task<FileMalwareFamily[]> GetFileMalwareFamilies(string uuid, string fileHash)
  • Task<FilePhoneNumber[]> GetFilePhoneNumbers(string uuid, string fileHash)
  • Task<FileUrl[]> GetFileUrls(string uuid, string fileHash)
  • Task<Issue[]> GetSubmissionIssues(string uuid)
  • Task<Stream> GetEmailScreenshot(string uuid)
  • Task<Stream> GetFileScreenshot(string uuid, string fileHash)
  • Task<Stream> GetUrlScreenshot(string submissionUUID, string urlUUID, string screenshotHash)
  • Task<Submission> GetSubmissionDetails(string uuid)
  • Task<SubmissionEmail> GetSubmissionEmail(string uuid)
  • Task<SubmissionFile[]> GetSubmissionFiles( string uuid, int count = 100, State? stateFilter = null, string hashFilter = null, string nameFilter = null, FileSort sort = FileSort.FileName)
  • Task<SubmissionPhoneNumber[]> GetSubmissionPhoneNumbers(string uuid)
  • Task<SubmissionUrl[]> GetSubmissionUrls( string uuid, int count = 100, string urlFilter = null, State? urlStateFilter = null, State? urlTakedownStateFilter = null, Direction direction = Direction.Ascending)

Misc

  • Task<LeaderboardEntry[]> GetLeaderboard()

This is a community-ran library. Not affiliated with Netcraft Ltd.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  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.
  • net6.0

    • No dependencies.

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.1.0 256 11/25/2023
1.0.1 357 11/16/2022
1.0.0 356 10/30/2022