简介与参考
SMB协议作为服务器与客户端之间共享文件的工具,其默认采用445端口进行传输,但是由于445端口的特性,黑客可以轻易通过该端口访问共享文件与打印机等,因此大多数服务器、客户端均直接把445端口禁掉,防止黑客入侵。
需要访问自定义端口的SMB服务器,这里查到一种方法:采用端口转发。参考https://www.zhihu.com/question/59814912
基本原理也很简单,按照如下路径转发数据:SMB客户端—连接—>端口转发—连接—>SMB服务端
环境、系统与条件
- windows10系统开启smb服务(自行百度,不再赘述,务必重启电脑)
- SMB服务器已配置,并已自定义端口
smb_user_port
、smb服务器IPsmb_ip_adreess
、访问用户名user_name
、密码user_password
- 因此这里只介绍 win10客户端访问自定义端口的SMB服务器,win10系统的配置方法。
客户端配置
打开管理员权限的powershell,输入端口转发规则:
netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=smb_user_port connectaddress=smb_ip_adreess
即将本地127.0.0.1:445
端口数据映射连接到smb服务器smb_ip_adreess
的自定义端口smb_user_port
上。打开cmd,输入:
netsh interface portproxy show all
即可看到转发规则:
客户端转发规则配置完成,win+R打开运行,输入\\127.0.0.1\
即可看到远程smb服务器内的所有文件夹。选择需要存储上传文件的文件夹名字:file_name
客户端连接
打开我的电脑,右键此电脑,选择映射网络驱动器:
选择合适的驱动器盘符,在文件夹位置输入:\\127.0.0.1\file_name
,file_name
即为上文所选的存储上传文件的文件夹名字,如果需要密码才能访问该文件夹的话,则勾选使用其他凭据连接
输入访问用户名user_name
、密码user_password
即可连接,在我的电脑中会出现如下文件夹:
之后打开该文件夹即可上传文件。(下次登录时,可能需要输入用户名和密码再次连接)
文件传输完成
打开管理员权限的powershell,输入:
netsh interface portproxy show all
删除端口转发对应的侦听IP与端口,即删除了连接。
netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=445(侦听列表中对应的IP与端口)
后记
由于种种原因,需要连接自定义端口的,带用户名和密码的SMB服务器,就简单了解了一下,很多大佬都是在ubuntu上使用samba软件连接的,会更方便一点儿。