zoukankan      html  css  js  c++  java
  • wusir FTP与HTTP文件传输之TCP Packet解析

    向服务器传输文件(上传或下载)时,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命令之后的文件名来判断。
  • 相关阅读:
    Linux安全-通过修改/etc/hosts.deny拒绝远程ssh暴力破解
    JS-二进制的处理者:Blob
    JS-二进制数据缓冲区ArrayBuffer
    axio源码分析
    【js】appendChild()具有移动性
    js实现-二进制数据转换为blob
    实现点击下载到本地的功能
    memo、useMemo、useCallback
    memoization缓存优化
    什么是纯函数?
  • 原文地址:https://www.cnblogs.com/wusir/p/3405412.html
Copyright © 2011-2022 走看看