iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >如何通过 http 代理隧道发送 Client Hello
  • 455
分享到

如何通过 http 代理隧道发送 Client Hello

2024-02-12 18:02:56 455人浏览 泡泡鱼
摘要

问题内容 我有一个客户端将与后端服务建立 tls 连接。 我遇到的情况有两种。 直连网络:客户端--->服务器 在这种环境下,客户端直接连接到服务器,如下代码。 var

问题内容

我有一个客户端将与后端服务建立 tls 连接。

我遇到的情况有两种。

  1. 直连网络:客户端--->服务器

    在这种环境下,客户端直接连接到服务器,如下代码。

var d tls.dialer
   //...
   d.config = &tls.config{
        //...
   }
   //...
   c1 := d.dial("tcp", addr)
  • 代理网络:客户端--->proxy--->服务器

    在这种环境中,客户端位于Http代理后面,客户端需要利用代理http隧道在客户端和服务器之间转发流量。

    我在客户端使用golang.org/x/net/proxy来连接代理,因为代理是http代理,客户端应该使用net.dialer通过tcp连接代理。

  • dailer, err := proxy.FromURL(proxy, &net.Dialer{
            Timeout:   TCP_CONNECT_TIMEOUT,
            KeepAlive: TCP_KEEPALIVE_TIMEOUT,
        })
       c2 := dailer.Dial("tcp", addr)

    案例1,客户端启动tls连接,在网络流量数据包中,客户端触发tcp连接,经过3次握手,客户端向服务器发送client hello

    在情况2中,客户端首先使用tcp连接http代理(例如10.0.0.1:8080),接下来,发送connect到代理,然后代理返回connectionestablished,但是客户端发送client hello 到服务器。

    对于case2,我不知道如何以及在哪里实现在客户端发送client hello

    提前致谢。

    解决方法

    搜索Go doc后,找到了解决方案,希望对后来遇到类似问题的人有用。

    tls中,有一个函数client,可以从现有网络构建。康恩,然后使用 握手

    tlsConn := tls.Client(conn, &tls.Config{
        Certificates:       []tls.Certificate{*cert},
        InsecureSkipVerify: true,
        ServerName:         sni,
        ClientAuth:         tls.RequestClientCert,
    })
    err = tlsConn.Handshake()

    以上就是如何通过 http 代理隧道发送 Client Hello的详细内容,更多请关注编程网其它相关文章!

    --结束END--

    本文标题: 如何通过 http 代理隧道发送 Client Hello

    本文链接: https://www.lsjlt.com/news/563884.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 如何通过 http 代理隧道发送 Client Hello
      问题内容 我有一个客户端将与后端服务建立 tls 连接。 我遇到的情况有两种。 直连网络:客户端--->服务器 在这种环境下,客户端直接连接到服务器,如下代码。 var ...
      99+
      2024-02-12
    • SSH隧道动态转发端口实现SOCKS代理 + HTTP代理(Privoxy)
      一、文章概要 实现效果:ssh连接远程服务器进行网络转发,本地服务连接网络代理环境:windows11/10需要工具:MobaXterm(ssh隧道端口转发),Privoxy(socks转http代理),一个云服务器  二、步骤 1. 用S...
      99+
      2023-09-20
      ssh 服务器 运维
    • WordPress如何通过header给页面发送原生HTTP头
      本文小编为大家详细介绍“WordPress如何通过header给页面发送原生HTTP头”,内容详细,步骤清晰,细节处理妥当,希望这篇“WordPress如何通过header给页面发送原生HTTP头”文章能帮...
      99+
      2023-02-23
      wordpress header http
    • 如何通过http代理ip获取流量
      本篇内容主要讲解“如何通过http代理ip获取流量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何通过http代理ip获取流量”吧!如今,http代理在大家的身边应用是很多的,下面就给大家详细...
      99+
      2023-06-20
    • 计算机网络中如何搭建隧道代理
      这篇文章主要为大家展示了“计算机网络中如何搭建隧道代理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“计算机网络中如何搭建隧道代理”这篇文章吧。简而言之,隧道代理的设置就是以IPV4为载体,将IP...
      99+
      2023-06-20
    • 如何理解IPv6过渡技术中的隧道技术
      如何理解IPv6过渡技术中的隧道技术,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。       基于互联网的快速发展,IPv4地址即将使...
      99+
      2023-06-03
    • Linux下如何通过mail命令发送邮件
      这篇文章将为大家详细讲解有关Linux下如何通过mail命令发送邮件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux下可以通过使用mail命令,利用外部的一个邮箱(比如xxx.163.com)发送...
      99+
      2023-06-27
    • 如何通过CakePHP内置模块发送邮件
      这篇文章主要介绍了如何通过CakePHP内置模块发送邮件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通过CakePHP内置模块发送邮件(Gmail)效果通过事先配置模块,来...
      99+
      2023-06-15
    • Linux服务器集群系统中如何通过IP隧道实现虚拟服务器
      这篇文章主要介绍了Linux服务器集群系统中如何通过IP隧道实现虚拟服务器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux服务器集群系统是当代许多公司采用的解决方案,...
      99+
      2023-06-16
    • 如何开通阿里云代理渠道
      1. 登录阿里云官网 首先,打开浏览器,输入阿里云官网地址(https://www.aliyun.com/),点击进入官网首页。在右上角找到并点击"登录"按钮,输入您的阿里云账号和密码,然后点击"登录"。 2. 进入代理渠道页面 登录成功...
      99+
      2023-10-28
      阿里 渠道
    • 如何通过Java代码实现Jetty的Http服务器
      这篇文章主要讲解了“如何通过Java代码实现Jetty的Http服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过Java代码实现Jetty的Http服务器”吧!Jetty是一个轻...
      99+
      2023-07-02
    • 如何使用shell脚本通过短信发送LOG归类号码发送情况
      这篇文章主要介绍了如何使用shell脚本通过短信发送LOG归类号码发送情况,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:#!/bin/bash#telno ...
      99+
      2023-06-09
    • 如何从 Google Cloud 通过 G-suite 发送电子邮件
      “纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《如何从 Google Cloud 通过 G-suite 发送电子邮件》后,能够真的帮助到大家。我也会在后续的文章...
      99+
      2024-04-05
    • 如何写入内存中的文件,然后通过 HTTP 发送它而不使用中间文件?
      问题内容 我需要请求、处理数据并将其格式化为 csv,然后根据请求通过 web 服务发送它们。 假设请求和处理的数据位于下面的 data 中,我设法使用中间临时文件来做到这一点: pa...
      99+
      2024-02-06
    • PHP、NPM和HTTP:如何通过索引来加速Web开发?
      Web开发是一个快速变化的领域,每天都会涌现出新的技术和框架。然而,无论技术如何变化,加速Web开发始终是开发人员的首要任务之一。在本文中,我们将探讨如何使用PHP、NPM和HTTP索引来加速Web开发。 PHP是一种广泛使用的服务器端编...
      99+
      2023-08-07
      索引 http npm
    • 详解Java是如何通过接口来创建代理并进行http请求
      场景 现在想要做这么一个事情,公司的dubbo服务都是内网的,但是提供了一个对外的出口,通过链接就能请求到对应的dubbo服务。(具体怎么做的应该就是个网关,然后将http请求转为d...
      99+
      2024-04-02
    • 如何使用 amazon smtp 通过端口 587 发送电子邮件
      小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何使用 amazon smtp 通过端口 587 发送电子邮件》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问...
      99+
      2024-04-05
    • 如何通过Python并发编程生成HTTP请求的二维码?
      在当今互联网时代,二维码已经成为了一种非常流行的信息传输方式。而在Python中,通过并发编程生成HTTP请求的二维码也成为了一项非常热门的技术。本文将介绍如何通过Python并发编程生成HTTP请求的二维码。 一、什么是并发编程? 在计...
      99+
      2023-09-21
      http 二维码 并发
    • Mybatis如何通过Mapper代理连接数据库
      这篇文章主要为大家展示了“Mybatis如何通过Mapper代理连接数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mybatis如何通过Mapper代理连接数据库”这篇文章吧。在数据库中创...
      99+
      2023-06-25
    • Java 容器:如何通过 Git 来管理代码?
      Java 容器是 Java 开发中非常重要的一部分,而 Git 是目前最受欢迎的版本控制工具之一。在 Java 开发过程中,使用 Git 来管理代码可以极大地提高开发效率和代码质量。本文将介绍如何使用 Git 来管理 Java 容器中的代码...
      99+
      2023-09-12
      容器 git javascript
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作