利用F12和Fiddler抓包

网络基础

http

而http协议又分为下面的部分,点击具体条目后可以查看详细信息

http请求消息:请求行(请求方法),请求路径,请求头,请求体(载荷)

http响应消息:响应行(响应状态码),响应头,响应体

请求行 即请求方法 get post put patch

响应行 即响应码,常见响应状态码

200 正常
302 304 重定向,寻找已缓存的资源
404 资源不存在
503 500 服务器问题

https

而https加上了安全层,叫做SSL(安全套接层)或TLS(传输层安全).这一层通过加密和身份验证来保护数据的传输,防止信息被恶意窃听或篡改。

另外http使用的是80端口,而https使用的是443端口

而https在传输时会经过CA(Certificate Authority)证书的加密和解密,而数据传输时,必须要保证证书一样,才能解密传输的数据

CA证书经常改变以保证https的安全性

F12

即浏览器中按f12出来的开发者工具

可以直接抓取得到明文数据,而fiddler需要额外安装证书

概览

抓包过程主要在network

基础功能

设置->语言->中文

可以切换为手机显示(ctrl+shift+M),可以切换手机型号,对H5和小程序进行调试

elements

查看器,用于分析页面元素,常用于UI自动化

定位 ctrl+shift+c 以及修改元素

selenium用于UI自动化,查找到的元素得到id,name,xpath

直接使用python先 pip install selenium安装

import time
from  selenium import webdriver 
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# driver.find_element(By.NAME,"wd").send_keys("selenium")
driver.find_element(By.XPATH,"//input[@id='kw']").send_keys("selenium")
driver.find_element(By.ID,"su").click()time.sleep(1000)

console

控制台,主要后端开发时用

调试js脚本

source

调试器,执行js语句,实现各种功能

network

网络 测试,抓包

前后端信息通过接口传输,network记录了接口信息,接口封装了http协议

抓到的包主要可以看到下面的内容,当然可以自定义显示的内容

  1. 域名: ip+端口
  2. 文件和类型
  3. 发起者
  4. 传输和大小

常用操作

持续记录 : 设置->勾选持续记录,以便于在跳转页面时留存条目

禁用缓存 : 勾选禁用缓存,便于刷新时取新的资源,而不是重定向到本地.或者shift+F5进行无缓存刷新

过滤 : 可以选下面的部分进行过滤

content : html,css,js

XHR : XMLHttpRequest 下面两种都是请求的类型

WS : websocket

搜索数据包特征 :

ctrl+F,可以有以下格式特殊搜索,搜索框旁边的问号点击可打开帮助文档 Network request list

下面时火狐的,一般都可以用

url:域名或者文件部分包含这个URL
status-code:404
method:post
domain:8.129.91.152:8765
remote-ip:124.237.176.160
mime-type:image/png

搜索数据包内容 : 搜索的按钮点开后弹出新窗口就可以搜索请求体和响应体内容

数据篡改 : 选中数据后编辑并重发

数据重发

有3种,通过复制包的信息,借助其他工具进行重发

右键->复制值->复制,复制下面不同信息可以用不同软件重发

请求头,请求体->jmeter

Curl(posix或windows)->postman中导入请求->raw text->import->send

HAR->metersphere

弱网模拟

修改不节流选项

google可以自定义网络

performance

性能

通过录制操作,然后得到性能报告

memory

储存,缓存,chrome的在应用里,有以下几种

本地存储 不受时间限制

会话存储 跟页面寿命一样

cookies 存放访问过的链接,单击的按钮,登陆信息等,相当于监视你的浏览器,默认寿命为浏览器关闭时

在数据包标头可以看到

Set-Cookie:innersign=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=.bilibili.com

recoder

录制脚本,可以设置速度,快速刷

google浏览器的调试功能,可以模拟点击,执行重复性的操作

可以导入导出重复使用

fiddler

软件界面

fiddler.png

基础设置

快捷键

去缓存刷新 		:  shift+F5 这是浏览器中的
清空包界面 		: ctrl+X
查找数据包 		: ctrl+F
启动或暂停抓包    : F12 或者 底部工具栏第一个

证书更新 : tool->option->https->勾选前两个->actions->reset,所有选项都选ok,为了能够解析http协议

隐藏不必要的包 : rules->隐藏connect和304包,即建立连接的包(tunnel to)

加断点 : 底部工具栏第三个按钮可进行设置断点,在修改了数据包之后就可以在右边的下面run to completion继续执行了

解析 : 点击包后可以在功能页的inspectors以不同格式来解析数据

重复发包 : 对左侧数据包右键,repaly->sequentially可以实现批量发包

过滤网址 : 示例如下

功能页->filter

hosts设为show only the follow hosts,然后再编辑框添加需要抓包的网址(可使用通配符),如*.bilibili.com

