精华内容
下载资源
问答
  • WireShark分析TCP协议

    千次阅读 2014-09-29 15:20:14
    摘要: 利用wireshark分析TCP协议的报文,和其基本行为,包括三次握手,中间信息的交互,和最后的断开连接。其中通过中间信息的交互,可以看出TCP的累积式确认。 一:基本TCP报文分析
    摘要:
    利用wireshark分析TCP协议的报文,和其基本行为,包括三次握手,中间信息的交互,和最后的断开连接。其中通过中间信息的交互,可以看出TCP的累积式确认。


    一:基本TCP报文分析


    我们来看一个简单的TCP报文,现在蓝字选中的是源端口号,我们可以看到在这个报文中是14065,下面对应的是相应的二进制代码,我们可以看到的确是16bit。紧随其后的16bit就是目的端口号。
    下面是序号,Sequence number: 1169。接下来的32bit是确认号,Acknowledgement number: 19353。再后面是首部长度,Header length: 20 bytes,和未用的3bit数据。
    0= Urgent:Not set,1=Acknowledgement: set,0= Push:Not set,0= Reset:Not set,0= Syn:Not set,0= Fin:Not set,这些表示的是一些标识位,是URG紧急标识,ACK确认标识,PSH推送标识,RST、SYN、FIN用于建立和结束连接。window size value:65535 表示接收窗口。


    二:三次握手分析
    三次握手的第一步,客户机端会向服务器端发送一个特殊的TCP报文段,这个报文段的SYN被置为1,并会发送一个起始序号seq。


    我们看到SYN为1,且Sequence number=0,这样,面对这样的请求报文段,服务器听该返回一个SYN=1,返回自己的初始seq,并且要求主机发送下一个报文段的序号,ack=1。下面是服务端实际返回的报文。



    正如我们所期待的那样,服务器返回了自己的seq=0,并且要求主机端发送下一个报文段,并且SYN=1。这样主机端就应该返回seq=1,ack=1,要求服务端发送下一个报文,并且SYN=0,结束建立连接阶段,结束三次握手。



    主机端返回了seqence number=1,acknowledgement number=1,SYN=10。这样三次握手就基本结束,开始真正的数据传送阶段。

    三:信息的交互
    建立了三次握手后,我们就开始利用这个链接来传送信息了。下面我们看看经过三次握手后的第四个TCP报文段。这是服务器返回来的报文段。



     我们惊奇的发现服务器返回了ack=554,即请求第554Byte的数据,而这553Bytes是什么时候发出去的呢,我们想到了在第三次握手的时候,客户端发送的TCP是能够携带数据的。怎么验证是否携带了553Bytes数据呢,我们想到了HTTP协议封装的报文,我我们来验证一下是否是553Bytes,打开HTTP协议如下。



    我们看到,HTTP协议封装的报文,长度为Bytes in flight:553。表示已经发送了553Bytes,所以,服务器理应返回一个ack=554的确认,以表示接收到了553Bytes以前的数据,希望接受554bytes以及以后的数据。而上面的第四个报文也正是这么做的。
    服务端返回了ack=554之后,服务端没有继续停下,而是继续向客户端发送了两个报文段。我们来看下第五、六个报文段。


    第五个报文段发送了seq=1,ack=554告诉服务端,请求你的554数据,我这是第一个数据,但此报文段里有1380bytes。发完后服务端又发送了第六个报文,如下。


    服务端发送了seq=1381,ack=554,TCP segment data=1380 Bytes,Bytes in flight=2760。
    这表示:我请求第554Bytes,这是我的第1381 Bytes,报文段里一共有1380Bytes,一共传输了2760Bytes。
    这次以后,服务端就暂时歇会了,等待客户端的确认。客户端也确实返回了第七个报文段,如下。

    seq=554,ack=2761.表示:这是我的第554Bytes,收到了前面的2760个Bytes,请求2761个bytes。这个报文之后,服务端会继续给客户端传送数据,这里就不一一列出了。
    我们看到其中服务端多次发送给客户端报文段,而客户端只返回了一个当前正确传输的最大字段,我们可以初步看出TCP是累积式确认的。


    四:断开连接
    断开连接时,要发送FIN=1,并且对方要回复ACK=1。我们来看下截取的报文段。

    我们看到FIN=1。



    返回了ACK=1,结束连接。














    展开全文
  • 首先打开 http://www.baidu.com这个网址... ... ...我们可以看到在出现了三条TCP记录之后才出现了HTTP这也更加相信HTTP是基于TCP协议的。   第一次TCP握手 客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端




    首先打开 http://www.baidu.com这个网址进行抓包。

    首先在过滤器中输入 http过滤




    找到 GET /* /HTTP/1.1






    我们可以看到在出现了三条TCP记录之后才出现了HTTP这也更加相信HTTP是基于TCP协议的。

     

    第一次TCP握手

    客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图





    第二次TCP握手

    服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(AcknowledgementNumber)设置为客户的I S N加1以.即0+1=1, 如下图





    三次握手的数据包

    客户端再次发送确认包(ACK)SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:




    展开全文
  • wireshark分析TCP数据包

    万次阅读 2017-09-09 22:05:16
    TCP/IP协议不清楚请回看TCP/IP协议理论在虚拟机运行ubuntu,通过windows下的cuteftp连接ubuntu,利用wireshark进行抓包分析。出现如下数据帧(注意wireshark如何过滤消息): 其中47,48,49分别是三次握手对应的帧...

    TCP/IP协议不清楚请回看TCP/IP协议理论

    在虚拟机运行ubuntu,通过windows下的cuteftp连接ubuntu,利用wireshark进行抓包分析。出现如下数据帧(注意wireshark如何过滤消息):
    这里写图片描述
    其中47,48,49分别是三次握手对应的帧信息。

    三次握手

    47帧/握手1

    这里写图片描述
    这里写图片描述

    上面信息已经非常明确。这是一个客户机请求连接帧。只设置了SYN标志位。并且初始化序列号和确认应答号都为0.

    48帧/握手2

    这里写图片描述
    这里写图片描述

    信息明确,这是服务器到客户机的握手2,服务器将客户机的序列号+1作为确认序号,并将自己的序列号初始化为0.

    49帧/握手3

    这里写图片描述
    这里写图片描述

    三次握手仅仅交换IP数据报TCP的首部,当握手成功之后,就可以通过上层FTP协议交换信息了。

    展开全文
  • Wireshark抓包——TCP协议分析

    千次阅读 2019-06-11 00:34:17
    通过本次实验,掌握使用Wireshark抓取TCP/IP协议数据包的技能,能够深入分析TCP帧格式及“TCP三次握手”。通过抓包和分析数据包来理解TCP/IP协议,进一步提高理论联系实践的能力。 二. 实验内容 1.本次实验重点:...

    一. 实验目的

    通过本次实验,掌握使用Wireshark抓取TCP/IP协议数据包的技能,能够深入分析TCP帧格式及“TCP三次握手”。通过抓包和分析数据包来理解TCP/IP协议,进一步提高理论联系实践的能力。

    二. 实验内容

    1.本次实验重点:利用Wireshark抓TCP包及TCP包的分析。

    2.本次实验难点:分析抓到的TCP包

    3.本次实验环境:Windows 7,Wireshark

    4.本次实验内容:

    TCP协议是在计算机网络中使用最广泛的协议,很多的应用服务如FTP,HTTP,SMTP等在传输层都采用TCP协议,因此,如果要抓取TCP协议的数据包,可以在抓取相应的网络服务的数据包后,分析TCP协议数据包,深入理解协议封装,协议控制过程以及数据承载过程。两幅图分别是TCP帧格式及TCP三次握手。

     

    三.实验过程

    1. TCP包抓取及分析过程如下:

    第一步,确定使用的协议,使用HTTP服务。选择http://www.sina.com.cn/作为目标地址。

    第二步,启动抓包:点击【start】开始抓包,在浏览器地址栏输入http://www.sina.com.cn。

    第三步,通过显示过滤器得到先关数据包:通过抓包获得大量的数据包,为了对数据包分析的方便,需要使用过滤器,添加本机IP地址和TCP协议过滤条件。

    (1)打开命令提示符,通过ipconfig /all来查看本机IP地址。

    (2)在工具栏上的Filter对话框中填入过滤条件:tcp and ip.addr==196.168.100.131,过滤结果如下:

    结果发现效果不是很好,于是将过滤条件中的IP地址更换为http://www.sina.com.cn的IP地址,操作过程如下:

    (1)打开命令提示符,通过ping www.sina.com.cn来查看目标IP地址。

    (2)打开命在工具栏上的Filter对话框中填入过滤条件:tcp and ip.addr==218.30.66.248,过滤结果如下:

    其中,红色框内即为一个三次握手过程:

    第四步,分析TCP数据包,根据第一幅图中的数据帧格式,分析TCP包的各部分。

    • 原端口/目的端口(16bit)。如下图所示,源端口为443,标识了发送进程;目的端口为3201,标识了接收方进程。

    • 序列号(32bit)。如下图所示,发送序列号Sequence Number为0,标识从源端向目的端发送的数据字节流,它表示在这个报文端中的第一个数据字节的顺序号,序列号是32位的无符号类型,序号表达达到2^32 - 1后又从0开始, 当建立一个新的连接时,SYN标志为1,系列号将由主机随机选择一个顺序号ISN(Initial Sequence Number)。

    • 确认号(32bit)。如下图所示,确认号Acknowledgment Number为1,包涵了发送确认一端所期望收到的下一个顺序号。因此确认序列号应当是上次成功接收到数据的顺序号加1。只有ACK标志为1时确认序号字段才有效。TCP为应用层提供全双工服务,这意味着数据能在两个方向上独立的进行传输,因此连接的两断必须要保证每个方向上的传输数据顺序。

    • 偏移(4bit)。如下图所示,偏移32bytes,这里的偏移实际指的是TCP首部的长度Header length,它用来表明TCP首部中32bit字的数目,通过它可以知道一个TCP包它的用户数据从哪里开始。

    • 保留位(6bit)。如下图所示,保留位Reserved未设置。

    • 标志(6bit)。在TCP首部中有6个标志比特,他们中的多个可同时被置为1。如下图所示:

    URG(Urgent Pointer Field Significant):紧急指针标志,用来保证TCP连接不被中断,并且督促中间设备尽快处理这些数据,图中其值为1。

    ACK(Acknowledgement Field Signigicant):确认号字段,该字段为1时表示应答字段有效,即TCP应答号将包含在TCP报文中,图中其值为1。

    PSH(Push Function): 推送功能,所谓推送功能指的是接收端在接收到数据后立即推送给应用程序,而不是在缓冲区中排队,图中其值为0。

    RST(Reset the connection): 重置连接,不过一搬表示断开一个连接,图中其值为0。

    SYN(Synchronize sequence numbers):同步序列号,用来发起一个连接请求,图中其值为1。

    FIN(No more data from sender)表示发送端发送任务已经完成(既断开连接)。

    • 窗口大小(16bit)。 如下图所示,窗口大小Windows size value为29200,表示源主机最大能接收29200字节。

    • 校验和(16bit)。如下图所示,校验和Checksum为0xc24f,包含TCP首部和TCP数据段,这是一个强制性的字段,一定是由发送端计算和存储,由接收端进行验证。

    • 紧急指针(16bit)。如下图所示,URG标志为1,只有当URG标志置为1时该字段才有效,紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一段发送紧急数据的一种方式。

    • TCP选项。至少1个字节的可变长字段,标识哪个选项有效。Kind=0:选项表结束, Kind=1:无操作, Kind=2:最大报文段长度,Kind=3:窗口扩大因子, Kind=8:时间戳。如下图所示,Kind为2,代表最大报文长度MSS size。

    • 数据部分。当前数据包的数据部分,如下图所示:

     

    2. TCP三次握手:

    第一次握手数据包:客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接,如下图所示(第一条):

    第二次握手的数据包:服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1,如下图所示(第二条):

    第三次握手的数据包:客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方。在进过三次握手后和服务器建立了TCP连接,如下图所示(第三条):

     

    展开全文
  • 建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 先来看看如何建立连接的。 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。...
  • wireshark分析IP协议

    千次阅读 2017-09-07 17:05:49
    TCP/IP协议不清楚请回看TCP/IP协议理论1、ping 10.13.3.213 -l 3000通过ping同一个局域网内的主机,其中通过了两个路由器,并且数据大于3000,IP数据报会分片。ping利用了IP和ICMP协议。可以用来分析这两个协议。 ...
  • 实验过程Wireshark 的使用分析HTTP协议HTTP GET/response 交互HTTP 条件 GET/response 交互TCP 分析浏览追踪信息TCP 基础 1.实验目的 熟悉并掌握 Wireshark 的基本操作,了解网络协议实体间进行交互以及报文交换的...
  • Telnet协议TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在...
  • 利用Wireshark加Lua分析专有网络协议

    千次阅读 2014-03-15 19:11:46
    实战过程: 1.安装wireshark、lua。 2.利用lua为wirashark写一个协议的dissector,并部署到lua上。...其中要注意的一点是TCP协议中的粘包现象(如果是UDP则不考虑),  解决这点的关键是在dissector(buffer, pinfo, tr
  • wireshark tcp三次握手

    2016-08-03 09:05:18
    ubuntu下自己写tcp协议(server.c,client.c,Makefile),通过tcpdump生成 .cap文件后,利用wireshark分析tcp三次握手的整个过程
  • 图解Wireshark协议分析实例

    千次阅读 2016-05-19 15:58:32
    分析实例来自于 https://wiki.wireshark.org/SampleCaptures 一 MPTCP协议相关分析 ...MPTCP协议是一种利用多条路径并发传输的传输层协议,可以提高端到端的吞吐率,增加网络利用率。 IPv6到来的时候,主机的多地址
  • Wireshark抓包——IP协议分析

    千次阅读 多人点赞 2019-06-09 23:12:10
    一. 实验目的 通过本次实验,掌握使用Wireshark抓取TCP/IP协议...1.本次实验重点:利用Wireshark抓IP包及IP包的分析。 2.本次实验难点:分析抓到的IP包。 3.本次实验环境:Windows 7,Wireshark。 4.本次实验...
  • 在这一部分,我们通过与远程服务器之间发送 150KB 的文件来分析 TCP 数据包的发送和接收。研究内容包括: TCP利用序列号和确认号来提供的可靠数据传输 TCP 拥塞控制算法中的慢启动和拥塞避免 TCP 协议的流控制策略 ...
  • 计算机网路实验三 TCP和UDP协议分析

    千次阅读 2020-11-26 16:56:20
    2、 利用WiresharkTCP和UDP进行协议分析 二、 实验环境 与因特网连接的计算机网络系统;操作系统为windows;Wireshark、IE等软件。 三、 实验步骤 1、 捕获大量的由本地主机到远程服务器的TCP分组 (1) 启动...
  • 数据的获取与分析利用————WinShark抓取数据后(TCP、数据链路层、IP层)UDP层分析 WinShark抓取数据后(TCP、数据链路层、IP层)UDP层分析 1、安装WireShark 2、访问网站主页,并使用工具获取数据包。 图1...
  • TCP/IP网络协议及流程分析

    千次阅读 2017-08-18 20:39:37
    利用wireshark抓包,分析: (1)TCP/IP协议的报文封装方式; (2)主要的TCP/IP协议及其层次结构; (3)以典型网络应用(PPPoE,HTTP,FTP,SMTP/POP3等)的工作原理及流程(例如,以http://www.tsinghua.edu.cn为...
  • openssl s_server默认监听端口4433,wireshark分析此端口时只会按照tcp协议结构解析出协议中的内容。 解决方案:  利用s_server的 -accept蒋坚挺端口调整为443,重新用s_client连接测试,发现wireshark可以正常...
  • 西北工业大学、计算机网络实验内容,ICMP协议,西工大,利用抓包工具wireshark分析ICMP协议
  • 目 录 实验一 Wireshark的安装与使用 3 实验二 使用Wireshark分析以太网帧与ARP协议 6 ...实验六 使用Wireshark分析TCP协议 26 实验七 利用Wireshark分析协议HTTP 32 实验八 利用Wireshark分析DNS协议 37
  • wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的工具,因为最近在研究这个,所以就写一下教程,方便大家学习。 这里先说Wireshark的启动界面和抓包界面 启动界面...
  • Wireshark数据包分析实战(第二版)

    千次下载 热门讨论 2014-06-29 14:24:16
    10.2漏洞利用 10.2.1极光行动 10.2.2ARP缓存中毒攻击 10.2.3远程访问特洛伊木马 10.3小结 第11章 无线网络数据包分析 11.1物理因素 11.1.1一次嗅探一个信道 11.1.2无线信号干扰 11.1.3检测和分析信号干扰 11.2无线...
  • Wireshark网络分析实战 中文完整版带目录 PDF

    千次下载 热门讨论 2016-04-12 07:39:34
    9.2 配置Preferences窗口内protocol选项下的UDP和TCP协议参数,为排除排障 做准备 209 9.3 TCP连接故障 213 9.4 TCP重传现象——源头及原因 219 9.5 重复确认(duplicate ACKs)和快速重传(fast retransmissions)...
  • wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的工具,因为最近在研究这个,所以就写一下教程,方便大家学习。 这里先说Wireshark的启动界面和抓包界面 启动界面...
  • wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的工具,因为最近在研究这个,所以就写一下教程,方便大家学习。 这里先说Wireshark的启动界面和抓包界面 启动界面...
  • 本文详细介绍了一次Telnet进行HTTP访问的过程,并对该过程进行协议上的分析以及...三次握手流程3.TCP协议字段详解4.HTTP报文分片传输与重组5.TCP的seq和ack变化过程6.4次挥手的现实情况--简化版的3次挥手今天才...
  • 本文详细介绍了一次Telnet进行HTTP访问的过程,并对该过程进行协议上的分析以及wireshark抓包分析。文章只是自己记录实验过程所作,内部若有问题还请各路大神... 3.TCP协议字段详解 4.HTTP报文分片传输与重组 5.T...

空空如也

空空如也

1 2 3 4
收藏数 74
精华内容 29
热门标签
关键字:

利用wireshark分析tcp协议