NmapXmlParser 1.0.0
dotnet add package NmapXmlParser --version 1.0.0
NuGet\Install-Package NmapXmlParser -Version 1.0.0
<PackageReference Include="NmapXmlParser" Version="1.0.0" />
<PackageVersion Include="NmapXmlParser" Version="1.0.0" />
<PackageReference Include="NmapXmlParser" />
paket add NmapXmlParser --version 1.0.0
#r "nuget: NmapXmlParser, 1.0.0"
#:package NmapXmlParser@1.0.0
#addin nuget:?package=NmapXmlParser&version=1.0.0
#tool nuget:?package=NmapXmlParser&version=1.0.0
NmapXmlParser
A .NET Standard library for parsing Nmap XML output.
Requirements
- A framework that supports .NET Standard 1.3 or newer (see .NET Standard Versions for details).
- Nmap XML output
This has been tested against output generated by Nmap v7.70. Other versions should work as long as the XML schema is similar.
Example Usage
Deserialize Nmap XML File
var xmlSerializer = new XmlSerializer(typeof(nmaprun));
var result = default(nmaprun);
using (var xmlStream = new StreamReader("NmapResults.xml"))
{
result = xmlSerializer.Deserialize(xmlStream) as nmaprun;
}
Console.WriteLine(result.args);
Generating Classes from Schema
The classes to parse the Nmap XML output are generated from the Nmap document type definition (DTD). To prevent naming collisions the generated classes are scoped to the NmapXmlParser namespace.
To re-generate the classes a Visual Studio installation is required. The following steps can be used to re-generate the classes.
- Download the latest copy of the Nmap DTD and save it to
Schemas/nmap.dtd. - Convert the DTD to a XML Schema Definition (XSD):
- Open the downloaded DTD file in Visual Studio and go to
XML>Create Schema. - Remove the
xmlnsandtargetNamespaceattributes from thexs:schemaelement (line 2 of the generated XSD).This is required as the XML output from Nmap is not scoped to a namespace, and the
XmlSerializerclass will throw if it expects a namespace. - Save the XSD to
Schemas/nmap.xsd.
- Open the downloaded DTD file in Visual Studio and go to
- Generate the C# classes from the XSD. Open the
Developer Command Prompt for VSand run the following command from the root of this repository:xsd NmapXmlParser/Schemas/nmap.xsd /classes /language:CS /namespace:NmapXmlParser /out:NmapXmlParser/
At this point the library can be re-built to include the updated classes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
| Universal Windows Platform | uap was computed. uap10.0 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 1.3
- NETStandard.Library (>= 1.6.1)
- System.ComponentModel.Primitives (>= 4.3.0)
- System.Runtime.Serialization.Formatters (>= 4.3.0)
- System.Xml.XmlSerializer (>= 4.3.0)
-
.NETStandard 2.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.0.0 | 2,831 | 12/16/2018 |