request header设hide为.jpg .png .ico .gif .css .js

定位所需的包 : 打开inspector->webform查看包(一般都是这个格式提交的)

安卓代理

允许连接外部设备 tool->option->connections->勾选 allow remote computers to connect,并记录开放的端口8888

ipconfig得到ipv4地址

手机wifi设置代理填入ip:port

然后浏览器地址栏输入ip:port,下载证书从而能够解析协议

在联想模拟器上的可以,但是我换成实体机却不行,可能是因为没有root,需要开发者模式

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

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

相关文章

SSH远程登陆服务器

截取自文章:SSH简介及两种远程登录的方法_ssh -CSDN博客 SSH的安装 SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑上是否安装了客户端和服务器。 dpkg -l | grep ssh 如果只是想远程登陆别的机器只需要安装客户端&…

记一次JSF异步调用引起的接口可用率降低 | 京东云技术团队

前言 本文记录了由于JSF异步调用超时引起的接口可用率降低问题的排查过程,主要介绍了排查思路和JSF异步调用的流程,希望可以帮助大家了解JSF的异步调用原理以及提供一些问题排查思路。本文分析的JSF源码是基于JSF 1,7.5-HOTFIX-T6版本。 起因 问题背景…

【网络安全】upload靶场pass1-10思路

目录 Pass-1 Pass-2 Pass-3 Pass-4 Pass-5 Pass-6 Pass-7 Pass-8 Pass-9 Pass-10 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN&#x1…

TimescaleDB安装部署

安装cmake 解压压缩包 tar xvf cmake-3.28.1-linux-x86_64.tar 将cmake 添加到profile中 vi ~/.bash_profile export PATH=/home/postgres/app/cmake-3.28.1-linux-x86_64/bin:$PATH 保存,执行 source ~/.bash_profile 安装TimescaleDB 下载timescaledb安装包并解压 编译 .…

深度学习 | 基本循环神经网络

1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据,描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列,需要进行分词。 序列数据 —— 图像 有序图像组成的序列,后一帧图像可能会受前一帧的影响…

python 1200例——【13】计算阶乘

阶乘是一个数学概念,表示为 n!(读作 n 的阶乘),表示从 1 到 n 的所有正整数的乘积。例如,5! = 5 4 3 2 1 = 120。 在 Python 中,我们可以使用多种方法来计算阶乘。以下是其中的一些方法: 方法一:使用循环 这是最基本的方法,我们通过循环从 1 到 n 依次乘起来。…

2023-12-30 AIGC-LangChain指南-打造LLM的垂域AI框架

摘要: 2023-12-30 AIGC-LangChain指南-打造LLM的垂域AI框架 LangChain指南-打造LLM的垂域AI框架 CHATGPT以来,Langchain 可能是目前在 AI 领域中最热门的事物之一,仅次于向量数据库。 它是一个框架,用于在大型语言模型上开发应用程序&#…

如何学习计算机编程?零基础入门,轻松成为编程达人!

在这个信息爆炸的时代,计算机编程已经成为一项炙手可热的技能。如果你也对编程充满兴趣,但又不知从何入手,那么本文将为你提供一条通往编程世界的捷径。掌握了这些技巧,相信你一定能够轻松成为编程达人! 一、选择合适…

[mysql 基于C++实现数据库连接池 连接池的使用] 持续更新中

目背景 常见的MySQL、Oracle、SQLServer等数据库都是基于C/S架构设计的,即(客户端/服务器)架构,也就是说我们对数据库的操作相当于一个客户端,这个客户端使用既定的API把SQL语句通过网络发送给服务器端,MyS…

【wargames】bandit0~9关wp

第1关直接ssh连接,获得密码NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL,用这个密码连接第2关 第2关,连接之后查看 存在特殊字符的文件 因为使用 - 作为参数是指 STDIN/STDOUT 即 dev/stdin 或 dev/stdout 。所以如果你想打开这种类型的文件&#xff0…

查看IOS游戏FPS

摘要 本篇技术博客将介绍如何使用克魔助手工具来查看iOS游戏的帧率(FPS)。通过克魔助手,开发者可以轻松监测游戏性能,以提升用户体验和游戏质量。 引言 在iOS游戏开发过程中,了解游戏的帧率对于优化游戏性能至关重要…

Syn_SegNet:用于常规 3T MRI 中超高场 7T MRI 合成和海马亚场分割的联合深度神经网络

Syn_SegNet: A Joint Deep Neural Network for Ultrahigh-Field 7T MRI Synthesis and Hippocampal Subfield Segmentation in Routine 3T MRI Syn_SegNet:用于常规 3T MRI 中超高场 7T MRI 合成和海马亚场分割的联合深度神经网络背景贡献实验为了确定哪个模态分割最…