给大家介绍四款最受欢迎的抓包神器
身为互联网人,无论在平时开发还是在测试过程中,我们都不可避免的会涉及到网络安全性,如何监测网络请求,从而最大程度的保证数据的安全,需要我们了解并掌握抓包的技巧。那么何谓抓包呢?抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等一系列操作,来进行检查网络是否安全。同时经常被黑客用来对数据进行截取,利用一些抓包软件可以很轻松的获得到你没有加密的一些数据,经过分析,然后会对你的行为进行攻击。所以,抓包对于我们维护信息的安全非常关键。
抓包常用工具:
fiddler:windows平台最受欢迎抓包工具、免费、易用
charles:Mac平台下最佳抓包工具,易于使用,收费软件,可以一直使用
wireShark:老牌抓包工具,跨平台,功能齐全、强大
tcpdump:命令行程序,适用于手机系统和后台系统
《Fiddler》
简介:Fiddler是运行于windows系统上的程序,用来处理HTTP,HTTPS协议。在我们工作中常见的主要是对我们移动端开发完成后,进行调试或者测试的时候,需要检查服务端与客户端的数据交互有没有实现,以及是否正确,我们会使用一些虚拟数据,假数据,设定的场景,来对我们的软件进行操作,就需要用到Fiddler抓包工具。
处理HTTP协议:
1.首先需要注意的是我们的移动端app必须保证和Fiddler的主机处于同一网络下
2.Fiddler选择开启远程连接,确认Fiddler代理主机的IP地址和端口号
进入Tools-->Options-->Connections-->勾选Allow remote computers to connect
默认监听的端口号8888()
3.在移动端设置网络代理为Fiddler主机,即Fiddler代理主机IP和端口号
选中网络对应的无线连接名称长按-->修改网络-->高级选项-->代理手动--填写代理IP地址和端口--保存
4.访问HTTP协议的网络地址
处理HTTPS协议:
1.首先保证移动端和Fiddler的主机为同一网络,并且能够抓取到HTTP协议
2.Fiddler开启抓取HTTPS协议
进入Tools-->Options-->HTTPS-->勾选Capture HTTPS CONNECTS-->勾选Decrypt HTTPS traffic --> 勾选 Ignore server certificate errors
3.移动端卸载配置证书
4.访问HTTPS协议的网络地址
《Charles》
简介:Charles是运行于Mac系统的抓包截取工具,设置代理服务器,处理网络请求,来实现网络封包的截取和分析。不过由于Mac系统限制,是一款收费软件,可以免费使用30天,过期后,每次使用时长仅仅在30分钟之内。总的算下来的话,对用户还是比较友好的,就算不付费,也还是可以使用较为完整的功能。
HTTP:
1.设置 Proxy -> MacOS X Proxy,打开抓包
2.设置浏览器的代理(网络设置里设置), localhost:8888 (charles默认8888,可修改);
3.浏览器使用了代理管理插件的就新建一个代理服务器,localhost:8888
HTTPS:
1.安装SSL证书:help -> SSL proxying -> install charles root certification
2.安装完会自动跳到系统的钥匙串管理界面,并见到charles的证书,此时双击他并在信任里选择“信任”
3.设置proxy -> SSL proxy setting 第一个tab(SSL proxying)新增规则:'host:*; port: 443'
远程抓包:
1.手机与电脑处于同一个局域网内,手机设置代理为电脑ip与端口 '9999',charles会提示是否允许,选择allow即可,https抓包和本地抓包类似,如果看不到https就要按照以下步骤安装证书
2.手机浏览 Charles Web Debugging Proxy SSL CA Certificate instal-lation 下载证书,打开文件提示“若要安装请先在设置应用中查看描述文件”
3.设置 -> 通用:找 '描述文件' 选项(在VPN选项下方)-> 右上角安装
4.设置 -> 通用 -> 关于本机 -> 最下方:证书信任设置 -> 开启上一步安装的证书 'charles Proxy CA'
5.电脑上的charles就可以查看https
《WireShark》
简介:WireShark是非常流行的网络封包分析软件,功能十分强大,可以截取各种网络封包,显示网络封包的详细信息。同时也是开源软件,可以放心使用,运行在Windows和MacOS系统上。
使用步骤:
1.点击菜单“Capture” -> “Options...” 便会打开抓取配置界面
2.在“Capture”里,选择与外网连接的网卡,不知道选择哪一个,可以点击全部选择
3.在“Capture Filter”中写入过滤条件。这里是用来筛选所抓取报文的。对于AS2端口来说,录入“Port 8080”就是“仅仅抓取端口是8080”的所有通信报文,也可以根据真实使用的端口来选择
4.然后,点击“Start”按钮就可以了。接下来,WireShark会在主界面显示出已经抓取的通讯报文。如果没有任何数据,请检查你的配置是否正确
5.在抓取到数据之后,可以使用菜单“Capture” -> “Stop”来停止抓取,然后使用“File” -> “Save”将抓取到的内容保存在磁盘上,保存之后的文件扩展名一般为“pcapng”文件。这个文件就可以用来分析底层的网络通讯问题。
《tcpdump》
简介:tcpdump是一个强大的网络抓包Sniffer类工具,通常用在Linux系统中,Windows操作系统中也会使用,可以看作是WireShark的命令行版本。tcdpump命令最初设计用于观察TCP/IP性能问题,它是一个用于截取网络分组,并输出分组内容的工具。tcpdump可以将网络中传送的数据包的报文头完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and,or,not等逻辑语句来帮助用户去掉无用的信息。
操作命令:
tcpdump -i wlan0 -s 0 -w a.cap //监听wlan0网卡上的全部流量,-s代表抓取包的大小,默认为抓取64,设置为0, 表示包有多大,抓多大。-w,表示抓取下来保存为,a.cap
tcpdump -r a.cpa
tcpdump -A -r a.cap //以Ascall显示包文件
tcpdump -x -r a.cap //以十六进制显示包文件
tcpdump -i eth0 tcp port 22 //监听tcp协议的,22端口
tcpdump---筛选
tcpdump -n -r http.cap | awk '{print $3}' |sort -u // -n 表示只以ip地址的形式显示出来,不显示域名。awk 参数表示只显示第三列信息; sort表示去掉重复的
tcpdump -n src host 145.254.160.237 -r http.cap //source
tcpdump -n dst host 145.254.160.237 -r http.cap //destination
tcpdump -n udp port 53 -r http.cap //使用udp 53端口就可以把所有的域名查询包显示出来
tcpdump -nX port 80 -r http.cap //十六进制
tcpdump -A -n 'tcp[13] = 24' -r http.cap //筛选tcp包里面的ack和psh包
以上便是我本期介绍的四款现在主流抓包工具的简介,后续会对其进行详细的介绍,有不足的地方还望大家多多交流探讨。
相关文章:
给大家介绍四款最受欢迎的抓包神器
身为互联网人,无论在平时开发还是在测试过程中,我们都不可避免的会涉及到网络安全性,如何监测网络请求,从而最大程度的保证数据的安全,需要我们了解并掌握抓包的技巧。那么何谓抓包呢?抓包就是将网络传输发…...
解决Reids过期方案 游标遍历清除Redis过期的key
游标遍历清除Redis过期的key 为什么要清除Redis过期的Key Redis的过期清理是一种懒惰的清理方案,他不会过期后立刻清除,而是在Key被访问的时候进行删除,Redis这么做的目的就是为了提高性能降低资源开销。 具体来说,一个K…...

