Проблема с доступом к SMB1 / 2 с помощью SmbLibraryStd

#smb

#smb

Вопрос:

Я пытаюсь получить доступ к SMB-серверу из .NET Core с помощью SmbLibraryStd (https://github.com/j4m3z0r/SmbLibraryStd ) но войти в систему не удается, независимо от того, пытаюсь ли я использовать SMB 1.0 или 2.0.

Мой код выглядит следующим образом (.Net Core):

 var smb = new SMB2Client();
var success = smb.Connect(new System.Net.IPAddress(new byte[] { 192, 21, 1, 40 }), SmbLibraryStd.SMBTransportType.DirectTCPTransport);
var status = smb.Login(string.Empty, "User", "Pass");
SmbLibraryStd.NTStatus actionStatus;
var shares = smb.ListShares(out actionStatus);
 

Соединение выполнено успешно, но не удалось войти в систему и возвращен SEC_E_INVALID_TOKEN.
Для SmbLibraryStd нет документации (я не смог ее найти).

Любая помощь будет оценена.

С уважением.

Ответ №1:

В SMBLibrary была ошибка, которая была исправлена в 1.3.6, но не была перенесена на SmbLibraryStd. Если вы столкнулись с той же проблемой, используйте оригинальную библиотеку вместо варианта SmbLibraryStd.