Fiddler Everywhere && HTTP

Fiddler Everywhere中图标

The Live Traffic List uses the icons listed below to provide additional context for each recorded session. Hover on an icon on an entry in the Live Traffic list to trigger an explanatory tooltip.
在这里插入图片描述
完整版可参考: https://docs.telerik.com/fiddler-everywhere/user-guide/live-traffic/live-traffic

抓包

牛刀小时

修改百度搜索内容,Composer中可以输入修改请求参数。可以看出我将请求参数修改为%号了。
在这里插入图片描述

Connect

选取公众号的一篇文章千古第一骈文进行抓包。

在这里插入图片描述
对应上面的图标,可知The request used the HTTP CONNECT method - establishes a tunnel used for HTTPS traffic.

CONNECT mp.weixin.qq.com:443 HTTP/1.1
Host: mp.weixin.qq.com:443
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.

Version: 3.3 (TLS/1.2)
Random: 51 77 BE 85 69 6F 64 15 B3 E2 C6 97 1E 91 26 53 5B 63 D6 97 01 C4 91 00 46 2E AB E6 0E 5F 5B EE
"Time": 2041/2/7 下午8:15:13
SessionID: 01 54 46 DA 04 9B 17 75 6C 56 0F 15 88 6B 6F FA AB EB AD E7 42 6C F3 0B DB C5 B7 C9 CA 11 66 00
Extensions: 
	grease (0x1a1a)	empty
	server_name	mp.weixin.qq.com
	extended_master_secret	empty
	renegotiation_info	00
	supported_groups	grease [0xdada], x25519 [0x1d], secp256r1 [0x17], secp384r1 [0x18]
	ec_point_formats	uncompressed [0x0]
	SessionTicket	empty
	ALPN		h2, http/1.1
	status_request	OCSP - Implicit Responder
	signature_algs	ecdsa_secp256r1_sha256, rsa_pss_rsae_sha256, rsa_pkcs1_sha256, ecdsa_secp384r1_sha384, rsa_pss_rsae_sha384, rsa_pkcs1_sha384, rsa_pss_rsae_sha512, rsa_pkcs1_sha512
	SignedCertTimestamp (RFC6962)	empty
	key_share	00 29 DA DA 00 01 00 00 1D 00 20 91 C0 DA D8 5E B4 87 6E B4 DC 15 06 F5 CF 07 2E FB 4E DA 86 C2 9F 5D 4D 07 BE 2E BF 48 E5 6D 7A
	psk_key_exchange_modes	01 01
	supported_versions	grease [0xfafa], Tls1.3, Tls1.2, Tls1.1
	0x001b		02 00 02
	grease (0x5a5a)	00
	padding		204 null bytes
Ciphers: 
	[1A1A]	Unrecognized cipher - See https://www.iana.org/assignments/tls-parameters/
	[1301]	TLS_AES_128_GCM_SHA256
	[1302]	TLS_AES_256_GCM_SHA384
	[1303]	TLS_CHACHA20_POLY1305_SHA256
	[C02B]	TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
	[C02F]	TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	[C02C]	TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
	[C030]	TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
	[CCA9]	TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
	[CCA8]	TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
	[C013]	TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
	[C014]	TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
	[009C]	TLS_RSA_WITH_AES_128_GCM_SHA256
	[009D]	TLS_RSA_WITH_AES_256_GCM_SHA384
	[002F]	TLS_RSA_WITH_AES_128_CBC_SHA
	[0035]	TLS_RSA_WITH_AES_256_CBC_SHA

Compression: 
	[00]	NO_COMPRESSION

关于HTTPS,可参考 通过Wireshark分析HTTPS(1)

HTTP的一些状态和字段

refer: 它就是表示一个来源。看下图的一个请求的 Referer 信息。在这里插入图片描述这里可以看出来源是从www.bt4kyy.com过来的.

403: 出现403是因为服务器拒绝了你的地址请求,很有可能是你根本就没权限访问网站,就算你提供了身份验证也没用。讲真,很有可能是你被禁止访问了。
除非你与Web服务器管理员联系,否则一旦遇到403状态码都无法自行解决。

