ftp

 

ftp实现的目标 1.促进文件的共享(计算机程序或数据)

2.鼓励间接或者隐式的使用远程计算机

3.向用户屏蔽不同主机中各种文件存储系统的细节

4.可靠和高效的传输数据

缺点:

1.密码和文件内容都使用明文传输,可能产生不希望发生的窃听。

2.因为必须开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题通过使用被动模式的FTP得到了很大解决。

3.服务器可能会被告知连接一个第三方计算机的保留端口。

FTP虽然可以被终端用户直接使用,但是它是设计成被FTP客户端程序所控制。

运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。

 

image

文件传输协议  C/S

server      windows   (iis   server-u)

               linux    wu-ftp    vsftp

 

client         浏览器

                cmd   (主机支持TCP/IP)

                cuteftp   leapftp   专业ftp客户端

 

  ftp   应用层协议   TCP   21/20      连接控制/传递数据

  注

网络协议

应用层DNS, FTP, ENRP,HTTP, IMAP, IIRC, NNTP, POP3, SIP, SNMP, SSH, Telnet, BitTorrent, DHCP...

传输层DCCP, SCTP, TCP, RTP, UDP, IL, RUDP, ...

网络层IPv4, IPv6...

数据链路层以太网, Wi-Fi , 令牌环, MPLS, PPP...

物理层RS-232, EIA-422, RS-449, EIA-485, 10BASE2 10BASE-T...

         工作模式     1 主动模式

                         2 被动模式

        yum  list  vsftp*

        yum  info vsftp // 查询相关信息

        yum  install  -y vsftp

        rpm  -qc vsftp (查询哪些可配置)

        vim  /etc/vsftp/vsftp.conf

        chkconfig  vsftp on

        service  vsftp  start

        netstat  -tupln   |grep  ftp

 

 

      useradd  user1 vsftp 127.0.0.1

       echo  “123” |passwd  --stdin  user1

 

                                     anonymous  匿名

                               匿名登录  邮箱地址可做密码

cmd   登录ftp

dir

!dir  /查询自己

put  上传

get  下载一个

mget  下载多个

cd  远程切换

lcd  本地切换

 

被动控制  

          vim /etc/vsftp/vsftp.conf

    pasv_min_port

 

 

 

 

ftps

        ftp+ssl

 

yum list all  |grep wireshark

tshark  -ni  eth0  -R  “tcp  dstport  eq 21”  //-R 条件  tshark  抓包

1.CA

2 ftp  钥匙  请求文件  证书

 

1 CA

openCA的配置

cd /etc/pki

vim /tls/openssl.cnf

45行  dir =/etc/pki/CA

88行-90行  改为 =/match/option

cd CA

mkdir  crl  certs  newcerts

touch  index.txt  serial

echo   “01” >serial

ll

 

创建CA私钥

openssl  genrsa   1024 >private/cakey.pem  

openssl  req –new –x509 -key private/cakey.pem  -days  3650

//  钥匙  请求文件

chmod  600 private/cakey.pem

 

2 ftp设置

mkdir /etc/vsftpd/certs

cd /etc/vsftpd/cert

ll

openssl  genrsa   1024 >vsftpd.key    钥匙

openssl  req –new  -key vsftpd.key –out vsftpd.csr   请求文件

 

   

openssl  ca  -in  vsftpd,csr  -out  vsftpd.cert

chmod  600  *

 

3 ftp服务器+证书

man 5  vsftp.conf    //  查询vsftp.conf的编辑

vim   /etc/vsftpd/vsftpd.conf

 

添加 force_local_logins_ssl=YES

       force_local_data_ssl=YES

        ssl_enable=YES

        ssl_tlsv1=YES

        ssl_sslv2=YES

        ssl_sslv3=YES

       rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert

      rsa_private_file=/etc/vsftpd/certs/vsftpd.key

 

重启服务

service vsftpd restart

 

抓包   wireshark

yum list all |grep wireshark

  有 tshark工具

tshark –ni eth0  -R  “tcp.dstport eq 21”

history

   如果有13行

  !13  tshark  …  抓包  检测