向服务器传输文件(上传或下载)时,FTP与HTTP是两种最常用的应用层协议,这两个协议都是基于TCP协议之上。如果深入到数据包内(Packet)进行查看时,FTP与HTTP进行文件传输时有什么特征代码呢?
使用最常见的包截获软件WireShark来进行查看,可以发现对于FTP来说,文件的上传与下载分别有如下的特征:
 
对于FTP上传文件,有如下特征:
1、 TCP目标端口为21
2、命令为“STOR”关键字(STOR应该为Store之意)
关键字“STOR”后的参数,即是上传的文件名;
 
对于FTP下载文件,有如下特征:
1、TCP目标端口为21
2、 命令为“RETR”关键字(RETR应该为Retrieve之意)
关键字“RETR”后的参数,即是下载的文件名;
 
对于HTTP的文件传输来说,有如下的特征:
 
HTTP上传文件,有如下特征:
1、 TCP目标端口为80
2、 命令为“POST”关键字
3、 有键名filename,该键名之后的键值即为上传文件名
 
HTTP下载文件,有如下特征:
1、 TCP目标端口为80
2、 命令为“GET”关键字
但GET命令也表现出它的多样性。因为HTTP本身就是一种Web服务协议,使用GET命令的途径有许多,比如下载页面、下载CSS文件、下载JS文件、传递QueryString参数或者是从页面上下载一个图片、下载一个文件(.pdf .rar等非网页文件),所以,GET命令下载的文件具体是做什么用途,需要分析GET命令之后的文件名来判断。

wusir FTP与HTTP文件传输之TCP Packet解析的更多相关文章

  1. vsftpd-基于ftp协议的文件传输服务器软件

    第一部分:在Linux上部署vsftpd服务 1. vsftpd简介 1.1 vsftpd是什么? ftp(File Transfer Protocol)文件传输协议.(实现不同操作系统之间文件的传输 ...

  2. 巧用FTP命令进行文件传输

    巧用FTP进行文件传输   Internet作为现代信息高速公路已深入我们的生活,其中它所提供的电子邮件Web网站信息服务已被越来越多的人所熟知和使用.FTP作为Internet的功能之一,虽然没有像 ...

  3. Linux下常用的文件传输方式介绍与比较

    参考链接:http://mingxinglai.com/cn/2014/03/copy-file-in-linux/ 本文介绍了linux之间传输文件的几种方式,并通过具体实验测试了几种文件传输方式之 ...

  4. 【VSFTP服务】vsftpd文件传输协议

    vsftpd文件传输协议 系统环境:CentOS Linux release 7.6.1810 (Core) 一.简介 FTP(文件传输协议)全称是:Very Secure FTP Server.   ...

  5. Linux 上的常用文件传输方式介绍与比较

    ftp ftp 命令使用文件传输协议(File Transfer Protocol, FTP)在本地主机和远程主机之间或者在两个远程主机之间进行文件传输. FTP 协议允许数据在不同文件系统的主机之间 ...

  6. linux下常用文件传输命令 (转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

  7. Linux上常用的文件传输方式以及比较

    tp ftp 命令使用文件传输协议(File Transfer Protocol, FTP)在本地主机和远程主机之间或者在两个远程主机之间进行文件传输. FTP 协议允许数据在不同文件系统的主机之间传 ...

  8. C# FTP上传文件至服务器代码

    C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo ...

  9. linux下常用文件传输命令(转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

随机推荐

  1. git 回退到某个特定提交

    1.先用git log commit aba290c570d3894f4f39a1fdf52aa512c0231525 Author: huzhengbo <@qq.com> Date: ...

  2. Linux下javaweb环境搭建

    步骤: 1.使用远程工具连接上服务器,例如xsheel(ssh).filezilla(ftp) 2.JDK安装及相关配置 3.Mysql安装及相关配置 4.Tomcat安装及相关配置 5.项目部署及启 ...

  3. Word2007发布博客

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  4. Altera FPGA 开启引脚片上上拉电阻功能

    本博文以矩阵键盘实验为例,介绍了如何开启FPGA管脚的片上上拉电阻. Cyclone IV E FPGA的通用输入输出管脚都支持内部弱上拉电阻,但是时钟输入脚不支持.所以,当需要上拉电阻的信号(如本例 ...

  5. MS EXCEL2013添加Oracle Web ADI菜单

  6. centos top命令列解释

    查看单个进程:top -p 进程号 PID(Process ID):进程标示号 ( 每个 process 的 ID ) USER:进程所有者的用户名 ( 该 process 所属的使用者 ) PR:进 ...

  7. Centos7 Minni 安装 执行ifconfig命令出现 -bash ifconfig command not found 的解决方法

    1) have a root privilege shell or be on the sudo list. 2a) At a root shell prompt (#) yum install ne ...

  8. DevExpress GridControl使用教程:之 添加 checkbox 复选框

    添加一列,FieldName为"FLAG",将ColumnEdit设置为复选框样式. gridview1   =>optionsbehavior =>  editabl ...

  9. QT的配置及目录结构

    作者:一去丶二三里 来源:CSDN 原文:https://blog.csdn.net/liang19890820/article/details/51774724 注意:所有的配置中,/user中的/ ...

  10. 【QT】二进制读取图像文件并显示

    打开对话框选择文件 二进制方式读取文件 转换成图像显示 void MainWindow::showImage() { //打开文件对话框 QString lastPath="D:/Engli ...