关于Wireshark抓包工具

2020-10-19  本文已影响0人  晓伟很努力

<meta charset="utf-8">
https://www.jianshu.com/p/d3725391af59 看不见

一。简介

       Wireshark(前称Ethereal)是一个网络封包分析软件,支持多平台的包抓取分析的开源软件,Wireshark使用WinPcap作为接口,直接与网卡进行数据报文交换。

二、特点

        安装方便,简单易用的界面,提供丰富的功能

三、功能

    1、支持UNIX和Windows等多平台

    2、在接口实时捕捉包

    3、能详细显示包的详细协议信息

    4、可以打开/保存捕捉的包

    5、可以导入导出其他捕捉程序支持的包数据格式

    6、可以通过多种方式过滤包

    7、多种方式查找包

    8、通过过滤以多种色彩显示包

    9、创建多种统计分析

四、界面的组成

image

五、结合抓包数据分析TCP三次握手过程

image

关于TCP三次握手过程如下:

        第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN SENT状态,等待服务器确认;SYN:即是同步序列编号(Synchronize Sequence Numbers);

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

        第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

<meta charset="utf-8">

四次挥手(Four-Way-Wavehand)

1.意义:当被动方收到主动方的FIN报文通知时,它仅仅表示主动方没有数据再发送给被动方了。但未必被动方所有的数据都完整的发送给了主动方,所以被动方不会马上关闭SOCKET,它可能还需要发送一些数据给主动方后,再发送FIN报文给主动方,告诉主动方同意关闭连接,所以这里的ACK报文和FIN报文多数情况下都是分开发送的。

2.原理:

1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。

2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。

3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。

4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手

通俗的说法

1)Client:我所有东西都说完了

2)Server:我已经全部听到了,但是等等我,我还没说完

3)Server:好了,我已经说完了

4)Client:好的,那我们的通信结束l

image

备注:
对应的面试题参考:
https://blog.csdn.net/qq_38950316/article/details/81087809

上一篇下一篇

猜你喜欢

热点阅读