您现在的位置是:首页 >技术交流 >Wireshark工具使用方法总结网站首页技术交流

Wireshark工具使用方法总结

就你叫Martin? 2023-06-04 12:00:02
简介Wireshark工具使用方法总结

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆
🔥系列专栏 :网安工具使用
📃新人博主 :欢迎点赞收藏关注,会回访!
💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷。


WireShark简介和抓包原理及过程

WireShark简介

Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包, 并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口, 直接与**网卡**进行数据报文交换。

WireShark的应用

网络管理员使用Wire shark来检测网络问题, 网络安全工程师使用Wire shark来检查资讯安全相关问题, 开发者使用Wireshark来为新的通讯协议除错, 普通使用者使用Wireshark来学习网络协议的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息......

Wire Shark快速分析数据包技巧

**(1) 确定Wire shark的物理位置。**如果没有一个正确的位置, 启动Wire shark后会花费很长的时间捕获一些与自己无关的数据。

**(2) 选择捕获接口。**一般都是选择连接到Internet网络的接口, 这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。

**(3) 使用捕获过滤器。**通过设置捕获过滤器,可以避免产生过大的捕获数据。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。

**(4) 使用显示过滤器。**通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。

**(5) 使用着色规则。**通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。

**(6) 构建图表。**如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。

(7) **重组数据。**当传输较大的图片或文件时,需要将信息分布在多个数据包中。这时候就需要使用重组数据的方法来抓取完整的数据。Wireshark的重组功能, 可以重组一个会话中不同数据包的信息,或者是重组一个完整的图片或文件。

常见命令

TCP三次握手协议

第一次握手:客户端的应用程序主动打开,并向服务端发出请求报文段。其首部中SYN=1,seq=x。

第二次握手:服务器应用被动打开。若同意客户端的请求,则发回确认报文。其首部中:SYN=1,ACK=1,ack=x+1,seq=y。

第三次握手:客户端收到确认报文之后,通知上层应用进程已建立,并向服务器发出确认报文。其首部ACK=1,ack=y+1。

比较运算符

英文写法C语言写法含义
eq==等于
ne!=不等于
gt>大于
lt<小于
ge>=大于等于
le<=小于等于

逻辑运算符

英文写法C语言写法含义
and&&逻辑与
or
xor^^逻辑异或
not逻辑非

常用命令

ip.addr == 192.168.1.1                    ##只显示源/目的IP为192.168.1.1的数据包
ip.addr == 192.168.1.1 && http.request.method == "GET"    ##只显示IP为192.168.1.1的http get数据包

过滤IP地址

ip.addr == 192.168.1.1              ##只显示源/目的IP为192.168.1.1的数据包
ip.src == 192.168.1.1               ##只显示源地址是192.168.1.1的数据包,显示一个网段可以用/16/24
ip.dst == 192.168.1.1              ##只显示目标地址是192.168.1.1的数据包
                                ##注:dst表示过滤目标ip, src表示过滤来源ip, addr则同时过滤两者
not ip.src == 1.1.1.1              ##不显示源IP为1.1.1.1的数据包
ip.src == 1.1.1.1 or ip.dst == 1.1.1.2      ##只显示源IP为1.1.1.1或目的IP为1.1.1.2的数据包

过滤MAC地址

eth.dst == MAC地址                 ##过滤目标MAC
eth.src == MAC地址                 ##过滤来源MAC
eth.addr == MAC地址                ##过滤来源MAC和目标MAC都等于MAC地址的

##筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

过滤端口

tcp.port == 80                    ##只显示tcp协议来源和目的端口为80的数据包    
tcp.dstport == 80                 ##只显示tcp协议的目标端口80
tcp.srcport == 80                 ##只显示tcp协议的来源端口80
udp.port == 80                    ##只显示udp协议来源和目的端口为80的数据包
tcp.port == 80 or udp.port == 80        ##只显示tcp或udp协议的来源端口80
tcp.port >= 1 and tcp.port <= 80        ##过滤端口范围

http请求方式过滤

http.response == 1                        ##http所有的响应包
http.request.method == "GET"              ##只显示GET的数据包  
http.request.method == "POST"             ##只显示POST的数据包
http.response==1 && http.response.code==200     ##响应请求成功的包
http.host == "www.baidu.com"                    ##只显示百度的数据包
http.host mathes "www.baidu.com|baidu.cn"       ##matches可以写多个域名
http.host contains "www.baidu.com"              ##contain只能写一个域名

##注:contains和matches,contains过滤包含指定字符串的数据包,matches用于匹配过滤条件中给定的正则表达式
http.request.method =="GET" && http contains "Host: "
http.request.method == "GET" && http contains "User-Agent: "
http.request.method =="POST" && http contains "Host: "
http.request.method == "POST" && http contains "User-Agent: "
http contains "HTTP/1.1 200 OK" && http contains "Content-Type: "
http contains "HTTP/1.0 200 OK" && http contains "Content-Type: "

正则表达式的规则

1、wireshark基本的语法字符

d          0-9的数字
D          d的补集(以所以字符为全集,下同),即所有非数字的字符
w          单词字符,指大小写字母、0-9的数字、下划线
W          w的补集
s          空白字符,包括换行符n、回车符r、制表符t、垂直制表符v、换页符f
S          s的补集
.          除换行符n外的任意字符。 在Perl中,“.”可以匹配新行符的模式被称作“单行模式”
.*       匹配任意文本,不包括回车(n)? 。 而,[0x00-0xff]*        匹配任意文本,包括n
[]          匹配[]内所列出的所有字符
[^…]          匹配非[]内所列出的字符

2、定位字符

所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。
^          表示其后的字符必须位于字符串的开始处
$          表示其前面的字符必须位于字符串的结束处
b          匹配一个单词的边界
B          匹配一个非单词的边界

3、重复描述字符

{n}          匹配前面的字符n次
{n,}          匹配前面的字符n次或多于n次
{n,m}          匹配前面的字符n到m次
?          匹配前面的字符0或1次
+          匹配前面的字符1次或多于1次
*          匹配前面的字符0次或式于0次

4、and or 匹配

and 符号 并
or  符号 或
例如:
tcp and tcp.port==80
tcp or udp
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。