Program.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using System.Net;
  3. using SmbSvr.Ramfs;
  4. using SMBLibrary;
  5. using SMBLibrary.Authentication.GSSAPI;
  6. using SMBLibrary.Authentication.NTLM;
  7. using SMBLibrary.Server;
  8. using SMBLibrary.Win32;
  9. using Utilities;
  10. namespace RamDismbk
  11. {
  12. internal class Program
  13. {
  14. private static void Main()
  15. {
  16. Console.Write("I...");
  17. var shareCollection = new SMBShareCollection();
  18. shareCollection.Add("Ramfs", new RamfsFileSystem(), CachingPolicy.NoCaching);
  19. shareCollection.Add(new FileSystemShare("RamfsNt", new RamfsNtFileStore(), CachingPolicy.NoCaching));
  20. shareCollection.Add(new FileSystemShare("Z", new NTDirectoryFileSystem("Z:\\"), CachingPolicy.NoCaching));
  21. var smb = new SMBServer(shareCollection, new GSSProvider(new IndependentNTLMAuthenticationProvider(p => "")));
  22. Console.Write("S...");
  23. smb.Start(IPAddress.Parse("10.0.0.1"), SMBTransportType.DirectTCPTransport);
  24. Console.Write("R...");
  25. smb.LogEntryAdded += delegate (object sender, LogEntry entry)
  26. {
  27. if (entry.Severity < Severity.Information)
  28. Console.WriteLine($"{entry.Severity}{entry.Message}");
  29. };
  30. Console.ReadLine();
  31. Console.Write("E..");
  32. smb.Stop();
  33. }
  34. }
  35. }