玩明白了以太网2的二层数据格式, ip格式 tcp/udp个时候, 需要玩一玩一些有用的基于这些已上的协议数据了. 如 dhcp ftp等.比较有趣.
ftp协议
分控制连接21端口 和数据连接 20端口
数据连接站在服务端角度来讲分两种模式: 主动模式(服务端主动用自己的20端口去连客户端,适合防火墙)
被动模式(服务端被动等客户端来连服务端的一个随机端口.)
每个协议都有控制层面(对应控制报文),和数据层面(对应的传输数据,有些只有控制层面,如dhcp不需要传数据)
FTP服务端会监听2个端口, 控制进程20,数据进程21(主动模式)
数据连接,站在服务器角度,有2种模式:
主动模式:ftp server从20端口主动向客户端发起连接,由于源端口固定,所以适用于模式防火墙模式.
被动模式:ftp server被动等待客户端来连我的这个端口(控制连接后会告知会将passive ip/port告知了客户端)
一般情况下默认都是被动模式
ftp两种模式
原图和两枚ftp数据包: https://github.com/lannyMa/scripts/tree/master/pkgs/ftp
主动模式数据交互过程
14.1 客户端 14.128服务端
建立控制连接,3次握手, 客户端连服务端21端口
待连接建立后,客户端告知服务端 active ip/port
服务端主动和客户端建立数据连接(站在服务端角度,是服务端主动去找客户端)
传输数据
断开数据连接
断开控制连接
被动模式数据交互过程
客户端主动去和服务端建立控制连接
服务端告知客户端passive mode /ip/port
客户端主动去和服务端建立数据连接(站在服务端角度,是服务端被动等客户端)
客户端和服务端之间断开数据连接
客户端和服务端之间断开控制连接
[svc]ftp协议数据连接的2种模式的更多相关文章
- ftp协议 主动和被动两种模式模式
-
[转]VMware Workstation网络连接的三种模式
经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白.现总结如下: 1. VMware Workstation的虚拟网络组 ...
-
协议中UART的两种模式 【转】
转自:http://wjf88223.blog.163.com/blog/static/3516800120104179327286/ ^^…… 协议栈中UART有两种模式:1.中断2.DMA 对于这 ...
-
理解VMware虚拟机下网络连接的三种模式(如何配置虚拟机上网)
很多朋友都用vmware来测试不同的系统,我结合自己的经验谈一下对网络设置的理解,不对的地方请指正. bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两 ...
-
Jedis连接Redis三种模式
这里说的三种工作模式是指: 1.单机模式 2.分片模式 3.集群模式(since 3.0) 说明图详见以下: 使用单机模式连接: private String addr="192.168.1 ...
-
[币严区块链]ETH搭建节点区块数据同步的三种模式:full、fast、light
ETH 全节点Archive(归档)模式数据量增长图 上述图表可通过链接查看:https://etherscan.io/chartsync/chainarchive 通过上表,可以看到截止2019年 ...
-
Linux初学之vmware Workstation 网络连接三种模式
简介: VM(VMware Workstation简称VM,后面都将用VM代替阐述)是一款功能强大的虚拟化软件.VM支持在 单一的桌面上同时运行多款不同的操作系统,能够模拟完整的网络环境,支持pxe功 ...
-
FTP协议的粗浅学习--利用wireshark抓包分析相关tcp连接
一.为什么写这个 昨天遇到个ftp相关的问题,关于ftp匿名访问的.花费了大量的脑细胞后,终于搞定了服务端的配置,现在客户端可以像下图一样,直接在浏览器输入url,即可直接访问. 期间不会弹出输入用户 ...
-
FTP文件传输协议两种模式 ftp协议集,错误码集,ftp客户端命令集
TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20.FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置.联接的方式.甚至是是否使用相同的操 ...
随机推荐
-
巧用freemarker
使用Freemarker宏进行可扩展式模块化编程 该文是转载而来,并非我本人所写,但是觉得真心不错,所以收藏一下 一.前言 今天的文章聊一下freemarker的一些特性:宏,我们将使用它写出一些模块 ...
-
bbs网站 models
bbs网站 models #!/usr/bin/env python #_*_coding:utf-8_*_ from django.db import models from django.cont ...
-
为 WordPress 标签添加 rel=";nofollow"; 属性
WordPress 标签默认并无 rel="nofollow" 属性.rel="nofollow" 属性的作用是:告诉搜索引擎,无需追踪目标页,禁止蜘蛛爬行和传 ...
-
android ble connect slowly
Hi I'm writing an Android app to connect to a BLE peripheral device. Android 4.4.2, Galaxy Nexus. I ...
-
html5系列.基础知识
兼容性问题 创建一个html5页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
-
获取Winform窗体、工作区 宽度、高度、命名空间、菜单栏高度等收集
MessageBox.Show("当前窗体标题栏高"+(this.Height - this.ClientRectangle.Height).ToString());//当前窗体标 ...
-
SpringBoot使用Spring Initializer
IDE都支持使用Spring的项目创建Spring的项目创建向导,快速创建一个SpringBoot项目:选择我们需要的模块:向导会联网创建SpringBoot项目:默认生成的SpringBoot项目: ...
-
Guiceberry+Webdriver+TestNG
1. Guiceberry Leverage Guice to achieve Dependency Injection on your JUnit tests https://code.google ...
-
MetaMask/metamask-extension-provider
用来探测你的浏览器中有没有安装metamask插件 https://github.com/MetaMask/metamask-extension-provider MetaMask Extension ...
-
How To Pronounce 3-Syllable Phrases
How To Pronounce 3-Syllable Phrases Share Tweet Share Tagged With: 3-Syllable Learn about the stress ...