mac安装并使用wireshark

mac安装并使用wireshark

1 介绍

我们在日常开发过程中,遇到了棘手的问题时,免不了查看具体网络请求情况,这个时候就需要用到抓包工具。比较著名的抓包工具就属:wireshark、fildder。我这里主要介绍wireshark。

2 安装

以mac安装为例。

  1. 去官网下载对应的mac版本即可。(注意观察自己的芯片是intel的还是Apple的)
    https://www.wireshark.org/download.html
  2. 下载好之后,直接双击.dmg,然后拖动安装即可。
  3. 安装成功后,来到应用程序,双击wireshark图标即可。
  • 如果发现双击之后wireshark报错:
    在这里插入图片描述
    表明wireshark没有对应的网卡权限来抓取网卡对应的流量情况。
    执行如下命令,然后重新打开wireshark即可。
sudo chmod 777 /dev/bpf*

3 使用

3.1 判断网卡

如果我们的电脑有多张网卡,如何判断自己该监控哪张网卡呢?

  • 方法一:ifconfig查看ip所属的网卡名,然后在wireshark上点击监控即可
  • 方法二:将鼠标移到wireshark页面所展示的网卡名,wireshark会自动显示ip地址,然后选择我们要监控ip所在的网卡即可
    在这里插入图片描述

3.2 过滤IP(源或目标)

①ip.src eq 192.168.1.145 or ip.dst eq 192.168.1.145

或者ip.addr eq 192.168.1.145

  • 直接使用 ip.addr == 192.168.1.145也行

在这里插入图片描述

提示: 在Filter编辑框中,收入过虑规则时,如果语法有误,框会显红色,如正确,会是绿色。

②ip.src == 192.168.1.145

3.3 过滤端口

①tcp.port == 80(不管源或目标)

tcp.port eq 80 // 不管端口是来源的还是目标的都显示
tcp.port == 80
tcp.port eq 2722
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80

②tcp.dstport == 80(只显示tcp协议的目标端口为80的)

在这里插入图片描述

③udp.port == 1500
④tcp.port >= 1 and tcp.port <= 80

3.4 过滤协议

例子:
tcp
udp
smb
arp
icmp
http
smtp
ftp
dns
msnms
ip
ssl
oicq
bootp
等等

①tcp(筛选tcp协议)

在这里插入图片描述

②not arp(排除arp协议)

或者!arp
在这里插入图片描述

3.5 过滤MAC

①eth.dst == A0:00:00:04:C5:84 过滤目标mac
②eth.src == A0:00:00:04:C5:84 过滤来源mac

eth.src eq A0:00:00:04:C5:84 // 过滤来源mac
eth.dst == A0:00:00:04:C5:84
eth.dst == A0-00-00-04-C5-84
eth.addr eq A0:00:00:04:C5:84 // 过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的
less than 小于 < lt
小于等于 le
等于 eq
大于 gt
大于等于 ge
不等 ne

3.6 包长度过滤

①udp.length == 26(udp本身固定长度8+数据包之后为26的)

这个长度是指udp本身固定长度8加上udp下面那块数据包之和

②tcp.len >= 7 指的是ip数据包(不包括tcp本身)
③ip.len == 94 除了以太网固定长度14,其他都算是ip.len

即:从ip本身到最后

④frame.len == 119 整个数据包长度,从eth开始到最后

3.7 http模式过滤

①http.request.method == “GET”

http.request.method == “POST”
在这里插入图片描述

②http.request.uri == “/img/demo.png”
③http contains “GET”
④http contains “HTTP/1.” (区分大小写)

注意:区分大小写

⑤GET包
http.request.method == “GET” && http contains "Host: "
http.request.method == “GET” && http contains "User-Agent: "
⑥POST包
http.request.method == “POST” && http contains "Host: "

在这里插入图片描述

http.request.method == “POST” and 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: "

3.8 TCP参数过滤

①tcp.flags 显示包含TCP标志的封包
②tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包
③tcp.window_size == 0 && tcp.flags.reset != 1

3.9 包内容过滤

①tcp[20:8]表示从20开始,取8个字符
②通过页面操作

在这里插入图片描述

4 查看详情

双击即可进入详情查看:
在这里插入图片描述

详情中会展示请求体、请求头等,包括请求的响应链接地址

在这里插入图片描述

