Wireshark下载使用
本文最后更新于 2024-04-01,欢迎来到我的Blog! https://www.zpeng.site/
Wireshark下载使用
1.介绍
直接下载安装即可
wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。
抓包原理
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
Wireshark使用的环境大致分为两种,一种是电脑直连网络的单机环境,另外一种就是应用比较多的网络环境,即连接交换机的情况。
「单机情况」下,Wireshark直接抓取本机网卡的网络流量;
「交换机情况」下,Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。
端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。
2.简单使用
1.打开wireshark,主界面如下:
选择监听的网络
2.界面
WireShark 界面包含:
菜单栏:用于调试、配置
工具栏:常用功能的快捷方式
过滤栏:指定过滤条件,过滤数据包
数据包列表:核心区域,每一行就是一个数据包
数据包详情:数据包的详细数据
数据包字节:数据包对应的字节流,二进制
说明:数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏视图-->着色规则。如下所示
wireshark启动后,wireshark处于抓包状态中。
操作完成后相关数据包就抓取到了,可以点击 停止捕获分组 按钮。
wireshark抓包完成,并把本次抓包或者分析的结果进行保存,就这么简单。
就可以进行分析了
3.过滤器使用
抓包过滤器在抓包前使用,它的过滤有一个基本的语法格式:BPF语法格式。
BPF(全称 Berkeley Packet Filter),中文叫伯克利封包过滤器,它有四个核心元素:类型、方向、协议 和 逻辑运算符。
逻辑运算符:与( && )、或( || )、非( !)
方向Dir:源地址(src)、目标地址(dst)
类型Type:主机(host)、网段(net)、端口(port)
协议Proto:各种网络协议,比如:tcp、udp、http
关于捕获过滤器的一些常用语法,可以在工具栏中,依次点击“捕获”-->“捕获过滤器”中查看。
1.过滤值比较符号及表达式之间的组合
2.针对IP进行过滤
case 1 筛选出源 IP 地址是 192.168.2.30 的数据包
过滤命令:
ip.src_host == 192.168.2.30
case 2 筛选出目的地址是192.168.1.88的数据包
过滤命令:
ip.dst_host == 192.168.1.88
case 3 筛选出源 IP 或者目的 IP 地址是 192.168.1.30 的全部数据包
ip.addr == 192.168.1.30
case 4 排除 case 3 的数据包,需要加 “!”
过滤命令:
!(ip.addr == 192.168.1.30)
case 5 筛选出源 IP 地址是 192.168.1.30 且目的 IP 地址是 192.168.2.30 的数据包
过滤命令:
ip.src_host 192.168.1.30 && ip.dst_host 192.168.2.30
case 6 筛选出源 IP 地址是 192.168.1.30 或者源 IP 地址是 192.168.2.30 的数据包
过滤命令:
ip.src_host 192.168.1.30 && ip.src_host 192.168.2.30
3.针对端口进行过滤
case 1 筛选源端口和目的端口为80的数据包(以TCP协议为例)
过滤命令:
tcp.port == 80
case 2 根据 TCP 目的端口筛选数据包
过滤命令:
tcp.dstport == 80
case 3 根据 UDP 源端口筛选数据包
过滤命令:
udp.srcport == 80
case 4 筛选不低于某端口的数据包(以UDP协议为例)
过滤命令:
udp.port >= 80
4.针对协议进行过滤
获取某种协议数据包,仅需要把协议名字以小写的形式输入即可。常用的协议有 http、udp、tcp、dns、ip、ssl、ftp、arp、icmp、smtp、pop、telnet、ssh、rdp、sip ...
case 1 仅筛选http协议
过滤命令:http
case 2 筛选多种协议数据包
过滤命令:http or telnet
4.根据 http 请求的一些数据包筛选
case 1 精确筛选域名
过滤命令:
http.host==baidu. com
case 2 模糊筛选域名
过滤命令:
http.host contains 'www.baidu.com'
case 3 筛选请求地址中包含"alarm” 的请求
过滤命令:
http.request.uri contains 'Alarm' (contains 后的关键字区分大小写)
http. request. uri matches 'alarm' (matches 后的关键字不区分大小写)
case 4 筛选请求的content type类型
过滤命令:
http.content_type ==' text/html'
case 5 筛选http请求方法
过滤命令:
http.request.method==’ POST’
case 6 筛选http响应状态码
过滤命令:
http.response.code==302
4.读取https加密内容
没有看到抓取htts,一般情况下wireshark是无法抓取密文的,我们通过谷歌浏览器得到配置密钥然后进行抓取
1.关闭所有浏览器
2.配置系统变量
SSL 密钥日志文件位置
变量名:SSLKEYLOGFILE
变量值(哪里都可以自己建):D:\java\wireshark\tls\sslkey.log
3.打开cmd输入
"C:\Program Files\Google\Chrome\Application\chrome.exe" --ssl-key-log-file=%SSLKEYLOGFILE%
会自动打开谷歌浏览器,注意要将浏览器打开时设置为打开标签页,不然会默认将你设置的首页解析密钥
4.配置wireshark 解密 SSL/TLS 流量:
在 Wireshark 主窗口中,选择 "Edit"(编辑)-> "Preferences"(首选项)。
在首选项窗口中,展开 "Protocols"(协议),然后找到 "TLS",低版本为"SSL"。
在 "RSA Keys" 窗口中,点击 "+" 图标添加密钥日志文件。指定密钥日志文件路径 D:\java\wireshark\tls\sslkey.log
5.效果
- 感谢你赐予我前进的力量