Самый простой способ реализовать перенаправитель SMB для Windows? - PullRequest
3 голосов
/ 25 февраля 2011

Я хотел бы реализовать небольшой инструмент, который позволяет мне делать в Windows то, что я уже могу легко сделать в любой другой ОС - указать удаленный SMB-сервер как по IP-адресу , так и по порту .Собственно, Windows не будет делать SMB через любые порты, кроме 445 или 139 (ее выбор), и мне надоело играть whack-a-mole с обходными путями для различных плохих вещей, которые Microsoft продолжает добавлять кWindows для fsck туннелирования SMB через переадресацию портов SSH.

Я имею в виду небольшое приложение командной строки, которое позволило бы мне сделать что-то вроде

netsubst servername -i IP -p PORT

Это будет работать рука об руку с водителем?Dll?он подключается к Windows как перенаправитель SMB, но сканирует таблицу имен серверов, созданную netsubst, вместо того, чтобы искать их в сети, чтобы выяснить, к чему подключаться.Так что я смогу сделать

net use X: // имя_сервера / имя_ресурса / пользователь: имя_пользователя *

обычным способом, за исключением того, что вместо того, чтобы Windows искала // имя_серверапорты 445 или 139 любых машин, которые он может найти, он будет направлен прямо на адрес IP, порт PORT;и если бы IP оказался 127.0.0.1, а PORT оказался чем-то, переадресованным куда-то еще через ssh, то все бы работало, и мне больше не нужно было бы иметь дело со стенами глупостей, которые Windows создает вокруг доступа к локальным портам 139 и445.

Я полагаю, что мне нужно что-то похожее на гостевое дополнение // vboxsvr, которое VirtualBox использует для общего доступа к файлам на хосте, но, вероятно, гораздо проще, так как ему не нужен полный сервер - в моем идеалеВ общем, функциональность only Windows, которую я должен заменить, - это часть, которая устанавливает первоначальное соединение с удаленным SMB-сервером.Но прежде чем я начну изучать исходный код VirtualBox, кто-нибудь может предложить более простой способ сделать это или, возможно, указать мне документацию Microsoft по реализации перенаправителей SMB?

Ответы [ 4 ]

3 голосов
/ 15 февраля 2014

\\server@port\share - допустимый синтаксис для WebDAV. В тот момент, когда вы добавите @port в обозначение пути UNC, чистое использование изменится с SMB на WebDAV. Вы не можете изменить порт, который использует SMB.

- Ben

2 голосов
/ 28 февраля 2011

Написание драйвера не легко;это требует много знаний в конкретной области.Вот несколько ссылок для начала работы:

Как написать драйвер для Windows
Разработка драйвера для Windows
Документация WDK на MSDN

Удачи.

Вы также можете найти этот (PDF) полезным.

0 голосов
/ 18 июня 2018

Вам может потребоваться реализовать сетевой перенаправитель самостоятельно.

Выглядит TalAloni's SMBLibrary note и PcapDotNet, которые могут помочь.

0 голосов
/ 14 октября 2013

net use * \\servername@XXXX\ где XXXX - номер порта.Я только что проверил это на Windows 7. Так что он прекрасно работает

...