504: 代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。
204: 空内容 服务器成功执行请求,但是没有返回信息。
0: 当rule设置为reset/drop的时候,Result是0。
drop: Close the client connection immediately without sending a response.
reset: Reset the client connection immediately using a TCP/IP RST to the client.
关于RST:RST标示复位、用来异常的关闭连接。

  • 发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓冲区中的包,发送RST。
  • 而接收端收到RST包后,也不必发送ACK包来确认。

exit: Stop processing rules at this point.
在这里插入图片描述

下载文件的js脚本

知道需要下载文件的url,使用下面的脚本就可以实现下载。

<script type='text/javascript'>
top.location='https://down.7yolgame.com/***.apk';
</script>

Fiddler Everywhere中的正则表达式

官网中的String Literals功能感觉用途不太大,很多时候达不到要求,不知道什么原因根本没有作用,推测这个功能被废弃了。
在这里插入图片描述这里主要看正则表达式:
regex:(.*)www.ofgksa.com:10443/(.*)
drop掉网站信息。

Meddler

目前只有exe程序,需要windows系统。个人理解,据此可以实现请求的拦截,响应的拦截等功能。

Meddler is a HTTP(S) Generation tool based around a simple but powerful JScript.NET event-based scripting subsystem. It’s kinda like a basic nodeJS test server, but a little more user-friendly.

下面的代码是通过Fiddler Everywhere导出的Meddler script,运行的话需要windows安装meddler工具。

简单解释下代码,当又请求http://localhost:8088shakespeare/notes/29e0ba31fb8d/recommendations的时候,响应头和响应体会被设置。

import Meddler;
import System;
import System.Net.Sockets;
import System.Windows.Forms;

// Script generated by Fiddler2 export.
// You can set options for this script using the format:
//     ScriptOptions("StartURL" (where {$PORT} is autoreplaced by the Meddler port number), "Optional HTTPS Certificate Thumbprint", "Random # Seed")
public ScriptOptions("http://localhost:{$PORT}/shakespeare/notes/29e0ba31fb8d/recommendations")
class Handlers
{
	static function OnConnection(oSession: Session)
	{
	try {
		if (oSession.ReadRequest())
		{
			var oHeaders: ResponseHeaders = new ResponseHeaders();
			if (oSession.requestHeaders.Path == '/shakespeare/notes/29e0ba31fb8d/recommendations')
			{

				oHeaders.Version='HTTP/1.1';
				oHeaders.Status='200 OK';

				oHeaders.Add('Server', 'Tengine');
				oHeaders.Add('Date', 'Sun, 14 Mar 2021 11:06:42 GMT');
				oHeaders.Add('Content-Type', 'application/json; charset=utf-8');
				oHeaders.Add('Transfer-Encoding', 'chunked');
				oHeaders.Add('Connection', 'keep-alive');
				oHeaders.Add('Vary', 'Accept-Encoding');
				oHeaders.Add('X-Frame-Options', 'DENY');
				oHeaders.Add('X-XSS-Protection', '1; mode=block');
				oHeaders.Add('X-Content-Type-Options', 'nosniff');
				oHeaders.Add('ETag', 'W/"2ef5130a02844285dd24b1944b547bfb"');
				oHeaders.Add('Cache-Control', 'max-age=0, private, must-revalidate');
				oHeaders.Add('Set-Cookie', 'locale=zh-CN; path=/');
				oHeaders.Add('Set-Cookie', '_m7e_session_core=31e97c979dd3afee7d6cb2e17c9bc8ec; domain=.jianshu.com; path=/; expires=Sun, 14 Mar 2021 17:06:42 -0000; secure; HttpOnly');
				oHeaders.Add('X-Request-Id', 'be8871a7-fe3d-43e8-a4dd-93b527b8e3f0');
				oHeaders.Add('X-Runtime', '0.089191');
				oHeaders.Add('Strict-Transport-Security', 'max-age=31536000; includeSubDomains; preload');
				oHeaders.Add('Content-Encoding', 'gzip');
				oSession.WriteString(oHeaders);

				oSession.WriteBytes(Convert.FromBase64String('MjAxDQofiwgAAAAAAAADrdJNaxNBGAfwr7LsOS/zPrM56kW8KGygB5Ew2Z1Np1l3l85GD1LQgjEiLYVSsfQQREQvIuLBFqP9MJrd9JSv4NRKEre9CD3tMg8z/H/P89x77OrQbXGBGOMU1FwTD3puywVR6KEgCAClyq25sTZ5Rz+QPdUZbMa2vp7nmWk1m4MsTmVY/1MyjQ0tE7M+aOj0b+HijmlCT3iUQFEHoUBRSAjnQcRBROzbuc5jZZ+cnb6ejoa/jneK42fOzTTta/XzyVNfGaPTxP610746/95ea88nY3vxoVaPTCdIB0nutiDEwMaPdV8tz4jYql0ABcSMQ4QWQC4FUgxCIrB3HUCCiAcBqSsiCMMM2MYxjhVqZElvBVmOP57t/yh23013x+XesKogFFcNCwEBAgAPLgQQQ8EBQop2wbUIMLAAXIdddp6dcmU7xhlqbGSrglvt9l1/9ulr8Xl7dvq8/PCyaoDQdvnfOSynADyAOV8aFLQHgYwwplcZVjo33Tkot0/Kw2/T7wfzycjXSS9Wjq97iXMnmU9ezN6/nQ6/FK9OijejS5EAJ9VMcBEKIE49QhehSGiHJykMwm54Vaj/3H2BIPCY7StFEYuwlF0lhZTVzfCzTUtybqRp7iDn7GhYjPacNdU1adBX+SWR3bCKCKGt+78BXVuLgs8DAAANCjANCg0K'));
				oSession.CloseSocket(); return;
			}
		}
		oSession.CloseSocket();
		}
		catch(e) {MeddlerObject.Log.LogString("Script threw exception\n"+e);}
	}
}

