RoboCopy是一个强大的复制工具,可以在Windows Server 2003的Windows Resource Kit Tools中找到。配合计划任务,可以实现定时将一台机器上的SQL备份复制到网络上的另一个地方作为备份。本文将讨论如何开放防火墙的一些端口,实现在运行Windows 2000的Internet服务器和运行Windows 2003 server的Intranet服务器之间传输文件。
首先,Robocopy使用SMB协议在主机之间传输文件,基于SMB的通信使用下面的几个端口:
137(TCP/IP): NETBIOS 名字
138(UDP): NETBIOS 数据报
139(TCP):NETBIOS 会话
445(TCP): 在TCP之上的SMB
在默认的网络参数情况下,Robocopy会试图使用TCP的139端口来连接到远程主机,如果用户想要Robocopy强制使用445端口,则必须在源主机上禁用IP协议上的NETBIOS。考虑到目标系统是面向Web的,故也要禁用NETBIOS。
在TCP/IP属性对话框中,单击“高级”按钮,然后,单击“WINS”选项卡,单击“禁用TCP/IP的NETBIOS”单选按钮。此后,Robocopy将会自动使用TCP的445端口来连接目标系统,因此用户应允许从源主机到目标主机的文件访问通过防火墙。
若用户要确保数据传输的安全保密,可以配置每台主机,启用IPSec加密,然后,设置防火墙,允许两台主机的IPSec通信。此后,用户可以使用netstat命令来查看实时通信的端口。
另一个很容易得到的工具便是Active Ports, 这是一个免费易用的TCP/IP与UDP端口监视工具,能显示哪些程序打开了那些端口,同时显示与本地IP连接的远程IP地址,可用于检测特洛伊木马和其他黑客程序。Active Ports能显示所有实时的端口连接,这对于决定哪一个程序使用了端口是很有帮助的。如果想要获得更为祥细的资料,可以考虑使用捕获工具Ethereal来捕捉数据的传输。