进一步理解http,通过sockek发起http协议格式请求

2024-05-04 11:48

本文主要是介绍进一步理解http,通过sockek发起http协议格式请求,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很多时候hook http 抓不到包也许是人家通过socket完成的,这socket也给了我很大启发,以后搞c代码加密的时候用jni调用socket也是可以完成一定的伪装工作的.

抓包

记性不够好,记不住怎么写的了,我觉得是可以理解的,我无法理解那些让我口述原理的面试官,我的记忆有问题,那么我的搬运能力就不一定有问题,有时候我的记忆只是关联一下,很多东西要做的时候不理解完全可以搜索到我之前巩固的东西,然而面试官需要你当时能清楚的描述一件事物,对我来说非常痛苦,简直跟以前考试一样不爽。

j先完成抓包工作
请求头信息

GET /about/ HTTP/1.1
Host: qssq666.cn
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://qssq666.cn/2017/06/01/%E6%96%B0%E5%8A%A8%E6%80%81/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: Uxxxxxxxxxx不告诉你
If-Modified-Since: Sat, 19 May 2018 14:34:23 GMT

响应头信息

HTTP/1.1 304 Not Modified
Date: Sat, 26 May 2018 10:32:13 GMT
Via: 1.1 varnish
Cache-Control: max-age=600
Expires: Fri, 25 May 2018 22:30:08 GMT
Age: 9
Connection: keep-alive
X-Served-By: cache-hnd18729-HND
X-Cache: HIT
X-Cache-Hits: 2
X-Timer: S1527330733.027674,VS0,VE0
Vary: Accept-Encoding
X-Fastly-Request-ID: 38bcf151abc24985031263ebd6db1a5c1d82c091
image.png

模拟常规get的操作

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;public class SocketTest {public static void main(String[] args) throws IOException {Socket socket = new Socket("www.qssq666.cn", 80);// ip地址或者域名// 端口号,如果是https则是443// 接受数据的输入流final BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));// 发送数据 输出流BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));bw.write("GET /about/ HTTP/1.1");bw.write("\n");bw.write("Host: qssq666.cn");bw.write("\n");bw.write("Connection: Keep-Alive");bw.write("\n");bw.write("\n");bw.flush();System.out.println("execute....");while (true) {String line = null;try {// System.out.println("========readLineStart=======");while ((line = br.readLine()) != null) {System.out.println("" + line);}// System.out.println("========readLineEnd=======");} catch (IOException e) {System.err.println("出现异常:" + e.toString());e.printStackTrace();}// System.out.println("========================");}}
}

需要注意的问题就是每一行写入都需要换行,这个和抓包发现的格式是差不多的,最后是头部请求完毕之后再补上一个换行否则也不会成功。会一直等待响应

image.png

吃完饭用php写个本地的post参数的接受。然后再发一下post的手写

更多参考内容https://blog.csdn.net/aaron_yang666/article/details/52795978

这篇关于进一步理解http,通过sockek发起http协议格式请求的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959128

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建