您现在的位置是:首页 >技术交流 >Wireshark工具使用方法总结网站首页技术交流
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