K8s基础10——数据卷、PV和PVC、StorageClass动态补给、StatefulSet控制器
文章目录 一、数据卷类型1.1 临时数据卷(节点挂载)1.2 节点数据卷(节点挂载)1.3 网络数据卷NFS1.3.1 效果测试 1.4 持久数据卷(PVC/PV)1.4.1 效果测试1.4.2 测试结论 二、PV、PVC生命周期2.1 各阶段工作原理…...
oracle系统查询~3
查看实例的基本信息 SQL> col host_name for a25 col instance_name for a15 col version for a15 col status for a10 set linesize 600 col host_name for a20 select instance_number,instance_name,host_name,version,startup_time,status,archiver f…...
Mybatis源码(九)— chche
Mybatis中共有三级缓存,其中一级缓存默认开启,作用范围是在sqlSession对象(同一个会话),二级缓存需要手动配置开启,作用范围是在sqlSessionFactory对象下的同一个namespace范围(所以二级缓存是可…...

回溯法--N皇后问题
N皇后问题 一、问题描述二、示例2.1 四皇后的2个可行解2.2 过程图示 三、问题分析3.1涉及到的概念递归回溯 3.2 分析 四、 代码实现4.1 实现思路宏观:微观: 4.2 递归函数NS图4.3 代码 一、问题描述 1、按照国际象棋的规则,皇后可以攻击与之处…...
ajax请求
ajax的优点 可以无需刷新页面而与服务器进行通信允许你根据用户事件来更新部分页面内容 ajax的缺点 没有浏览历史,不能回退存在跨域问题SEO不友好 get请求 <button>点击发送请求</button><div id"result"></div><script>…...

K8S系列之污点和容忍度详细分析
架构图 本篇文档主要介绍污点和容忍度的关系。 污点和容忍度 污点顾名思义就是脏的东西,给节点添加污点来限制pod调度到该节点上,如果pod可以容忍这种污点就可以被调度到有污点的节点上,如果不能容忍就不能被调度到该节点上。 污点作用于节…...
【算法】Minimum Moves to Move a Box to Their Target Location 推箱子
文章目录 Minimum Moves to Move a Box to Their Target Location 推箱子问题描述:分析代码 Tag Minimum Moves to Move a Box to Their Target Location 推箱子 问题描述: 问题 「推箱子」是一款风靡全球的益智小游戏,玩家需要将箱子推到仓…...

决策引擎平台建设方案
文档修订历史 时间版本主要内容2023.05.12v1.0.0初始化 1. 概述 1.1 需求 1.1.1 需求背景 当同一个业务场景中,有非常多的业务分支后,需要有非常多的 if 判断,来承载这些简单的业务逻辑,但随着业务的发展,业务逐渐…...

SpringBoot Starter 作用及原理
本文会以 mybatis 为例,通过对比 mybatis-spring 和 mybatis-spring-boot-starter 代码示例,了解 Starter 的作用。并对 mybatis-spring-boot-starter 进行简单剖析,了解 Starter 原理。 下面还有投票,一起参与进来吧👍…...

【rust】| 05——语法基础 | 流程控制
系列文章目录 【rust】| 00——开发环境搭建 【rust】| 01——编译并运行第一个rust程序 【rust】| 02——语法基础 | 变量(不可变?)和常量 【rust】| 03——语法基础 | 数据类型 【rust】| 04——语法基础 | 函数 【rust】| 05——语法基础 | 流程控制 文章目录 流程控制1. 条…...
解决Makefile: recipe for target ‘xxx‘ failed
author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 问题 在android编译Kernel调用makefile引起的recipe for target 很多文章写的是由于编译文件路径引起或者是makefile代码中的空格引起的 分析 但是如果makefile文件不是手动配置的而且源代码提供的,…...

小黑子—多媒体技术与运用基础知识三:数字图形图像处理技术
多媒体技术与运用3.0 多媒体系列第三章1. 颜色科学1.1 颜色的性质1.1.1 颜色的物理性质1.1.2颜色三特性1.1.3三原色与三补色 1.2 颜色空间1.2.1 与设备无关的颜色空间1.2.1 与设备相关的颜色空间 1.3 常见的多媒体系统颜色空间1.3.1 RGB颜色空间1.3.2 CMYK颜色模型1.3.3 HSB颜色…...
Nginx实现ChatGPT API代理
文章目录 一、前言说明二、前置准备三、nginx配置三、代理域名用途 一、前言说明 本篇文章可以直接用于公司生产级的使用,所需要的资源直接改为公司级的即可平替使用文章均已通过实践应用,保证文章准确性,但因不同环境的不同可能效果不一致可…...
FileNotFoundError: [Errno 2] No such file or directory: ‘dot‘
FileNotFoundError: [Errno 2] No such file or directory: ‘dot’ 在绘制树形结构图的时候出现上述报错:已安装环境为ubuntu,python3.9 解决方案: 1、在终端输入sudo apt-get install graphviz,按回车键,输入密码&a…...

【分布族谱】正态分布和二项分布的关系
文章目录 正态分布二项分布验证 正态分布 正态分布,最早由棣莫弗在二项分布的渐近公式中得到,而真正奠定其地位的,应是高斯对测量误差的研究,故而又称Gauss分布。测量是人类定量认识自然界的基础,测量误差的普遍性&am…...

7.设计模式之责任链模式
前言 责任链,即将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递, 链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。为了避免请求发送者与多个请求处理者耦合在…...

JAVA8的新特性——Stream
JAVA8的新特性——Stream 在这个深夜写下这篇笔记,窗外很安静,耳机里是《季节更替》,我感触还不是很多,当我选择封面图片的时候才发现我们已经渐渐远去,我们都已经奔赴生活,都在拼命想着去换一个活法&#…...

alias设置快捷键vim使用说明(解决服务器上输入长指令太麻烦的问题)
1. vi ~/.bashrc打开 2. (watch -n 1 gpustat 查看gpu使用情况 太麻烦)输入i进行编辑,最后一行输入 alias watchgpuwatch -n 1 gpustat alias gpuwatch -n 1 gpustat alias torch180source activate torch180 3. 按esc,然后输入:wq保存退出 4. source…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...

rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...