zoukankan      html  css  js  c++  java
  • 利用wireshark抓取TCP的整个过程分析。

    原文地址:https://www.cnblogs.com/NickQ/p/9226579.html 

    最近,已经很久都没有更新博客了。看看时间,想想自己做了哪些事情,突然发现自己真的是太贪心,到头来却一个都没搞好。手头的嵌入式都还没学出名堂,竟然还想着学FPGA,物联网,机器学习。然而,遇到新奇的事物,就会控制不住的去想,去找资料,实际上只是逃避遇到的问题,不想去解决而已。。最后的结果就是手头的活堆起来了,然后花大把整块的时间解决。真的是讨厌现在的自己。

    以后还是慢慢记录吧,不管做了什么,都慢慢尝试积累。。其他的东西,像FPGA,机器学习什么的,让他随风去吧,用到啥学啥。其他的当看客,了解了解就好。

    这是计算机网络的一次作业,学习抓取TCP/IP建立连接和断开连接的过程,以下是正文:

    步骤:

    首先尝试抓百度,腾讯等网络连接,发现会有许多问题需要考虑,断开连接操作不好操作,且数据冗杂不利于学习。

    所以借助手机和电脑完成此次过程,操作如下:

    1、在手机端,安装TCP测试工具,开启TCP监听,端口8088;

    2、打开wireshark监听WIFI网卡。

    3、打开电脑端TCP测试客户端,连接TCP服务器。

    此处,我的手机IP为192.168.255.5,端口8088;电脑的IP地址为192.168.255.6。

    4、通过电脑客户端,发送两次信息到手机。

    5、通过手机客户端,发送两次信息到电脑。

    6、断开连接。

    7、通过ip.addr eq 192.168.255.5 and ip.addr eq 192.168.255.6 and tcp过滤掉其他报文。

    至于wireshark过滤的语法,可以参考其他的一些博文:https://blog.csdn.net/wojiaopanpan/article/details/69944970

    协议及过程分析:

    TCP三次握手:如下图中蓝色方框所示。

    TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;如下图中报文No.7

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;如下图中报文No.8

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据。如下图中报文No.9

    TCP四次挥手:如上图中红色方框所示。

    注:此处,由于先断开的服务器,所以手机服务器是客户端A。

    第一次挥手:客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。

    如图中报文No.255

    第二次挥手:服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。如图中报文No.256

    第三次挥手:服务器B关闭与客户端A的连接,发送一个FIN给客户端A。如图中报文No.257

    第四次挥手:客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。如图中报文No.258

    其他:

    下图是其中一帧数据解析,可以看到数据是由192.168.255.6:62643(电脑客户端)发送给192.168.255.5:8088(手机服务端)。

    消息内容为:201521111083

  • 相关阅读:
    ThreadPoolExecutor的corePoolSize、maximumPoolSize和poolSize
    ThreadPoolExecutor线程池的一个面试题
    SpringBoot 集成Jedis操作set
    死磕JVM之类中各部分的加载顺序
    ThreadLocal为什么会内存泄漏
    有趣的RPC理解
    MQ如何解决消息的顺序性
    Collections.sort排序
    对象的内存分析
    类与对象的分析
  • 原文地址:https://www.cnblogs.com/NickQ/p/9226579.html
Copyright © 2011-2022 走看看