流量代理第一弹:入门使用

news2025/1/16 13:59:23

定义

“流量代理是一种网络通信技术,它充当网络通信的中间人,将流量从一个地方传递到另一个地方。通常用于实现网络隧道、网络加速、访问控制和隐私保护等功能。“

上面是来自chatGPT的回答。从这个回答中,我们不难看出,流量代理并不仅仅适用于网络安全,但是对于网络安全人员来说尤为重要:

  1. 通过流量代理,隐藏自己的真实IP,防止被溯源

  2. 将流量转发到内网,让我们访问到一些原本访问不到的业务或站点

  3. 构建私密隧道,防止一些敏感信息泄漏

流量代理的方式

在正式开始去讲一些代理方式的实现之前,我们需要了解几个概念:

  1. 正向代理

  2. 反向代理

  3. 隧道代理

  4. 透明代理

  5. SSL/TLS代理

正向代理

客户端通过设置,流量发送到代理服务器,由代理服务器代为访问。

图片

通过这样的方式,当我们再去访问目标时,目标记录的IP就来自代理服务器了。通过这样的方式就隐藏了自己的真实IP。
基于这样的形式一个访问形式,你们有没有想到什么实战环境?
这个和企业网络环境是不是有一个共通之处:

图片

默认情况下我们是无法直接访问到企业内网的,但是我们能访问到企业的web服务器。在不考不考虑防火墙拦截的前提下,如果我们让上图中的服务器变成一台代理服务器,那我们是不是就可以借助它去访问到企业内网了呢?

再思考一下,我们现在是直接通过客户端去访问目标服务器,那么在目标服务器上的日志记录,是不是就直接记录下了你的IP?那么有什么方式让他记录下来的IP不是你的真实IP呢?

反向代理

服务器端通过设置,将某个服务映射到代理服务器上,当互联网上的用户去访问代理服务器时,服务器端提供服务

图片

有发现和正向代理的区别吗?反向代理是在设置服务器端。通过服务器端的设置,将业务映射到互联网。这样大家都能进行访问了。那么,对于这种方式的代理,你们有想到什么场景吗?

图片

由于是服务器主动向外发送数据请求建立连接的,所以在很大程度上绕过防火墙的限制,访问到原本不被允许访问到的内容。

从上面的原理来看,反向代理在实战中好像并没有得多大用处?当我能将服务器上的业务映射到代理服务器上时,通常也意味着我能控制目标服务器了,那我还有必要去构建反向代理吗?

理是这么个理,但是需要考虑一点:防火墙的防护针对墙外往墙内的流量更加严格,而墙内往墙外的流量相对会更宽松。

正向代理

想要实现正向代理,很显然,我们需要搭建一个代理服务器,同时需要借助一些工具,将客户端的流量给转发到代理服务器上。所以,我们需要使用到两个工具:

  1. Neo-reGeorg 代理服务器搭建脚本

  2. Proxifier 客户端流量代理工具

Neo-reGeorg使用

下载地址:https://github.com/L-codes/Neo-reGeorg

将文件下载解压之后,就可以获得Neo-reGeorg了

图片

通过阅读他的说明文档,就能非常清晰明了的利用Neo-reGeorg搭建一个正向代理服务器。

图片

首先设置代理服务器的密码,然后将生成的脚本,上传至对用的目标网站,最后利用neoreg.py脚本,就可以成功搭建代理服务器

通过文档中的说明,初始化密钥

图片

然后将文件上传,成功之后访问,服务器返回空白内容

图片


然后通过脚本启动代理服务

图片

Proxifier使用

我使用的这个版本没有找到在线的下载地址,不过我再网上找到了一个4.05版本的。使用上应该都差不多。

下载地址:https://www.iculture.cc/software/pig=3876

双击运行,然后 配置文件 → 代理服务器 → 添加 → 地址、端口、协议等信息

图片

配置完成之后保存,接下来就是去设置代理规则:

配置文件 → 代理规则 → 添加 → 应用程序、动作 等

图片

我在这里为了演示,是将chrome浏览器设置到了proxifier代理中。然后通过使用chrome和edge分别访问ifconfig.me,来体现初流量代理是否成功

图片

不难看出,edge获取到的是我当前的真实IP,而chrome则已经是使用了代理的IP地址。

拓展

除了使用proxifier进行终端流量代理之外,其他能够实现流量转发的工具也都可以使用哦。比如浏览器通过插件设置socks5代理,地址和端口为neoreg监听的地址即可

图片

frp实现内网穿透、反向代理

从反向代理的原理不难看出,我们需要三样东西:

  1. 公网服务器

  2. 代理服务器端的工具

  3. 目标服务器端的工具

公网服务器

这个东西没有什么好讲的,自行购买就可以了。优先考虑国外的vps。

代理工具

frp具有服务器端脚本和客户端脚本我们需要做的事情有两件:

  1. 在自己的vps上配置和运行frp服务端脚本

  2. 在目标服务器上配置和运行frp客户端脚本

