首页 > 电脑专区 > 电脑教程 >

树莓派ngrok内网渗透(无公网IP)

来源:互联网 2023-02-20 17:33:49 335

没有公网IP(固定IP)的树莓派玩家想在公司或其他地方访问(SSH)到家里的PI是很困难的事。方法大致有【花生壳动态域名解析】【ngrok搭建服务器反向代理】【frp搭建服务器】。本文只讨论ngrok,这样做的目的也方便了网站开发人员随时随地的调试和测试网站,如果你是一个树莓派极客,可以尝试一下, 毕竟公网IP是很少的。41Q办公区 - 实用经验教程分享!

工具/原料

  • 一个树莓派(我用的是树莓派3B,其他1,2代理论上可以,没测试)
  • 一个VPS(虚拟专用服务器)
  • 一台电脑(windows)

方法/步骤

  • 1

    购买香港或国外的vps,我用的是openvzcc的服务器,包年费用大概70元左右,当然性能网速好的较贵点。有了VPS相当于你在境外有了自己的服务器(一台运行着linux的电脑), 也就是有了自己独立的一个固定IP。你可以直接ssh此IP, 以便于管理自己的服务器。41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

  • 2

    有了自己的VPS后要做的事就是ssh上这台server(不懂请自行度之)。41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

  • 3

    下面要做的事情是在vps上编译服务端(运行在vps上)和客户端(运行在树莓派上)。需要说明的是我这里的vps装的是centos 32位的系统。需要准备的环境为:git安装 , go语言安装, ngrok源码下载和配置41Q办公区 - 实用经验教程分享!

  • 3相关内容非法爬取自百度经验
  • 4

    git安装:41Q办公区 - 实用经验教程分享!

    下载:41Q办公区 - 实用经验教程分享!

    wget http://mirrors.ustc.edu.cn/kernel.org/software/scm/git/git-2.9.3.tar.gz41Q办公区 - 实用经验教程分享!

    解压:41Q办公区 - 实用经验教程分享!

    tar zxvf git-2.9.3.tar.gz41Q办公区 - 实用经验教程分享!

    编译:41Q办公区 - 实用经验教程分享!

    cd git-2.9.341Q办公区 - 实用经验教程分享!

    ./configure --prefix=/usr/local/git-2.9.341Q办公区 - 实用经验教程分享!

    make41Q办公区 - 实用经验教程分享!

    make install41Q办公区 - 实用经验教程分享!

    移除低版本git: 41Q办公区 - 实用经验教程分享!

    yum remove git*41Q办公区 - 实用经验教程分享!

    ln -s /usr/local/git-2.9.3/bin/* /usr/bin/41Q办公区 - 实用经验教程分享!

    检查git版本:41Q办公区 - 实用经验教程分享!

    git --version41Q办公区 - 实用经验教程分享!

    41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

  • 5

    go语言安装:41Q办公区 - 实用经验教程分享!

    安装必要包:41Q办公区 - 实用经验教程分享!

    yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c build-essential mercurial41Q办公区 - 实用经验教程分享!

    下载配置go源码:41Q办公区 - 实用经验教程分享!

    wget http://www.golangtc.com/static/go/1.7rc6/go1.7rc6.linux-386.tar.gz41Q办公区 - 实用经验教程分享!

    tar -zxvf go1.7.6.linux-386.tar.gz41Q办公区 - 实用经验教程分享!

    mv go /usr/local/41Q办公区 - 实用经验教程分享!

    ln -s /usr/local/go/bin/* /usr/bin/41Q办公区 - 实用经验教程分享!

    检查go版本:41Q办公区 - 实用经验教程分享!

    go env 41Q办公区 - 实用经验教程分享!

  • 6

    ngrok源码下载和配置:41Q办公区 - 实用经验教程分享!

    下载 : 41Q办公区 - 实用经验教程分享!

    wget https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/ngrok/ngrok.zip41Q办公区 - 实用经验教程分享!

    unzip ngrok.zip41Q办公区 - 实用经验教程分享!

    export GOPATH=~/ngrok/41Q办公区 - 实用经验教程分享!

    export NGROK_DOMAIN="tangwei.vicp.net"41Q办公区 - 实用经验教程分享!

    cd ~/ngrok41Q办公区 - 实用经验教程分享!

    生成证书,Ngrok会使用此证书加密通讯:41Q办公区 - 实用经验教程分享!

    openssl genrsa -out base.key 204841Q办公区 - 实用经验教程分享!

    openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out rootCA.pem41Q办公区 - 实用经验教程分享!

    openssl genrsa -out server.key 204841Q办公区 - 实用经验教程分享!

    openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr41Q办公区 - 实用经验教程分享!

    openssl x509 -req -in server.csr -CA rootCA.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt41Q办公区 - 实用经验教程分享!

    将证书文件复制到指定位置: 41Q办公区 - 实用经验教程分享!

    cp rootCA.pem assets/client/tls/ngrokroot.crt -i41Q办公区 - 实用经验教程分享!

    cp server.crt assets/server/tls/snakeoil.crt -i41Q办公区 - 实用经验教程分享!

    cp server.key assets/server/tls/snakeoil.key -i41Q办公区 - 实用经验教程分享!

    41Q办公区 - 实用经验教程分享!

    41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

  • 7

    编译服务器端与客户端:41Q办公区 - 实用经验教程分享!

    服务端(linux-x86-64)编译: 41Q办公区 - 实用经验教程分享!

    export GOOS=linux41Q办公区 - 实用经验教程分享!

    export GOARCH=38641Q办公区 - 实用经验教程分享!

    make release-server41Q办公区 - 实用经验教程分享!

    客户端编译: 41Q办公区 - 实用经验教程分享!

    export GOOS=linux41Q办公区 - 实用经验教程分享!

    export GOARCH=arm41Q办公区 - 实用经验教程分享!

    make release-client41Q办公区 - 实用经验教程分享!

    41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

  • 8

    部署Ngrok:41Q办公区 - 实用经验教程分享!

    绑定域名:41Q办公区 - 实用经验教程分享!

    把tangwei.vicp.net解析到vps的IP 41Q办公区 - 实用经验教程分享!

    服务器端部署:(vps上运行)41Q办公区 - 实用经验教程分享!

    cp ~/ngrok/bin/ngrokd /usr/bin/41Q办公区 - 实用经验教程分享!

    运行:41Q办公区 - 实用经验教程分享!

    ./ngrokd -domain="tangwei.vicp.net" -httpAddr=":80" -httpsAddr=":443"41Q办公区 - 实用经验教程分享!

    客户端部署:(下载到树莓派下面运行)41Q办公区 - 实用经验教程分享!

    将~/ngrok/bin/linux_arm/ngrok下载到树莓派下,方法可以用winscp(自行百度)41Q办公区 - 实用经验教程分享!

    新建配置文件: 41Q办公区 - 实用经验教程分享!

    mkdir ~/ngrok/ && cd ~/ngrok/41Q办公区 - 实用经验教程分享!

    touch ~/ngrok/ngrok.cfg41Q办公区 - 实用经验教程分享!

    ngrok.cfg填入以下内容:(tcp和http) 41Q办公区 - 实用经验教程分享!

    server_addr: ngrok.sfantree.com:444341Q办公区 - 实用经验教程分享!

    trust_host_root_certs: false41Q办公区 - 实用经验教程分享!

    tunnels:41Q办公区 - 实用经验教程分享!

    http:41Q办公区 - 实用经验教程分享!

    proto:41Q办公区 - 实用经验教程分享!

    http: 8041Q办公区 - 实用经验教程分享!

    subdomain: pi41Q办公区 - 实用经验教程分享!

    ssh:41Q办公区 - 实用经验教程分享!

    remote_port: 1008641Q办公区 - 实用经验教程分享!

    proto:41Q办公区 - 实用经验教程分享!

    tcp: 2241Q办公区 - 实用经验教程分享!

    运行:41Q办公区 - 实用经验教程分享!

    ./ngrok -config=ngrok.cfg start http ssh41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

    树莓派ngrok内网渗透(无公网IP)41Q办公区 - 实用经验教程分享!

  • 注意事项

    • 这里测试时只编译了i386的服务器端和arm的客户端,实际上可以通过改变GOOS与GOARCH来获取各个平台的客户端与服务端,GOOS可以指定为windows、linux 、 freebsd 、darwin (Mac OS X 10.5 or 10.6) 和 nacl (Chrome 的Native Client 接口) ,GOARCH可以指定为amd64 (64-bit x86) 、386 (32-bit x86) 、 和arm (32-bit ARM)

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!41Q办公区 - 实用经验教程分享!


    标签: IP树莓渗透

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码