用例子说明FTP的主动模式和被动模式

关于VSFTP的主动模式和被动模式

一,首先我们看两个例子如下:

其中192.168.10.7是服务端,172.16.11.11是客户端

被动模式

# netstat -an |grep 172.16.11.11

tcp        0      0 192.168.10.7:52160          172.16.11.11:16091          TIME_WAIT   

tcp        0      0 192.168.10.7:21             172.16.11.11:15354          TIME_WAIT   

tcp        0 434064 192.168.10.7:43407          172.16.11.11:16220          ESTABLISHED 

tcp        0      0 192.168.10.7:21             172.16.11.11:16090          ESTABLISHED 

tcp        0     52 ::ffff:192.168.10.7:22      ::ffff:172.16.11.11:13939   ESTABLISHED 

主动模式

# netstat -an |grep 172.16.11.11

tcp        0 268488 192.168.10.7:20             172.16.11.11:18434          ESTABLISHED 

tcp        0      0 192.168.10.7:21             172.16.11.11:18433          TIME_WAIT   

tcp        0      0 192.168.10.7:20             172.16.11.11:18426          TIME_WAIT   

tcp        0      0 192.168.10.7:21             172.16.11.11:18425          TIME_WAIT   

tcp        0      0 192.168.10.7:21             172.16.11.11:18418          TIME_WAIT   

tcp        0      0 192.168.10.7:20             172.16.11.11:18420          TIME_WAIT   

tcp        0      0 192.168.10.7:21             172.16.11.11:18369          TIME_WAIT   

tcp        0      0 192.168.10.7:20             172.16.11.11:18397          TIME_WAIT   

tcp        0      0 192.168.10.7:21             172.16.11.11:18387          ESTABLISHED 

tcp        0     52 ::ffff:192.168.10.7:22      ::ffff:172.16.11.11:13939   ESTABLISHED 

二,如上我们不难发现:

被动模式时, 服务端用到21端口,其他大于1024端口,如43407

主动模式时, 服务端用到20端口,21端口

两种模式客户端用到的都是大于1024的端口

由此可以推出21端口是连接控制端口,20端口是数据传输端口(主动模式下)

三,补充,在生产环境下由于防火墙和ACL等对端口控制的很严格,如果想方便服务端的配置可以用主动模式,

但客户端要让他们调好模式,如IE浏览器默认就是用被动模式。

四,另外给vsftpd的主动模式和被动模式的配置放在下面

主动模式

port_enable=YES

connect_from_port_20=YES #数据端口是20即主动模式

ftp_data_port=? #如果数据传输端口不想用20把上面的YES改成NO,这里填上你想设置的端口

被动模式

#PASV MOD

pasv_enable=YES

pasv_min_port=60000

pasv_max_port=60006

五,防火墙iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 60000:60006 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏QQ会员技术团队的专栏

告知你不为人知的 UDP:连接性和负载均衡

说起网络 socket,大家自然会想到 TCP ,用的最多也是 TCP,UDP 在大家的印象中是作为 TCP 的补充而存在,是无连接、不可靠、无序、无流量控制的...

6.3K10
来自专栏云计算与大数据

Linux安全: iptables端口转发

# iptables -t nat -A PREROUTING -p tcp --dport 2201 -j DNAT --to-destination 10....

1553
来自专栏散尽浮华

iptables之NAT端口转发设置

背景: 服务器A:103.110.114.8/192.168.1.8,有外网ip,是IDC的一台服务器 服务器B:192.168.1.150,没有外网ip,A服...

6129
来自专栏友弟技术工作室

iptables系列三

iptables系列之nat及其过滤功能 ? 自定义规则链 iptables -N clean_in iptables -L -n iptables -A ...

2816
来自专栏拭心的安卓进阶之路

Android 进阶12:进程通信之 Socket (顺便回顾 TCP UDP)

不要害怕困难,这是你进步的机会! 前面几篇文章我们介绍了 AIDL 、Binder、Messenger 以及 ContentProvider 实现进程通信的方式...

3627
来自专栏Python

TCP协议三次握手与四次挥手通俗解析

 TCP/IP协议三次握手与四次握手流程解析 一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图: ? 图...

2407
来自专栏北京马哥教育

iptables:防火墙以及网络协议基本原理

一、 Linux 网络安全模型 1. 防火墙: 工作在主机或者网络边缘,对进出报文使用实现定义的规则进行检测,并且由匹配的规则进行处理的一组硬件或者软件。...

3386
来自专栏Linyb极客之路

网络编程之TCP为什么需要3次握手与4次挥手

在谢希仁著《计算机网络》第四版中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网...

933
来自专栏JetpropelledSnake

Python Web学习笔记之TCP的3次握手与4次挥手过程

前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 面向连接意味...

39310
来自专栏网络安全防护

服务器遭到SYN攻击怎么办?如何防御SYN攻击?

SYN洪水攻击是DDOS攻击中最常见的攻击类型之一。是一种利用TCP 协议缺陷,攻击者向被攻击的主机发送大量伪造的TCP连接请求,从而使得被攻击方主机服务器的资...

2260

扫码关注云+社区

领取腾讯云代金券