0

    网络基础知识:FTP基本使用

    2023.05.13 | admin | 149次围观

    ID:Computer-network

    有了FTP服务器以后,客户端就可以与其建立连接,进行登录,然后进行文件传输,并实现各种操作,如上传文件/目录、下载文件/目录、列出目录信息等操作。下面介绍FTP操作的基本使用。

    1、构建FTP服务器

    使用FTP服务,首先需要构建一个FTP服务器。为了便于测试,这里使用netwox工具中编号为168的模块,它可以在主机上构建一个FTP服务器。其语法格式如下:

    netwox 168 -l login -L password

    其中,-l选项用来指定FTP服务器登录的用户名;-L选项用来指定FTP服务器登录的密码。

    2、下载文件及校验

    为了检查文件在传输过程中是否有损坏,需要对文件进行校验。一般情况下,会在文件传输之前计算它的哈希值,传输后再次计算它的哈希值。如果两次的哈希值一样,则表示文件没有损坏。netwox工具提供编号为174的模块ftp命令下看本地目录,它可以从FTP服务器端下载文件,并检查它的MD5哈希值。其语法格式如下:

    netwox 174 -i IP -F file -m MD5 -u login -a password

    其中,-i选项指定FTP服务器的IP地址;-F选项指定要下载的文件名称;-m选项指定文件预期的MD5哈希值;-u选项指定FTP服务器登录的用户名;-a选项指定登录的密码。

    已知FTP服务器的IP地址为192.168.59.135,登录用户名为sm,密码为123。在该服务器上有一个file.txt文件。使用netwox工具,下载该文件,并校验其哈希值。

    1)假设文件的哈希值为c23f95941f9e226044a622c925b5fd2b,执行命令如下:

    root@daxueba:~# netwox 174 -i 192.168.59.135 -F file.txt 4566.txt –mc23f95941f9e226044a622c925b5fd2b -u sm -a 123

    执行命令后,没有输出任何信息,表示下载文件file.txt的哈希值和指定值是一致的。

    2)如果提供一个错误的哈希值12345678901234567890123456789012,执行命令如下:

    root@daxueba:~# netwox 174 -i 192.168.59.135 -F file.txt -m 12345678901234567890123456789012 -u sm -a 123

    输出信息如下:

    MD5 is c23f95941f9e226044a622c925b5fd2b instead of 12345678901234567890123456789012

    以上输出信息表示,file.txt文件的MD5哈希值不是12345678901234567890123456789012,而是c23f95941f9e226044a622c925b5fd2b。

    3、列出FTP服务器上目录列表信息

    成功登录FTP服务器以后,用户就可以查看服务器上的目录信息了。netwox工具提供了一个编号为111的模块,它可以列出当前目录下的所有信息,但不能列出子目录中的信息。其语法格式如下:

    netwox 111 -i IP --dir file.txt -u login -a password

    其中,-i选项指定FTP服务器的IP地址;--dir选项指定要列出的目录名称;-u选项指定登录的用户名;-a选项指定登录的密码。

    已知FTP服务器上有一个目录content。使用netwox工具列出该目录中的信息,具体步骤如下:

    1)在FTP服务器上,查看该目录的信息,执行命令如下:

    root@daxueba:~# ls content/

    输出信息如下:

    dir-1 dir-2 file.txt pass-1.txt pass-2.txt

    以上输出信息表示该目录中包含了3个文件和2个目录。

    2)使用netwox工具,在客户端列出该文件夹的目录信息,执行命令如下:

    root@daxueba:~# netwox 111 -i 192.168.59.135 --dir content -u sm -a 123

    输出信息如下:

    pass-1.txt (file of size 23)

    file.txt (file of size 27)

    pass-2.txt (file of size 18)

    dir-2 (dir)

    dir-1 (dir)

    将以上输出信息与步骤(1)的输出信息对比可以看出,成功列出了该目录中的所有信息,包含的文件分别为pass-1.txt,file.txt和pass-3.txt,并且给出了对应的大小。

    4、下载文件

    成功登录FTP服务器以后,用户就可以从服务器上下载文件了。netwox工具提供了编号为112的模块,它可以从FTP服务器上下载指定文件。其语法格式如下:

    netwox 112 -i IP -F file1.txt -f file2.txt -u login -a password

    其中,-i选项指定FTP服务器的IP地址;-F选项指定FTP服务器上的文件名称,即要下载的文件;-f选项指定下载到本机后的文件名称;-u选项指定登录的用户名;-a选项指定登录的密码。

    从FTP服务器上下载文件file.txt,下载后的文件名称命名为keep.txt。执行命令如下:

    root@daxueba:~# netwox 112 -i 192.168.59.135 -F file.txt -f keep.txt -u sm-a 123

    执行命令后没有任何输出信息,但是会成功下载文件file.txt,下载后的文件名为keep.txt。

    5、上传文件

    成功登录FTP服务器以后,用户还可以向服务器上传文件。netwox工具提供了编号为113的模块,实现文件上传功能。其语法格式如下:

    netwox 113 -i IP -f file1.txt -F file2.txt -u login -a password

    其中,-i选项指定FTP服务器的IP地址;-f选项指定要上传的文件名称,即本地文件;-F选项指定上传到FTP服务器后的文件名称;-u选项指定登录的用户名;-a选项指定登录的密码。

    将本地文件keep1.txt上传到FTP服务器上,命名为keep2.txt。执行命令如下:

    root@daxueba:~# netwox 113 -i 192.168.59.135 -f keep1.txt -F keep2.txt –u sm -a 123

    执行命令后没有任何输出信息,但是会将本地文件keep1.txt上传到FTP服务器上,文件名为keep2.txt。

    6、FTP删除文件

    登录FTP服务器后,用户还可以在客户端上删除FTP服务器上的文件。netwox工具提供了编号为114的模块实现该功能。其语法格式如下:

    netwox 114 -i IP -F file -u login -a password

    其中,-i选项指定FTP服务器的IP地址;-F选项指定要删除FTP服务器上的文件名称;-u选项指定登录的用户名;-a选项指定登录的密码。

    删除FTP服务器上的file.txt文件ftp命令下看本地目录,执行命令如下:

    root@daxueba:~# netwox 114 -i 192.168.59.135 -F file.txt -u sm -a 123

    执行命令后没有任何输出信息,但是会将FTP服务器上的file.txt文件删除。

    7、下载目录

    netwox工具中编号为112的模块可以下载指定的文件。如果要下载服务器上某个目录,需要使用编号为114的模块。该模块不仅可以下载目录,还可以列出目录及子目录信息。其语法格式如下:

    netwox 114 -i IP -F DIR1 -f DIR2 -u login -a password

    其中,-i选项指定FTP服务器的IP地址;-F选项指定FTP服务器的目录名称;-f选项用来指定下载的目录在本地显示的目录名称;-u选项用来指定FTP服务器登录的用户名;-a选项用来指定FTP服务器登录的密码。

    已知FTP服务器上有一个目录Dir,使用netwox工具下载该目录的所有内容。具体步骤如下:

    1)查看目录Dir包含的信息,执行命令如下:

    root@daxueba:~# ls Dir -R

    输出信息如下:

    Dir:

    dir-1 dir-2 dir-3 pass.txt

    Dir/dir-1:

    file-1.txt

    Dir/dir-2:

    file-2.txt

    Dir/dir-3:

    file-3.txt

    以上输出信息表示目录Dir中包含了3个子目录,分别为dir-1,dir-2和dir-3,还包含了一个文件pass.txt。在子目录dir-1中包含了一个文件file-1.txt,在子目录dir-2中包含了一个文件file-2.txt,在子目录dir-3中包含了一个文件file-3.txt。

    2)使用netwox工具从FTP服务器下载目录Dir中的所有目录信息,下载后目录名称为DIR,执行命令如下:

    root@daxueba:~# netwox 115 -i 192.168.59.135 -F Dir -f DIR -u sm -a 123

    输出信息如下:

    DIR/dir-3

    DIR/dir-3/file-3.txt

    DIR/dir-2

    DIR/dir-2/file-2.txt

    DIR/pass.txt

    DIR/dir-1

    DIR/dir-1/file-1.txt

    将以上输出信息与步骤1)的输出信息进行对比,可以看出成功下载了所有的信息。

    8、上传目录

    登录FTP服务器以后,用户不仅可以从服务器下载整个目录,还可以将本地的目录上传到FTP服务器。netwox工具提供了编号为116的模块,它可以进行递归上传,将本地目录以及子目录中的内容都上传到服务器。其语法格式如下:

    netwox 116 -i IP -f DIR1 -F DIR2 -u login -a password

    其中,-i选项指定FTP服务器的IP地址;-f选项指定要上传的本地目录名称;-F选项指定上传到FTP服务器的目录名称;-u选项指定登录的用户名;-a选项指定登录的密码。

    将本地目录DIR上传到服务器,上传后的目录名称设置为Mydir,执行命令如下:

    root@daxueba:~# netwox 116 -i 192.168.59.135 -f DIR -F Mydir -u sm -a 123

    输出信息如下:

    DIR/dir-3

    DIR/dir-3/file-3.txt

    DIR/dir-2

    DIR/dir-2/file-2.txt

    DIR/pass.txt

    DIR/dir-1

    DIR/dir-1/file-1.txt

    以上输出信息显示了上传目录的所有文件和子目录,可以看到上传了目录下的子目录dir-1,dir-2,dir-3和多个文件。

    9、递归删除目录

    如果FTP服务器上的某个目录不再需要,可以将其删除。netwox工具中编号为117的模块提供了删除目录的功能。它可以递归删除目录中的所有信息,包括子目录及子目录下的所有内容。其语法格式如下:

    netwox 117 -i IP -F DIR -u login -a password

    其中,-i选项指定FTP服务器的IP地址;-F选项指定要删除的FTP服务器上的目录名称;-u选项指定登录的用户名;-a选项指定登录的密码。

    删除FTP服务器上的Mydir目录,执行命令如下:

    root@daxueba:~# netwox 117 -i 192.168.59.135 -F Mydir -u sm -a 123

    输出信息如下:

    Entering directory Mydir

    Entering directory dir-3

    Deleting file file-3.txt

    Leaving directory dir-3

    Deleting directory dir-3

    Entering directory dir-2

    Deleting file file-2.txt

    Leaving directory dir-2

    Deleting directory dir-2

    Deleting file pass.txt

    Entering directory dir-1

    Deleting file file-1.txt

    Leaving directory dir-1

    Deleting directory dir-1

    Deleting directory Mydir

    以上输出信息显示了递归删除目录内容的整个过程。例如,首先进入目录Mydir。由于该目录中包含子目录dir-3,再进入子目录dir-3中;将该子目录中的文件file-3.txt进行删除,然后离开子目录dir-3,删除该子目录。以此类推,删除指定目录中的所有信息。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论