Chisel:一款基于HTTP的快速稳定TCPUDP隧道工具

关于Chisel
Chisel是一个快速稳定的TCP/UDP隧道工具,该工具基于HTTP实现其功能,并通过SSH保证通信安全。Chisel是一个可执行文件,其中包含了客户端和服务器端,该工具基于Go(golang)语言开发,因此具备较好的跨平台特性。
Chisel主要可以用于绕过防火墙,但也可以用于向网络中提供安全终端节点。

工具的运行机制如下图所示:
在这里插入图片描述

功能介绍
易于使用;
高性能;
使用SSH协议对通信连接进行加密(通过crypto/SSH);
连接经过身份验证;
通过用户配置文件进行身份验证的客户端;
通过用户配置文件进行身份验证的客户端连接;
通过指纹匹配进行身份验证的服务器连接;
客户端使用指数回退自动重新连接;
客户端可以通过一个TCP连接创建多个隧道端点;
客户端可以选择通过SOCKS或HTTP连接代理;
反向端口转发;
服务器反向代理;
服务器允许SOCKS5连接;
客户端可以选择允许从反向端口进行SOCKS5连接;
支持ssh-o ProxyCommand通过HTTP提供SSH加密;

工具安装:

源码安装
广大研究人员可以点击【https://github.com/jpillora/chisel/releases/latest】访问该项目的Releases页面下载并安装该工具的最新版本,或运行下列命令:
curl https://i.jpillora.com/chisel! | bash

Docker安装
docker run --rm -it jpillora/chisel --help

Fedora
该项目包目前由Fedora社区进行维护,如果你遇到了关于RPM使用的问题,可以使用这个问题跟踪工具【https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=chisel&list_id=11614537&product=Fedora&product=Fedora%20EPEL】
sudo dnf -y install chisel

源安装
$ go get -v github.com/jpillora/chisel

Read more:
https://github.com/jpillora/chisel

工具使用Demo
我们提供了一个Demo应用程序(https://chisel-demo.herokuapp.com/),它会运行这个chisel server:

$ chisel server --port $PORT --proxy http://example.com

#listens on $PORT, proxy web requests to http://example.com
这个Demo应用程序还会运行一个简单的文件服务器(端口为:3000),由于Heroku防火墙的存在,我们是无法直接访问它的。但是,我们可以通过隧道来实现访问:

$ chisel client https://chisel-demo.herokuapp.com 3000

#connects to chisel server at https://chisel-demo.herokuapp.com,

#tunnels your localhost:3000 to the server’s localhost:3000
接下来,打开浏览器并访问localhost:3000,此时我们将看到服务器的文件目录。

安全性
通信连接始终启用了加密。当你启动Chisel服务器时,它将会在内存中生成一个ECDSA公钥/私钥对。其中的公钥指纹(Base64编码的SHA256)将在服务器启动时显示。服务器可以选择使用–key选项指定密钥种子,而不是生成随机密钥,该选项将用于为密钥生成种子。当客户端连接时,它们还将显示服务器的公钥指纹。客户端可以使用–fingerprint选项指定特定的指纹。

身份验证
使用–authfile选项,服务器可以选择提供用户.json配置文件以创建接受的用户访问列表。然后,客户端使用–auth选项进行身份验证。我们可以查看users.json以获取认证配置文件样例。使用–help查看更多帮助信息。

在内部,这是使用SSH提供的密码验证方法实现的。点击【http://blog.gopheracademy.com/go-and-ssh/】了解更多关于SSH加密的信息。

Socks5指引
1、开启你的Chisel服务器:
docker run
–name chisel -p 9312:9312
-d --restart always
jpillora/chisel server -p 9312 --socks5 --key supersecret

2、连接你的Chisel客户端(使用服务器的指纹信息):
chisel client --fingerprint ‘rHb55mcxf6vSckL2AezFV09rLs7pfPpavVu++MF7AhQ=’ :9312 socks

3、指向你的Socks5客户端:
:1080

4、现在你的通信将被加密,并通过HTTP实现已认证的Socks5连接。
项目地址
Chisel:https://github.com/jpillora/chisel

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值