kali-frp内网穿透

2023-12-24 18:55:34


什么是内网穿透?

内网,就是在公司或者家庭内部,建立的局域网络或者是办公网络,可以实现多台电脑之间的资源共享,包括设备、资料、数据等。而外网则是通过一个网关与其它的网络系统连接,相对于内网而言,这种网络系统称之为外部网络,常见的就是我们日常使用的互联网。

一般而言,在没有固定公网IP的情况下,外网设备无法直接访问内网设备。而内网穿透技术,顾名思义就是能让外网的设备找到处于内网的设备,从而实现数据通信。

内网穿透的原理

内网穿透,又称为NAT穿透。NAT背后的设备,它们的主要特点是 ,可以访问外网,但不能被外网设备有效访问。基于这一特点,NAT穿透技术是让NAT背后的设备,先访问指定的外网服务器,由指定的外网服务器搭建桥梁,打通内、外网设备的访问通道,实现外网设备访问到内网设备。

该技术除了可以访问隐藏在NAT后的设备,同样可以穿透防火墙。这是因为防火墙一般只拦截了入站没有拦截出站,所以也可以让防火墙内的设备对外提供服务。

由于内网设备并不是与外网设备直接相连,所以在安全性上是毋庸置疑的,内网穿透可以说是安全与效率兼得。

一、使用第三方软件进行内网穿透

kali(192.168.64.129)下载 花生壳

┌──(root?kali)-[~]
└─# wget "https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.deb" -O phddns_5.3.0_amd64.deb

┌──(root?kali)-[~]
└─#  dpkg -i phddns_5.3.0_amd64.deb   

浏览器设置内网穿透到CentOS(192.168.64.159)

在这里插入图片描述

访问域名成功

在这里插入图片描述

二、搭建自己的 frp 内网穿透服务器

中文文档地址:https://gofrp.org/docs/
github 下载地址:https://github.com/fatedier/frp/releases

上传到服务器端

[root@VM-0-14-centos ~]# tar xf frp_0.53.2_linux_arm64.tar.gz 
[root@VM-0-14-centos ~]# cd frp_0.53.2_linux_arm64/
[root@VM-0-14-centos frp_0.53.2_linux_arm64]# ls
frpc  frpc.toml  frps  frps.toml  LICENSE
  • frpc 客户端程序
  • frpc.toml 客户端配置文件
  • frps 服务端程序
  • frps_toml 服务端配置文件
[root@VM-0-14-centos ~]# vim frps.toml

frps.toml

{必选} 客户端与该端口建立连接

bindPort = 37000 

(可选)配置 frp 仪表盘以及认证
我们前面启动服务端仅配置了侦听端口,实际上 frp 服务端有很多配置参数,比如 frp 可以提供 web 界面查看所有访问请求的详细信息。以及服务端和客户端连接时进行认证,否则其他人都可以映射 到你的 frp 服务器。

frps.toml

bindPort = 37000 #{必选} 客户端与该端口建立连接
log.to = "console" #{可选}  日志配置,通过打印的方式输出日志
vhostHTTPPort = 37100 #{可选} http代理需要,当访问该端口时跳到对应本地frpc代理,如果要发布 web 服务则需配置该项。
vhostHTTPSPort = 37200  #{可选} https代理需要,当访问该端口时跳到对应本地frpc代理
transport.tcpMux = true #tcp流多路复用(优化传输,需一致)

#身份验证

auth.method = "token"  #{可选}身份验证方式 
auth.token = "password" #token设置密码,用于通过身份验证创建连接

#frp服务仪表板配置

webServer.port = 37300  #{也可自行修改端口}      
webServer.addr = "0.0.0.0" #服务器的内网ip或者域名  
webServer.user = "admin" #登录用户名{可自行修改}    
webServer.password = "qwe@@@123456789AAAAAAAAA" #登录密码{可自行修改}

启动frp服务(单次运行)

[root@VM-0-14-centos frp_0.53.2_linux_amd64]# ./frps -c ./frps.toml

在这里插入图片描述

在本地 Kali 启动客户端

┌──(root?kali)-[~]
└─# tar -zxvf frp_0.53.2_linux_amd64.tar.gz 

┌──(root?kali)-[~]
└─# cd frp_0.53.2_linux_amd64  

┌──(root?kali)-[~/frp_0.53.2_linux_amd64]
└─# vim frpc.toml 

配置frpc.toml

serverAddr = "服务器公网ip"
serverPort = 37000
auth.token = "password"
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "192.168.64.159"
localPort = 80
remotePort = 37001

common 配置指定了服务端 IP 地址和端口,这样客户端可以和服务端之间建立通讯。

配置中指定了协议为tcp,映射IP:192.168.64.159 本地端口:80 ,映射到服务端端口:37001,如果配置成功访问云主机公网 IP 的37001 端口表示访问我们内网CentOS主机 80 端口。

┌──(root?kali)-[~/frp_0.53.2_linux_amd64]
└─# ./frpc -c frpc.toml

启动成功

在这里插入图片描述

查看 server 端日志

在这里插入图片描述

内网穿透成功

在这里插入图片描述

查看仪表盘

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_18931093/article/details/135184034
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。