";
+
+ foreach (var prop in line.Split(separator))
+ {
+ table += "| ";
+ table += prop;
+ table += " | ";
+ }
+
+ table += "
";
+ }
+
+ return html.Replace("#table#", table);
+ }
+}
\ No newline at end of file
diff --git a/src/Discovery.Core/Services/Scanner.cs b/src/Discovery.Core/Services/Scanner.cs
new file mode 100644
index 0000000..539b8ea
--- /dev/null
+++ b/src/Discovery.Core/Services/Scanner.cs
@@ -0,0 +1,295 @@
+using Discovery.Models;
+using System.Diagnostics;
+using System.Net;
+using System.Net.NetworkInformation;
+using System.Net.Sockets;
+using System.Runtime.InteropServices;
+using System.Text.Json;
+using System.Text.RegularExpressions;
+
+namespace Discovery.Services;
+
+public partial class Scanner