捋清了思路之后,就可以开始操作了。

下载地址:https://github.com/fatedier/frp

GitHub上的frp有两种方式可供选择:源码和已编译的应用程序

图片

通常情况下我们下载编译好的应用程序就行,选择对应的平台,然后下载,之后上传一份到vps上,上传一份到目标服务器上。

图片

将下在好的文件上传至你的vps,然后再vps中解压,此时你会发现,文件中中包含了frpc和frps两种类型的文件:

图片

frpc表示客户端脚本,frps表示服务器端脚本。我们在自己的vps上是需要部署frps,所以先修改frps.ini文件,修改内容如下(极简风格):

图片

配置完成之后,接下来就是运行frps,如果出现下面的内容就表明frps运行成功

图片

接下来就是去目标服务器上搭建frpc了,我这里为了方便,就在使用本地windows笔记本电脑作为目标服务器。所以我需要下载windows的frp软件

图片

此时我们是需要搭建frp的客户端,所以我们需要修改frpc相关的配置文件

图片

目前frp支持的协议包括:tcp、udp、http、https、socks、forward-unix-domain-socket、p2p-mode等等的协议。我这里选了两种比较常用的的协议来进行映射:tcp 和 socks5

修改完配置文件之后,接下来就是去运行frpc应用,出现以下内容就表明代理设置成功了

图片

然后我们就可以进行测试了:vps 的 tcp/8107 端口 映射了笔记本电脑的 tcp/8081 端口,首先在笔记本电脑本地访问 http://127.0.0.1:8081,不难确定运行的服务是 finecms 框架。

图片

然后访问frp代理服务器的8107端口。服务一致,说明代理设置成功。

图片

这是TCP端口的代理,除此之外还有 tcp/8108 的socks5代理。

socks协议相对来说比较特殊,我们想要通过socks协议来访问站点,需要进行一些特殊的设置:比如使用proxifier来设置代理、通过proxychains设置代理。

我刚好身边有一台mac mini,mac的终端是接受直接设置为代理的。所以我就直接通过mac的终端来测试socks是否成功映射:

图片

不难看出,这个代理也是成功了的。不难看出,这个代理也是成功了的。

  申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

免费领取安全学习资料包!

渗透工具

技术文档、书籍

 

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

 

应急响应笔记

学习路线

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专利视角下的量子竞赛:《2024全球专利格局白皮书》

2024年1月,欧洲量子产业联盟(QuIC)发布了题为《全球量子技术专利格局描述》的综合白皮书。 该文件以透明的视角展示了当今的知识产权格局,包括知识产权持有人的地理分布。该文件由 QuIC 知识产权(IP)与贸易…

【学习笔记】Python 使用 matplotlib 画图

文章目录 安装中文显示折线图、点线图柱状图、堆积柱状图坐标轴断点参考资料 本文将介绍如何使用 Python 的 matplotlib 库画图,记录一些常用的画图 demo 代码 安装 # 建议先切换到虚拟环境中 pip install matplotlib中文显示 新版的 matplotlib 已经支持字体回退…

Linux Docker下载镜像更改默认存储位置/usr/lib/docker

用于解决docker默认存储位置磁盘空间不足,切换存储位置 1、执行下面命令查看 现在docker的存储位置 docker info | grep "Docker Root Dir" 1.2、如果之前已经下载过镜像可以用mv命令把原来的镜像复制到新的地址 mv /var/lib/docker /data/docker 2、…

vue3中的ref、isRef、shallowRef、triggerRef和customRef

1.ref 接受一个参数值并返回一个响应式且可改变的 ref 对象。 ref 对象拥有一个指向内部值的单一属性 .value property &#xff0c;指向内部值。 例&#xff1a;此时&#xff0c;页面上的 str1 也跟着变化 <template><div><button click"handleClick&quo…

RK3588构建ubuntu22.04根文件系统

前言 RK系列的平台提供了buildroot和debian的系统&#xff0c;使用脚本可以直接构建出来&#xff0c;但是没有提供ubuntu的系统&#xff0c;很多厂商只提供一个rootfs.img的固件包&#xff0c;没有将方法开源出来。本文实现了从ubuntu官网开始构建一个ubuntu22.04根文件系统。…

python数字验证码自动识别

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在网络上&#xff0c;许多网站和应用程序使用验证码&#xff08;Completely Automated Publ…

Vue2 —— 学习(十一)

目录 一、路由 vue-router &#xff08;一&#xff09;路由与路由器 &#xff08;二&#xff09;vue-router 理解 &#xff08;三&#xff09;SPA 理解 &#xff08;四&#xff09;路由 理解 &#xff08;五&#xff09;小案例 1.About.vue 2.Home.vue 3.index.js 4…

移动端应用(APP)如何设计测试用例?