stream

By default, Fiddler Everywhere uses buffering mode, which means that the responses are fully collected before any part is sent to the client. Buffering alters the responses (for example, an image won’t begin to download until the containing page download is complete). With streaming mode, the server’s responses are immediately returned to the client as it is downloaded. In streaming mode, tampering with the response body is not possible.

公众号

更多内容, 欢迎关注我的微信公众号: 无情剑客。
在这里插入图片描述

相关推荐
<p> <span style="font-size:14px;color:#E53333;">限时福利1:</span><span style="font-size:14px;">购课进答疑群专享柳峰(刘运强)老师答疑服务</span> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:14px;"></span> </p> <p> <span style="font-size:14px;color:#337FE5;"><strong>为什么需要掌握高性能的MySQL实战?</strong></span> </p> <p> <span><span style="font-size:14px;"><br /> </span></span> <span style="font-size:14px;">由于互联网产品用户量大、高并发请求场景多,因此对MySQL的性能、可用性、扩展性都提出了很高的要求。使用MySQL解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;">为了让大家快速系统了解高性能MySQL核心知识全貌,我为你总结了</span><span style="font-size:14px;">「高性能 MySQL 知识框架图」</span><span style="font-size:14px;">,帮你梳理学习重点,建议收藏!</span> </p> <p> <br /> </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202006031401338860.png" /> </p> <p> <br /> </p> <p> <span style="font-size:14px;color:#337FE5;"><strong>【课程设计】</strong></span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;">课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。</span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;"></span> </p> <p style="text-align:justify;"> <span style="font-size:14px;"><strong>一、性能优化篇:</strong></span> </p> <p style="text-align:justify;"> <span style="font-size:14px;">主要包括经典 MySQL 问题剖析、索引底层原理和事务与锁机制。通过深入理解 MySQL 的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。</span> </p> <p style="text-align:justify;"> <br /> </p> <p style="text-align:justify;"> <span style="font-size:14px;"><strong>二、MySQL 8.0新特性篇:</strong></span> </p> <p style="text-align:justify;"> <span style="font-size:14px;">主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。</span> </p> <p style="text-align:justify;"> <br /> </p> <p style="text-align:justify;"> <span style="font-size:14px;"><strong>三、高性能架构篇:</strong></span> </p> <p style="text-align:justify;"> <span style="font-size:14px;">主要包括主从复制和读写分离。在企业的生产环境中,很少采用单台MySQL节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。</span> </p> <p style="text-align:justify;"> <br /> </p> <p style="text-align:justify;"> <span style="font-size:14px;"><strong>四、面试篇:</strong></span> </p> <p style="text-align:justify;"> <span style="font-size:14px;">程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频MySQL问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。</span> </p>
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值