`

HTTP 三次握手协议

    博客分类:
  • http
阅读更多

阅读目录

  1. wireshark介绍
  2. wireshark不能做的
  3. wireshark VS Fiddler
  4. 同类的其他工具
  5. 什么人会用到wireshark
  6. wireshark 开始抓包
  7. wireshark 窗口介绍
  8. wireshark 显示过滤
  9. 保存过滤
  10. 过滤表达式
  11. 封包列表(Packet List Pane)
  12. 封包详细信息 (Packet Details Pane)
  13. wireshark与对应的OSI七层模型
  14. TCP包的具体内容
  15. 实例分析TCP三次握手过程

wireshark介绍

wireshark的官方下载网站: http://www.wireshark.org/

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。

 

使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

Wireshark不能做的

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

 

Wireshark VS Fiddler

Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。

wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容

 

总结,如果是处理HTTP,HTTPS 还是用Fiddler,  其他协议比如TCP,UDP 就用wireshark

同类的其他工具

微软的network monitor

sniffer 

 

什么人会用到wireshark

1. 网络管理员会使用wireshark来检查网络问题

2. 软件测试工程师使用wireshark抓包,来分析自己测试的软件

3. 从事socket编程的工程师会用wireshark来调试

4. 听说,华为,中兴的大部分工程师都会用到wireshark。

 

总之跟网络相关的东西,都可能会用到wireshark.

wireshark 开始抓包

开始界面

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包

 

Wireshark 窗口介绍

 

WireShark 主要分为这几个界面

1. Display Filter(显示过滤器),  用于过滤

2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

3. Packet Details Pane(封包详细信息), 显示封包中的字段

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

 

Wireshark 显示过滤

使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器有两种,

一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录

一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置

 

保存过滤

在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102",

Filter栏上就多了个"Filter 102" 的按钮。

过滤表达式的规则

表达式规则

 1. 协议过滤

比如TCP,只显示TCP协议。

2. IP 过滤

比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,

ip.dst==192.168.1.102, 目标地址为192.168.1.102

3. 端口过滤

tcp.port ==80,  端口为80的

tcp.srcport == 80,  只显示TCP协议的愿端口为80的。

4. Http模式过滤

http.request.method=="GET",   只显示HTTP GET方法的。

5. 逻辑运算符为 AND/ OR

常用的过滤表达式

过滤表达式 用途
http 只查看HTTP协议的记录
ip.src ==192.168.1.102 or ip.dst==192.168.1.102  源地址或者目标地址是192.168.1.102
   
   

 

 

 

 

 

 

 

封包列表(Packet List Pane)

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。

你也可以修改这些显示颜色的规则,  View ->Coloring Rules.

 

封包详细信息 (Packet Details Pane)

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为

Frame:   物理层的数据帧概况

Ethernet II: 数据链路层以太网帧头部信息

Internet Protocol Version 4: 互联网层IP包头部信息

Transmission Control Protocol:  传输层T的数据段头部信息,此处是TCP

Hypertext Transfer Protocol:  应用层的信息,此处是HTTP协议

 

wireshark与对应的OSI七层模型

TCP包的具体内容

 从下图可以看到wireshark捕获到的TCP包中的每个字段。

 

 

实例分析TCP三次握手过程

看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例

 

 三次握手过程为

 

这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入 http://www.cnblogs.com/tankxiao

在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",

这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

 

第一次握手数据包

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

第二次握手的数据包

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

第三次握手的数据包

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

 就这样通过了TCP三次握手,建立了连接

分享到:
评论

相关推荐

    三次握手于四次挥手.docx

    在HTTP通信过程中,TCP的三次握手和四次挥手起着至关重要的作用,确保了连接的建立和终止的正确性。下面将详细解释这两个过程。 ### 三次握手 三次握手是为了在客户端和服务器之间建立一个可靠的连接。具体步骤...

    wireshark抓包分析tcp三次握手四次挥手

    在TCP/IP通信中,TCP连接的建立和关闭过程分别称为三次握手和四次挥手,这两个过程对于理解TCP连接的工作原理至关重要。 首先,我们来详细讲解TCP的三次握手过程: 1. **第一次握手**:客户端(Client)发送一个...

    TCP/IP的三次握手建立连接(带图释)

    总的来说,TCP/IP的三次握手是确保可靠连接的关键机制,它保证了客户端和服务器之间的通信能够准确无误地开始,为后续的HTTP、FTP等应用层协议提供了坚实的基础。对于任何涉及网络技术的人员来说,深入理解TCP/IP...

    网络协议,TCP三次握手,四次挥手

    这个过程被称为“三次握手”。第一次握手,客户端发送一个SYN同步包给服务器;第二次握手,服务器回应一个SYN+ACK包,同时自己也发送一个SYN包;第三次握手,客户端再发送一个ACK包,确认服务器的SYN。这样就建立了...

    wireshark抓包分析tcp三次握手四次挥手详解及网络命令

    通过对Wireshark抓包分析TCP三次握手四次挥手的详细了解,我们可以更深入地理解TCP/IP协议的工作原理,这对于网络故障排查、性能优化等方面都有着重要的意义。此外,掌握Wireshark这样的工具也是提高网络技能不可或...

    tcp三次握手

    ### TCP三次握手详解 #### 一、TCP协议概述 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过三次握手建立连接,确保了两端之间的通信能够准确无误地进行。 #...

    Wireshark基本介绍和学习TCP三次握手

    TCP是一种面向连接的、可靠的传输层协议,三次握手是TCP连接建立的关键步骤。这个过程确保了两个通信端点都能正确地建立连接,防止了数据丢失或重复发送。以下是三次握手的具体步骤: 1. **SYN(同步序列号)**:...

    tcp3次握手实验报告

    捕获TCP连接的过程的数据包。 2)分析三次握手建立TCP连接的过程,描述数据包序列图。(包括 SYN标志和SEQ值) 1)检查FTP交互数据报文中用户名和密码是否用明文传送

    计算机网络协议分析实验报告 TCPIP三次握手

    ### 计算机网络协议分析实验报告:TCP/IP三次握手 #### 一、实验背景及目的 本实验旨在通过对TCP/IP协议族中的DHCP协议以及TCP三次握手过程进行深入分析,帮助学生理解计算机网络的基本原理和技术特点。实验通过...

    传输协议TCP三次握手

    TCP三次握手是TCP连接建立过程中不可或缺的步骤,确保了双方都能正确理解彼此的连接请求,避免了网络中的失效连接请求和数据包乱序等问题。 在TCP三次握手过程中,主要有以下三个阶段: 1. 第一次握手:客户端发送...

    巧解HTTP三次握手四次挥手流程(超详细).docx

    ### TCP 三次握手详解 #### 一、TCP建立流程 **TCP三次握手**是指客户端与服务器之间为了建立连接而进行的交互过程。该过程确保了客户端和服务端能够准确地识别对方,并通过同步序列号和确认号来确保数据传输的...

    三次握手,四次挥手

    在探讨三次握手和四次挥手之前,我们首先需要理解它们所处的大背景——TCP/IP协议族及其工作原理。 **TCP/IP协议族**是Internet的核心协议之一,用于描述计算机之间如何通信的一系列规则和技术。它主要包括四个层次...

    tcp/ip,三次握手四次死挥手

    TCP/IP 协议群,三次握手四次死挥手 TCP/IP 协议群是计算机网络中最重要的基础协议之一,它是指一组使用 IP 进行通信时所必须用到的协议的统称。TCP/IP 协议群包括 IP、ICMP、TCP、UDP、TELNET、FTP、HTTP 等协议,...

    网络协议动画演示

    本资源"网络协议动画演示"旨在通过生动的动画形式,帮助理解这些复杂的概念,特别是三次握手原理。 网络协议的主要目标是为数据交换提供标准格式和过程,以便于不同系统的互联。其中,TCP/IP(传输控制协议/互联网...

    使用wireshark抓包分析TCP三次握手.doc

    通过Wireshark,不仅可以分析TCP三次握手,还可以深入理解其他网络协议,如HTTP、HTTPS等。对于HTTPS,由于其加密特性,Wireshark无法直接解密内容,但可以通过查看TCP流(`tcp.stream`过滤器)来了解通信的大致结构...

    05-TCP三次握手四次挥手.md

    对于前端工程师而言,理解TCP的工作原理是相当重要的,尤其是在面试中,面试官可能会询问与TCP连接的三次握手和四次挥手相关的问题来考察应聘者的基础知识。 首先,TCP是面向连接的、可靠的、基于字节流的传输层...

    TCP通信的三次握手和四次挥手详解.docx

    TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,它通过三次握手来建立连接,而通过四次挥手来断开连接。在计算机网络的参考模型中,TCP 属于传输层,与应用层(如HTTP、FTP)、网络层...

    11 - tcp三次握手-并发服务器.pdf

    总结起来,本资料主要涉及TCP的三次握手建立连接、四次挥手断开连接的过程,滑动窗口的概念以及网络协议、服务器、并发服务器的实现,包括多进程和多线程模型,以及在实际应用中如nginx的使用。理解并掌握这些知识点...

Global site tag (gtag.js) - Google Analytics