当前位置: 首页 > CCNA >试试如何用wireshark视角来看TCP

试试如何用wireshark视角来看TCP

客服
沈老师思科答疑老师
思博华为金牌讲师
客服
客服
客服
更新时间:2023年03月02日   作者:spoto |  wireshark   wireshark抓包   过滤表达式规则  

都懂哈,wireshark是个啥我就不多赘述了,软件功能十分强大就对了。

使用 wireshark 的人必须了解网络协议,否则大概率看不懂 wireshark

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

wireshark 能获取 HTTP ,也能获取 HTTPS ,但是不能解密 HTTPS ,所以 wireshark 看不懂 HTTPS 中的内容,总结,如果是处理 HTTPHTTPS 还是用 Fiddler,其他协议比如TCPUDP 就用 wireshark

今天,就用wireshark来解析一下TCP三次握手的整体流程。

 

一、Wireshark 抓包

Wireshark 抓包

 

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

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

wireshark 设置对话框

 

 

二、Wireshark 窗口介绍

Wireshark 窗口介绍

WireShark 主要分为这几个界面:

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

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

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

4. Dissector Pane(16 进制数据

5. Miscellanous( 地址栏,杂项

 

三、Wireshark 显示过滤

Wireshark 显示过滤

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

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

过滤器有两种,一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录一种是捕获过滤器, 用来过滤捕获的封包, 以免捕获太多的记录。 

Capture -> Capture Filters 中设置保存过滤。

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

在 Capture -> Capture Filters 中设置保存过滤

 

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

Filter 栏上

 

01 过滤表达式的规则

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 

常用的过滤表达式:

常用的过滤表达式

02 封包列表 (Packet List Pane) 

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。你可以看到不同的协议用了不同的颜色显示。你也可以修改这些显示颜色的规则, View ->Coloring Rules.

封包列表 (Packet List Pane)

封包详细信息 (Packet Details Pane)

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

各行信息分别为:

Frame:物理层的数据帧概况

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

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

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

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

 

四、Wireshark 与OSI七层模型

Wireshark 与OSI七层模型

 

01 TCP 包的具体内容

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

TCP 包的具体内容

 

02 实例分析TCP三次握手过程

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

实例分析TCP三次握手过程

 

这图很多人已经看过N遍了,看到不想再看的程度吧?

这次,我就用 wireshark 实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入http://www.cr173.com,在 wireshark中输入http 过滤。

然后,选中GET /tankxiao HTTP/1.1那条记录, 右键然后点击 "Follow TCP Stream", 这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图:

wireshark 实际分析下三次握手的过程

图中可以看到, wireshark 截获到了三次握手的三个数据包。 

第四个包才是 HTTP 的, 这说明 HTTP 的确是使用 TCP 建立连接的。

 

1. 第一次握手数据包

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

第一次握手数据包

 

2. 第二次握手的数据包

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

第二次握手的数据包

 

3. 第三次握手的数据包

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

第三次握手的数据包

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

 

 

 参考资料 

[1]本文素材整理自网络,部排版成文,转载请注明出处,侵删。

小编送福利时间,CCNA、CCNP、CCIE课程免费试听名额~~立即抢占:

相关课程内容推荐 

 

思科认证备考须知:CCNA 备考指南

思博全新思科课程399活动价限额限时优惠:新版CCNA 课程

思博CCNA课程安排表: CCNA课表

ccna考试流程:CCNA考试流程、考试费用及考场介绍

CCNA入门要点:CCNA 考试时间与报名费

 

免费预约试听课程
热门推荐
最新推荐
bg
客服扫码咨询考证课程

即刻预约

免费试听-咨询课程-获取免费资料