参考文章:
https://blog.csdn.net/wojiaopanpan/article/details/69944970

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/151621.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Echarts渲染不报错但是没有内容

&#x1f525;博客主页&#xff1a; 破浪前进 &#x1f516;系列专栏&#xff1a; Vue、React、PHP ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 问题&#xff1a;在开发项目的时候使用了Echarts但是好端端的忽然就不渲染了 感觉很无语啊&#xff0c;毕竟好好的就不渲染了&am…

浅谈分布式系统

文章目录 分布式系统应用数据分离架构应用服务集群架构读写分离 / 主从分离架构引入缓存--冷热分离架构数据库分库分表存储集群微服务架构小结 分布式系统 只有一台服务器负责所有的工作称为单机架构&#xff0c;但是一台主机的硬件资源是有上限的&#xff0c;当同一时刻主机收…

公司电脑如何限制安装软件

公司电脑如何限制安装软件 安企神终端管理系统下载使用 在企业环境中&#xff0c;电脑已经成为企业中必不可少的办公工具&#xff0c;确保员工的生产力和公司的信息安全是至关重要的。为了实现这一目标&#xff0c;公司可能会限制员工在某些情况下安装软件或者由管理员来为终…

解决:谷歌浏览器访问http时,自动转https访问的问题

问题背景&#xff1a;某个系统网站&#xff0c;之前一直用https域名访问&#xff0c;现在改成http域名后&#xff0c;用http访问&#xff0c;谷歌浏览器会自动跳转到https。 解决方法&#xff1a; 在浏览器中输入网址&#xff1a;chrome://net-internals/#hsts -》 在“Delete…

驱动day8

基于GPIO子系统编写LED驱动,编写应用程序进行测试,设置定时器,5秒钟打印一次hello world 驱动代码 #include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_gpio.h> #include <linux/gpio.h> #include …

【Java 进阶篇】使用 Java 和 Jsoup 进行 XML 处理

XML&#xff08;可扩展标记语言&#xff09;是一种常用的数据交换格式&#xff0c;它被广泛用于在不同系统之间传递和存储数据。Java作为一种强大的编程语言&#xff0c;提供了多种方式来处理XML数据。其中&#xff0c;Jsoup 是一个流行的Java库&#xff0c;用于解析和操作XML文…

《算法通关村—最大小栈问题解析》

《算法通关村—最大小栈问题解析》 最小栈 描述 leetCode 155: 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现最小栈 MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop()…

unity button移动位置some values driven by canvas

1 可以在button父节点把限制取消勾选 2 在不动整个布局的情况下&#xff0c;只修改局部变量&#xff1a;忽略布局即可

深入探究ASEMI肖特基二极管MBR60100PT的材质

编辑-Z 在电子零件领域中&#xff0c;肖特基二极管MBR60100PT因其出色的性能和广泛的应用而显得尤为关键。理解其材质不仅有助于我们深入理解其运作原理&#xff0c;也有助于我们做出更合适的电子设计。那么&#xff0c;肖特基二极管MBR60100PT是什么材质呢? 首先&#xff0c…

一文2000字教你从0到1实现Jmeter 分布式压测

你可以使用 JMeter 来模拟高并发秒杀场景下的压力测试。这里有一个例子&#xff0c;它模拟了同时有 5000 个用户&#xff0c;循环 10 次的情况‍。 请求默认配置 token 配置 秒杀接口 ​结果分析 ​但是&#xff0c;实际企业中&#xff0c;这种压测方式根本不满足实际需求。下面…

Wpf 使用 Prism 实战开发Day02

一.设计首页导航条 导航条的样式&#xff0c;主要是从Material DesignThemes UI 拷贝过来修改的,项目用了这个UI组件库&#xff0c;就看自己需要什么&#xff0c;就去拷过来使用&#xff0c;界面布局或其他组件使用&#xff0c;不做介绍。 直接下载源码&#xff0c;编译运行就可…

AQS 为什么要使用双向链表?

双向链表 双向链表的特点是它有两个指针&#xff0c;一个指针指向前置节点&#xff0c;一个指针指向后继节点。所以&#xff0c;双向链表可以支持 常量 O(1) 时间复杂度的情况下找到前驱结点&#xff0c;基于这样的特点。双向链表在插入和删除操作的时候&#xff0c;要比单向链…