使用ngrok实现内网穿透

2017-08-10  本文已影响26人  QUSIR

安装依赖项

sudo apt-get install supervisor

sudo apt-get install mercurial git gcc 

安装go

tar -C /usr/local -xzf go1.8.1.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc

使环境变量生效

source .bashrc 

同步代码

git clone https://github.com/inconshreveable/ngrok.git

生成密匙

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=lianghuanhan.club" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=lianghuanhan.club" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

复制密匙

cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key

编译源码

make release-server

make release-client

编译win7 64位客户端

GOOS=windows GOARCH=amd64 make release-client

启动服务器端

./ngrokd -domain="lianghuanhan.club" -httpAddr=":8088" -httpsAddr=":8089"

启动客户端

编辑配置文件
vim ngrok.cfg 
写入以下数据

server_addr: lianghuanhan:4443
trust_host_root_certs: false

linux 64位客户端

监听http 80端口
./ngrok -subdomain pub -proto=http -config=ngrok.cfg 80
监听tcp 22端口
./ngrok -subdomain pub -proto=tcp -config=ngrok.cfg 22

windows 64位客户端

监听远程桌面端口
ngrok.exe -subdomain pub -proto=tcp -config=ngrok.cfg 3389

在浏览器中输入:localhost:4040 (在客户端上)

可以查看所有的请求情况!

view

注意事项

1.为lianghuanhan.club添加dns解析

添加两条A记录:lianghuanhan.club和*.lianghuanhan.club,指向lianghuanhan.club所在的服务器ip。

2.客户端ngrok.cfg中server_addr后的值必须严格与-domain以及证书中的"/CN=lianghuanhan.club"相同,必须先生成证书,拷贝到相应目录,再编译代码。

上一篇下一篇

猜你喜欢

热点阅读