打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
弱电入门工具集 | Wireshark 常用命令
userphoto

2023.11.07 四川

关注

Wireshark是一款网络协议分析工具,可以实时捕获和交互式浏览网络上的数据包。Wireshark 特别强大,门槛也比较高,以下是Wireshark中的一些常用操作和功能,如果有兴趣,可以给我留言,我再出一篇详细教程:

基础知识

  • Wireshark简介:Wireshark是一款网络协议分析工具,可以实时捕获和浏览发送在网络上的数据包。
  • 安装与启动:访问Wireshark官网下载安装包,按照提示完成安装。打开软件,选择网络接口卡开始捕获数据包。

常用过滤技巧

  • 源IP与目的IP过滤:在过滤器中输入ip.src == [源IP]或ip.dst == [目的IP]。
  • 端口过滤:输入tcp.port == [端口号]或udp.port == [端口号]。
  • 协议过滤:直接输入协议名称,如icmp、tcp、udp等。
  • HTTP模式过滤:输入http.request或http.response。
  • 组合过滤:使用连接符and,如ip.src == [源IP] and tcp.port == [端口号]。

TCP连接分析

  • TCP标志位:了解SYN、ACK、RST、UTG、PSH、FIN等标志的含义和作用。
  • 三次握手与四次挥手:理解TCP的连接建立和关闭过程,以及各个阶段发送的数据包类型。

实际应用与深入学习

  • 调整时间格式:在Wireshark中,可以调整时间格式以便于分析。
  • 高级功能学习:探索Wireshark的高级功能,如流量图、协议层次统计等。
  • 网络安全应用:学习Wireshark在网络安全领域的应用,如检测异常流量、分析攻击行为等。

思考与拓展

  • 过滤技巧的实际应用:如何灵活运用Wireshark的过滤技巧来快速定位问题?
  • TCP连接的深入理解:为什么了解TCP连接中的各种标志对于网络分析是重要的?
  • Wireshark的进阶学习:学习Wireshark的哪些高级功能会更有助于提高工作效率?

相关资源链接

  • Nmap使用教程
  • Wireshark官方文档

常用指令:捕获数据包

操作

用途

举例

Start Capture

开始捕获数据包

点击工具栏上的“开始捕获”按钮

Stop Capture

停止捕获数据包

点击工具栏上的“停止捕获”按钮

Open Capture File

打开已保存的捕获文件

选择“文件”>“打开”

Save Capture File

保存捕获的数据包

选择“文件”>“保存”

Apply Display Filter

应用显示过滤器,仅显示符合条件的数据包

在顶部的显示过滤器栏输入条件,如ip.addr == 192.168.1.1

Clear Display Filter

清除当前的显示过滤器

点击显示过滤器栏旁的“清除”按钮

常用指令:分析数据包

操作

用途

举例

Follow TCP Stream

查看TCP流中的数据

右键点击一个TCP数据包,选择“Follow”>“TCP Stream”

Decode As

以特定协议解码数据包

右键点击一个数据包,选择“Decode As”

Statistics

查看网络统计信息

选择“统计”>“协议分级”

Conversations

查看网络会话

选择“统计”>“会话”

Endpoints

查看网络端点

选择“统计”>“端点”

IO Graph

查看输入/输出图表

选择“统计”>“IO图表”

Export Objects

导出数据包中的文件对象

选择“文件”>“导出对象”

常用指令:高级功能

操作

用途

举例

Create Filter

创建并保存自定义过滤器

在显示过滤器栏右键点击,选择“新建过滤器”

Colorize Packet

为特定类型的数据包着色

在数据包列表右键点击,选择“着色规则”

Add or Edit Column

添加或编辑显示列

在数据包列表的列标题右键点击,选择“列首选项”

Set Time Reference

设置时间参考点

在数据包列表右键点击,选择“设置时间参考”

Annotate Packet

为数据包添加注释

在数据包列表右键点击,选择“注释”

Compare Two Capture Files

比较两个捕获文件的差异

使用“文件”>“合并”将两个文件合并,然后进行比较

Wireshark提供了丰富的功能和操作,可以帮助网络分析师深入了解网络通信的细节,定位和解决网络问题。

例子:根据端口过滤,查找服务端主动断开问题

根据端口过滤

服务端端口是7018,和客户端建立socket连接,根据服务端的端口找到2者通信的所有socket数据(客户端进入房间后会异常断开,判断是客户端导致的还是服务端导致的)

tcp.port==7018,最后的RST报文是服务端发起的,说明是服务端主动断开的,缩小问题范围

仅从抓包信息看是服务器的一个流量控制机制启动了。服务器发回rst位,同时win置为0,是告诉客户端不要发包。按tcp流控机制来说,此时客户端应该停止发包,直至服务器发送信息告诉客户端可以继续发送。

标志位说明:

TCP连接:SYN ACK RST UTG PSH FIN
三次握手:发送端发送一个SYN=1,ACK=0标志的数据包给接收端,请求进行连接,这是第一次握手;
接收端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让发送端发送一个确认数据包,这是第二次握手;
最后,发送端发送一个SYN=0,ACK=1的数据包给接收端,告诉它连接已被确认,这就是第三次握手。之后,一个TCP连接建立,开始通讯。

*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)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。

*RST:复位标志
复位标志有效。用于复位相应的TCP连接。

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

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

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

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
TCP标志位
TCP协议:三次握手,四次挥手
TCP UDP报文解析
Wireshark抓包工具使用教程以及常用抓包规则
TCP的三次握手是怎么进行的?
iptables(6):iptables扩展匹配条件之“-tcp-flag”
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服