FTP服务器使用20和21两个网络端口与FTP客户机进行通信。
FTP服务器的21端口用于传输FTP控制命令,20端口用于传输文件数据。FTP服务器可以在主动模式和被动模式两种数据模式下进行。
主动模式下,FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了某个端口,你过来连接我”。于是服务器从20端口向客户端的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器主动请求,所以成为主动模式。
被动模式下,FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了某个端口,你过来连接我”。于是客户端向服务器的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器被动等待客户端的请求,所以称为被动模式。
由以上几点可以看出,FTP服务器的主动模式和被动模式是以FTP服务器进行数据传输连接的主动或被动为依据的。
当FTP服务器处于主动模式时,在传输数据的过程中(数据链路已建立),在FTP服务器中可以观察到与FTP客户机在21和20两个端口的网络连接
当FTP服务器处于被动模式时,在传输数据的过程中(数据链路已建立),在FTP服务器中可以观察到与FTP客户机在21端口建立的命令链路和一个随机的端口建立的数据链路
tcpdump抓包
举个例子
tcpdump -i eth1 -vs0 host 192.168.1.123 -w 123.pcap
(CTRL + C 停止抓包)
然后把 123.pcap 弄到 wireshark 里去看,wireshark 有 linux 和 windows 不同的版本
补充说明:-v 是在抓包时显示捕获到的包的数量,这个数据会一直变化,好告诉你大概什么时间该停了
同时要注意,用 tcpdump 抓包保存成文件时还要加 -s0 参数
否则默认每个包只抓前 68 字节,放在 wireshark 里看会提示信息不完全的
阅读(1723) | 评论(0) | 转发(0) |