为 APP 设计测试用例需要考虑移动设备的特殊性&#xff0c;如不同的操作系统、设备尺寸、硬件特性以及应用程序自身的特定功能。 以下是为APP设计测试用例时要考虑的内容&#xff1a; 1. 理解需求 熟悉APP的功能需求、用户故事和设计文档。 确定APP的目标用户群体、使用场景…

12.Blender 界面介绍(上)及物体基础编辑操作

设置语言 首先在菜单栏打开编辑-Preferences-界面-翻译&#xff0c;可以修改语言 这里使用的是Steam上下载的4.1版本 工具栏 左边的工具栏&#xff0c;按T就会出现&#xff0c;再按T就会隐藏 右边的工具栏是按N&#xff0c;按N显示&#xff0c;再按N隐藏 旋转画面 长按鼠…

MySQL基础之单表操作(定义DDL,增删改DML,查DQL)

目录 一、概述1.1 什么是数据库1.2 连接MySQL1.3 数据模型1.4 SQL语句的分类1.5 数据类型 二、数据库设计-DDL2.1 数据库层面2.2 数据表层面创建表约束查询修改add,modify,change,drop,rename(表)删除 三、数据库操作-DML3.1 添加数据insert3.2 修改数据update3.3 删除数据dele…

做外贸与其质疑,不如脚踏实地做事

小莉说最近好多自媒体添加WhatsApp的客户都是非洲的&#xff0c;有些打电话过来都不想接&#xff0c;因为他们都是没钱的主&#xff0c;接着还截图了一个客户头像给我&#xff0c;很不耐烦地说&#xff1a;像这种抽烟的客户头像&#xff0c;一看就不是正经人&#xff0c;无论他…

土压力计:监测地下压力变化的必备工具

在土木工程、地质勘探和地下建筑等领域&#xff0c;地下土壤的力学特性对工程的稳定性和安全性起着至关重要的作用。而土压力计作为一种重要的监测设备&#xff0c;能够准确地测量地下土壤的压力变化&#xff0c;为工程设计和施工提供关键数据。本文将探讨土压力计的原理、应用…

CRAFT文字检测算法解析和基于C++和TensorRT的推理实现

本文讲解了CVPR 2019的一篇文字检测算法《Character Region Awareness for Text Detection》的原理&#xff0c;并给出我使用C和TensorRT重新实现的推理&#xff0c;速度比原版代码快12倍。 论文&#xff1a;https://arxiv.org/pdf/1904.01941.pdf 官方代码&#xff1a;https:…

echarts地图记录

小记录&#xff1a; 如果调整地图大小不管用的时候&#xff0c;看一下map的值是否为china 当值为china的时候&#xff0c;地图会加上“南海诸岛”部分&#xff0c;尝试修改map的值

Netfilter漏洞提权利用(CVE-2023-35001)

前言 Netfilter是一个用于Linux操作系统的网络数据包过滤框架&#xff0c;它提供了一种灵活的方式来管理网络数据包的流动。Netfilter允许系统管理员和开发人员控制数据包在Linux内核中的处理方式&#xff0c;以实现网络安全、网络地址转换&#xff08;Network Address Transl…

centos7搭建maven私服nexus

1.nexus Nexus Repository Manager&#xff08;通常简称 Nexus 或 Nexus RM&#xff09;是由Sonatype公司开发的一款开源的、强大的软件仓库管理工具&#xff0c;主要用于企业级的二进制组件&#xff08;如Java库、Node.js模块、Python包等&#xff09;存储、管理和分发。 官方…

定序器导出fbx到max里对位k动作

可以把场景移动到原点去k动作&#xff0c;然后可以恢复到ue4的位置 -- 定义全局变量 global CenterPoint undefined global averageCenter [0,0,0]-- 定义对话框 rollout restoreRollout "定序器>FBX>MAX" (button CreateButton "建立中心点" wid…

使用JS代理 实现大对象的功能拆解

序言 在Android开发中&#xff0c;可以通过webView的addJavascriptInterface方法注入一个对象到网页中。但是随着开发的需求越来越多。这个对象身上的方法也越来越多。这个对象对应的java类&#xff0c;体积越来越大&#xff0c;不利于维护。为了在不影响之前代码的基础上。把…

操作系统安全:Windows与Linux的安全标识符,身份鉴别和访问控制

「作者简介」&#xff1a;2022年北京冬奥会中国代表队&#xff0c;CSDN Top100&#xff0c;学习更多干货&#xff0c;请关注专栏《网络安全自学教程》 操作系统有4个安全目标&#xff0c;也就是说想要保证操作系统的安全&#xff0c;就必须实现这4个需求&#xff1a; 标识系统…

网络协议安全:OSI七层模型分层及作用,数据封装与解封过程,数据传输过程。

「作者简介」&#xff1a;2022年北京冬奥会中国代表队&#xff0c;CSDN Top100&#xff0c;学习更多干货&#xff0c;请关注专栏《网络安全自学教程》 这一章节我们需要知道OSI分哪七层&#xff0c;每层的作用&#xff0c;知道数据在七层模型中是怎样传输的&#xff0c;封包和解…