当前位置:   article > 正文

端口转发总结归纳_利用数据据读写权限 端口转发

利用数据据读写权限 端口转发

1. windows

1.1 netsh

需要管理员权限
防火墙必须关闭

在这里插入图片描述

基础命令

#查看已有的转发规则
netsh interface portproxy show all

#防火墙状态
netsh firewall show state 

#查看所有转发规则
netsh interface portproxy show all

#删除规则
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=192.168.1.80

#开启系统防火墙
netsh advfirewall set currentprofile state on

#关闭防火墙
netsh advfirewall set currentprofile state off

#确保3340端口可以被转入
netsh advfirewall firewall add rule name=”3340” protocol=TCP dir=in localip=10.1.1.110  localport=3340 action=allow
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

1. 本地转发

我们配置转发逻辑为将5555端口的流量转发到3389端口

netsh advfirewall set currentprofile state off
netsh interface portproxy add v4tov4 listenport=5555 listenaddress=192.168.171.135 connectport=3389 connectaddress=192.168.171.135 protocol=tcp
netsh interface portproxy show all
  • 1
  • 2
  • 3

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2. 远程转发

将5556端口的流量转发到192.168.171.139的22端口

netsh interface portproxy add v4tov4 listenport=5556 listenaddress=192.168.171.135 connectport=22 connectaddress=192.168.171.139 protocol=tcp
  • 1

在这里插入图片描述
删除上面配置的转发规则:

netsh interface portproxy show all
netsh interface portproxy delete v4tov4 listenport=5555 listenaddress=192.168.171.135
netsh interface portproxy delete v4tov4 listenport=5556 listenaddress=192.168.171.135
netsh interface portproxy show all
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

1.2 natbypass

不需要管理员权限
不需要管理员权限
不需要管理员权限

https://github.com/cw1997/NATBypass

基础命令

命令用法
nb -tran port1 ip2:port2只监听port1,当前主机port1端口接收到流量时,将其转发给ip2:port2
nb -listen port1 port2同时监听两个端口,并对两个端口的数据进行互相转发。
nb -slave ip1:port1 ip2:port2当前主机主动连接ip1:port1和ip2:port2并当作桥梁对数据进行转发。

1. 本地转发

nb-windows-386.exe -tran 5555 192.168.171.135:3389
  • 1

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 远程转发

nb-windows-386.exe -tran 5555 192.168.171.135:3389
  • 1

在这里插入图片描述
在这里插入图片描述

1.3 ew

不需要管理员权限

基础命令

在这里插入图片描述

命令用法
ew -s lcx_tran -l port1 -f ip2 -g port2只监听port1,当port1有流量的时候将其转发给ip2的port2
ew -s lcx_listen -l port1 -e port2监听port1与port2并转发两个端口间的数据
ew -s lcx_slave -d ip1 -e port1 -f ip2 -g port2主动连接IP1的port1和ip2的port2并对这两端口间的数据进行转发
ew -s rssocks -d ip1 -e port1创建一个socks5的反向链接,配合lcx_listen使用
ew -s ssocksd -l port1在本地建立socks5服务,端口为port1
ew -s rcsocks -l port1 -e port2监听port1与port2并转发两个端口间的数据

1. 本地转发

ew_for_Win.exe -s lcx_tran -l 3333 -f 192.168.171.135 -g 3389
  • 1

在这里插入图片描述

在这里插入图片描述

2. 远程转发

ew_for_Win.exe -s lcx_tran -l 3333 -f 192.168.171.139 -g 22
  • 1

在这里插入图片描述

1.4 iox

不需要管理员权限
不需要管理员权限
不需要管理员权限

基本用法

-k 656565#启动流量加密,密码是AAA。

命令用法
iox fwd -l port1 -l port2同时监听两个端口并互相转发数据
iox fwd -l port1 -r ip2:port2监听port1,并将得到的流量转发给ip2的port2
iox fwd -r ip1:port1 -r ip2:port2主动连接两个目标并转发双方的流量
iox proxy -l port1在port1上开启socks5代理

如果我们需要在被控主机上开启socks服务并将服务端口转发到其他机器上则需要如下命令:

#在被控机器上执行,作用是开启socks5代理并回连ip1:port1
iox proxy -r ip1:port1
#在另一台机器上执行
iox proxy -l port1 -l port2

