流量转发映射

时间:2022-07-26
本文章向大家介绍流量转发映射,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

目录

什么是代理

客户端无法直接请求服务器,只能将请求发往转发代理服务器(简称代理服务器),代理服务器将请求转发给服务器,接收到服务器响应后再将响应转发回客户端。适用于客户端从内部网络访问外部网络时,可能由于防火墙的存在无法直接访问外网,这时需要借助转发代理服务器访问外部网络

正向代理

内网不能直接访问外网,要通过代理服务器访问外网。 此时是代理服务器去访问服务器,用户知道我要请求哪个服务器。但是服务器不知道是哪个用户请求的,用户被隐藏了。

反向代理

服务器在内网,用户访问不了。于是服务器把自己的信息放到代理服务器上,然后用户是去访问代理服务器。比如我用我的个人电脑做服务器,搭个网站,可以说我的服务器在内网。显然不能直接从公网上访问到我的网站。这时就需要一个反向代理了。

假设代理服务器的80端口只能从内网访问,8080端口能从公网访问。 用户从公网访问代理服务器的8080端口,上一段说了,服务器将自己的信息放到代理服务器上。代理服务器就在自个身上找,看用户请求的服务器有没有在自己身上留信息。

有的话,代理服务器将用户的请求通过nat等方式转发给80端口,然后代理服务器的80端口去访问处在内网的服务器。

如果用户请求的服务器没有再代理服务器上留下信息。那就不好意思,访问不了。(很显然,我用代理服务器给我内网里的服务器做了代理,所以你能从公网通过代理服务器来访问我的服务器。但是你不能通过这个代理服务器上去访问别人在内网上的服务器吧,他又没在代理服务器上做代理)

ew

-l 指定要监听的本地端口
-d 指定要反弹到的机器 ip  
-e 指定要反弹到的机器端口
-f 指定要主动连接的机器 ip
-g 指定要主动连接的机器端口
-t 指定超时时长,默认为 1000

ew正向代理

kali ip : 172.16.11.83 windows 1 ip :192.168.177.134 windows 2 ip :192.168.0.114

直接用windows 2(192.168.0.114)远程连接windows 1(192.168.177.134)不行。 于是win 2访问kali,kali访问win 1.间接达到了目的。

./ew_for_Linux32 -s lcx_tran -l 1080 -f 192.168.177.134 -g 3389

………………

ew反向代理

./ew_for_linux64 -s lcx_listen -l 1080 -e 8080
ew_for_Win.exe -s lcx_slave -d 192.168.0.114 -e 8080 -f 192.168.177.134 -g 3389

参考资料 https://blog.csdn.net/ws13129/article/details/94445378

https://www.dazhuanlan.com/2019/12/09/5dee274f7ea0d/?cf_chl_jschl_tk=58d918e555ad103b0904672529e4a4934315b53c-1601314345-0-ATMs1q7lqiUsMuHW4PYa5DJxYMDjI9Y1sQCHDu9EPxt_JIgezyh6wLP-4N9fp3glhSsdLlXpdHNcG6768r5R7J0faIp-_g4gDKl8MJWidMXNnE-UZzjHMvaSbUU3ke0xgTgJo3oKmLNkyTPYtE4-3P4r0_4wGqqnn9462FH5ZbRJqLvghisABV2XZYmEefXpJBW3qm2rh1LJv5Kxz6q-cCvrNWDvfn6qxC47FgduwZgbO2usj7k6VCdB5PppBJ6l1kW6Z9r4QyfnW4giO21ByeVIns5mXR7I4RjcvsP8254qM4G-01LB4pV55IGc__0I-Q

ssh

centos ip :172.16.11.78 kali ip:172.16.11.83

首先,centos开启web服务 这里在网站根目录下新建一个123.html文件 内容是 i am 172.16.11.78.也就是centos的ip地址。

ssh正向代理

语法

ssh -L [客户端IP或省略]:[客户端端口]:[服务器侧能访问的IP]:[服务器侧能访问的IP的端口] [登陆服务器的用户名@服务器IP]
-g:允许远程主机连接主机(host)的转发端口;
-f 后台执行ssh指令
-C 允许压缩数据  
-N 不执行远程指令
-R 将远程主机(服务器)的某个端口转发到本地主机指定的端口         //即反向代理
-L 将本地机(客户机)的某个端口转发到远端指定机器的指定端口       //即正向代理
-p 指定远程主机的端口

演示

在kali里输入

ssh -CfNg -L 172.16.11.83:80:172.16.11.78:80 root@172.16.11.78

(直接访问172.16.11.78,访问不了。172.16.11.83可以访问172.16.11.78)

此时,在浏览器里访问172.16.11.83,显示的是172.16.11.78的内容。

ssh反向代理

/etc/ssh/sshd_config

GatewayPorts yes

ssh -R 80:192.168.177.134:22 root@47.*.*.232
Ssh root@localhost –p 80

参考 http://www.toxingwang.com/linux-unix/2581.html

frp内网穿透

客户端:kali 172.16.11.83 服务端:centos 47.*.*.232 (远程主机)

服务器端(1)

服务端将关于客户端的文件删了

rm -rf frpc*

然后修改服务器配置文件(frps.ini)

vi frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080

[common]部分是必须有的配置 bind_port是frp服务端端口 vhost_http_port是http访问端口

然后保存,启动frp服务器端

./frps -c ./frps.ini

客户端(1)

同样,为了避免敲错。客户端将关于服务端的文件都删了。

rm -rf frps*

然后改配置文件

vi frpc.ini
[common]
server_addr = 47.*.*.232
server_port = 7000
# server_addr填frp服务端的ip(也就是外网主机的IP),server_port填frp服务端的bind_prot。

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
# local_port 是本地的ssh端口

[web]
type = http
local_port = 80
custom_domains = www.*.cn
# local_port 是本地的web端口,custom_domains为要映射的域名,记得域名的A记录要解析到外网主机的IP(当然,也可以改hosts文件)

然后保存,运行frp客户端

./frps -c ./frps.ini

时间超时,将远程服务器换成本地虚拟机

服务端(2)

操作同(1),成功操作后反馈如下:

客户端(2)

DNS隧道

……

HTTPS隧道

……

利用知名网站的子域名

比如github、twitter等网站,能允许用户创建子域名。 C&C服务