Wireshark基本用法介绍

1. 介绍

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。
wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。

2. 开始抓包

2.1 选择网卡

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。、
点击Caputre->Interfaces… 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包。

在这里插入图片描述
2.2 窗口介绍
在这里插入图片描述
WireShark 主要分为这几个界面:

a. Display Filter(显示过滤器): 用于过滤
b. Packet List Pane(封包列表): 显示捕获到的封包, 有源地址和目标地址,端口号。
c. Packet Details Pane(封包详细信息): 显示封包中的字段
d. Dissector Pane(16进制数据)
e. Miscellanous(地址栏,杂项)

2.3 Wireshark 显示过滤
在这里插入图片描述

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

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

捕捉过滤器在抓抱前进行设置,决定抓取怎样的数据;显示过滤器用于过滤抓包数据,方便stream的追踪和排查。
捕捉过滤器仅支持协议过滤,显示过滤器既支持协议过滤也支持内容过滤。
两种过滤器它们支持的过滤语法并不一样。

2.3 过滤表达式规则
2.3.1 捕获过滤器捕捉前依据协议的相关信息进行过滤设置

语法:ProtocolDirectionHost(s)ValueLogical OperationsOther expression
例子:tcpdst10.1.1.180andtcp dst 10.2.2.2 3128

示例:
(host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8
捕捉IP为10.4.1.12或者源IP位于网络10.6.0.0/16,目的IP的TCP端口号在200至10000之间,并且目的IP位于网络 10.0.0.0/8内的所有封包。

字段详解:
Protocol(协议):

可能值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果没指明协议类型,则默认为捕捉所有支持的协议。
注:在wireshark的HELP-Manual Pages-Wireshark Filter中查到其支持的协议。

Direction(方向):

可能值: src, dst, src and dst, src or dst
如果没指明方向,则默认使用 “src or dst” 作为关键字。
”host 10.2.2.2″与”src or dst host 10.2.2.2″等价。

Host(s):

可能值: net, port, host, portrange.
默认使用”host”关键字,”src 10.1.1.1″与”src host 10.1.1.1″等价。

Logical Operations(逻辑运算):

可能值:not, and, or.
否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。
“not tcp port 3128 and tcp port 23″”(not tcp port 3128) and tcp port 23″等价。
“not tcp port 3128 and tcp port 23″”not (tcp port 3128 and tcp port 23)”不等价。

2.3.2 显示过滤器对捕捉到的数据包依据协议或包的内容进行过滤

协议过滤语法

语法:Protocol.String1.String2Comparison operatorValueLogical OperationsOther expression
例子:http.request.method==“POST”oricmp.type

string1和string2是可选的。
依据协议过滤时,可直接通过协议来进行过滤,也能依据协议的属性值进行过滤。
按协议进行过滤:snmp || dns || icmp 显示SNMP或DNS或ICMP封包。
按协议的属性值进行过滤:
ip.addr == 10.1.1.1
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
ip.src == 10.230.0.0/16 显示来自10.230网段的封包。
tcp.port == 25 显示来源或目的TCP端口号为25的封包。
tcp.dstport == 25 显示目的TCP端口号为25的封包。
http.request.method== "POST" 显示post请求方式的http封包。
http.host == "tracker.1ting.com" 显示请求的域名为tracker.1ting.com的http封包。
tcp.flags.syn == 0×02 显示包含TCP SYN标志的封包。

内容过滤语法
a. 深度字符串匹配

contains :Does the protocol, field or slice contain a value
示例
tcp contains "http" 显示payload中包含"http"字符串的tcp封包。
http.request.uri contains "online" 显示请求的uri包含"online"的http封包。

b. 特定偏移处值的过滤

tcp[20:3] == 47:45:54 /* 16进制形式,tcp头部一般是20字节,所以这个是对payload的前三个字节进行过滤 */
http.host[0:4] == "trac"
过滤中函数的使用(upper、lower
upper(string-field) - converts a string field to uppercase
lower(string-field) - converts a string field to lowercase
示例
upper(http.request.uri) contains "ONLINE"

wireshark过滤支持比较运算符、逻辑运算符,内容过滤时还能使用位运算
如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

Wireshark是一款开源的网络封包分析软件,它可以用于捕获和分析网络数据包。通过Wireshark,您可以查看网络通信中传输的数据,了解网络流量、协议和通信问题。以下是Wireshark基本介绍和学习方法: 1. 下载和安装:您可以从Wireshark官方网站(https://www.wireshark.org/)下载适用于您操作系统的安装包,并按照安装向导进行安装。 2. 捕获数据包:打开Wireshark后,选择要捕获数据包的网络接口,然后点击“开始”按钮开始捕获数据包。Wireshark将会显示捕获到的数据包列表。 3. 分析数据包:在捕获到的数据包列表中,您可以选择特定的数据包进行详细分析。Wireshark提供了丰富的过滤和搜索功能,可以帮助您快速定位和分析感兴趣的数据包。 4. 查看详细信息:选择一个数据包后,Wireshark将显示该数据包的详细信息,包括源地址、目标地址、协议类型、数据长度等。您还可以查看数据包的原始数据和解析后的协议信息。 5. 学习资源:Wireshark提供了官方的用户手册和文档,您可以在官方网站上找到详细的使用说明和教程。此外,还有许多在线教程和视频资源可供学习和参考。 6. 实践和练习:为了更好地掌握Wireshark使用,建议您进行实际的网络捕获和分析练习。可以尝试在本地网络或虚拟机环境中进行捕获和分析,以加深对网络通信和协议的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值