此时我们使用另一台机器的port2端口即可使用socks服务。

https://github.com/EddieIvan01/iox

1. 本地转发

将本地5555端口的流量转发到192.168.171.135的3389

iox64.exe fwd -l 5555 -r 192.168.171.135:3389
  • 1

在这里插入图片描述
在这里插入图片描述

2. linux

开启端口转发功能

sysctl -p
vi /etc/sysctl.conf   
net.ipv4.ip_forward=1  #增加这一行 
sysctl -p
  • 1
  • 2
  • 3
  • 4

2.1 iptables

需要root权限
需要root权限
需要root权限
在这里插入图片描述

1. 本地转发

将```外网访问``本地的4444端口的流量转发到本地的22端口:

iptables -t nat -A PREROUTING -p tcp --dport 4444 -j REDIRECT --to-ports 22
  • 1

在这里插入图片描述
在这里插入图片描述

本地访问本地的4444端口的流量转发到本地的22端口:

iptables -t nat -A OUTPUT -p tcp --dport 4444 -j REDIRECT --to-ports 22
  • 1

在这里插入图片描述

2. 远程转发

将本地192.168.171.139:5555端口的流量转发到192.168.171.135:3389

iptables -F -t nat
iptables -t nat -A PREROUTING --dst 192.168.171.139 -p tcp --dport 5555 -j DNAT --to-destination 192.168.171.135:3389
iptables -t nat -A POSTROUTING --dst 192.168.171.135 -p tcp --dport 3389 -j SNAT --to-source 192.168.171.139
  • 1
  • 2
  • 3

在这里插入图片描述

2.2 ssh

需关闭服务器上的防火墙

#centos
systemctl status firewalld.service 
systemctl stop firewalld.service 
systemctl disable firewalld.service 
firewall-cmd --state
  • 1
  • 2
  • 3
  • 4
  • 5

ssh配置文件配置:
请确保服务器上的/etc/ssh/sshd_config里,配置了GatewayPorts yes

在这里插入图片描述


需要知道代理服务器的账号密码,如果是本地代理则需要知道当前机器的账号密码
需要知道代理服务器的账号密码,如果是本地代理则需要知道当前机器的账号密码

1. 本地端口转发

将本地的5555端口的流量通过192.168.171.139转发到192.168.171.139的22端口。

ssh -fCNg -L  5555:192.168.171.139:22 root@192.168.171.139
  • 1

在这里插入图片描述

2. 远程端口转发

监听3434端口,将3434端口的流量通过192.168.171.139转发到192.168.171.135:3389

ssh -fCNg -L  3434:192.168.171.135:3389 root@192.168.171.139
  • 1

在这里插入图片描述

在这里插入图片描述

3. socks代理

ssh -fCNg -D  5559 root@192.168.171.139
  • 1

在这里插入图片描述
在这里插入图片描述

4. 清除设置的代理

ps -ef | grep "ssh -fCNg"
ps -ef | grep "ssh -fCNg"|awk '{print $2}'|xargs kill -9
ps -ef | grep "ssh -fCNg"
  • 1
  • 2
  • 3

在这里插入图片描述

2.3 firewall

firewall-cmd --permanent --add-masquerade # 允许防火墙伪装IP
firewall-cmd --permanent --add-forward-port=port=5555:proto=tcp:toaddr=172.16.5.128:toport=3389
firewall-cmd --list-all
  • 1
  • 2
  • 3
firewall-cmd --remove-forward-port port=5555:proto=tcp:toport=22:toaddr=172.16.5.128
  • 1

2.4 socat

不需要root权限
不需要root权限
不需要root权限


socat TCP4-LISTEN:5555,reuseaddr,fork TCP4:192.168.171.135:3389
  • 1

2.5 portmap

https://github.com/shanfenglan/test/blob/master/portmap

不需要root权限
不需要root权限
不需要root权限


在这里插入图片描述

1. 本地端口转发

./portmap -m 1 -p1 5555 -h2 192.168.171.135 -p2 3389
  • 1

在这里插入图片描述

3. 参考文章

https://www.cnblogs.com/xtxk110/p/14678178.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/224827
推荐阅读
相关标签
  

闽ICP备14008679号