wireshark实用常规操作

文章目录

·常用命令
·tcp协议基础
·wireshark分析技巧
复制代码

一、常用命令

1.过滤源ip、目的ip
ip.add == 127.0.0.1 //过滤所有地址为127.0.0.1的包
ip.dst == 127.0.0.1 //过滤源ip为127.0.0.1的包
ip.src == 127.0.0.1 //过滤目标ip为127.0.0.1的包
复制代码

2.过滤源ip、目的ip

tcp.port == 80 //过滤所有端口为80的包
tcp.dstport == 80 //只过滤目的端口为80的包
tcp.srcport == 80 //只过滤源端口为80的包
复制代码

3.过滤data中含有的内容

//过滤出包数据中含有”somethings“的内容
data.data contains "somethings" 
复制代码

二、tcp协议基础

1.三次握手连接

【第一次握手】发送端发送一个"SYN=1,ACK=0"标志的数据包给接收端,请求进行连接 
【第二次握手】接收端收到请求并且允许连接的话,就会发送一个"SYN=1,ACK=1"标志的数据包给发送端,告诉他可以通信了
【第三次握手】发送端发送一个"SYSN=0,ACK=1"的数据包给接收端,告诉他连接已被确认
复制代码

实例如下:(场景: 10.60.45.59发送端 10.60.45.13接收端)

三、wireshark分析技巧

1、指令说明

*SYN:同步标志--表示建立连接
同步序列编号(Synchronize Sequence Numbers)栏有效。
该标志仅在三次握手建立TCP连接时有效。
它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。
在这里,可以把 TCP序列编号看作是一个范围从0到4,294,967,295的32位计数器。通过TCP连接交换的数据中每一个字节都经过序列编号。
在TCP报头中的序列编号栏包括了TCP分段中第一个字节的序列编号。

*ACK:确认标志--表示响应
确认编号(Acknowledgement Number)栏有效。大多数情况下该标志位是置位的。TCP报头内的确认编号栏内包含的确认编号(w+1,Figure-1)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。

*PSH:推标志--表示有data数据传输
该标志置位时,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理。在处理 telnet 或 rlogin 等交互模式的连接时,该标志总是置位的。

*FIN:结束标志--表示关闭连接
带有该标志置位的数据包用来结束一个TCP回话,但对应端口仍处于开放状态,准备接收后续数据。

*RST:复位标志--表示连接重置
复位标志有效。用于复位相应的TCP连接。

*URG:紧急标志
紧急(The urgent pointer) 标志有效。紧急标志置位,
复制代码

2、常见情况分析

TCP的几个状态对于我们分析所起的作用。
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于我们日常的分析有用的就是前面的五个字段。
TCP的几次握手就是通过这样的ACK表现出来的。但"SYN与FIN是不会同时为1的",因为前者表示的是建立连接,而后者表示的是断开连接。
RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。一般地,当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;
而当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接。
PSH为1的情况,一般只出现在DATA内容不为0的包中,也就是说PSH为1表示的是有真正的TCP数据包内容被传递。TCP的连接建立和连接关闭,都是通过请求-响应的模式完成的。
复制代码
我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章