端口转发总结归纳
Posted Shanfenglan7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了端口转发总结归纳相关的知识,希望对你有一定的参考价值。
文章目录
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. 本地转发
我们配置转发逻辑为将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
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
删除上面配置的转发规则:
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 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
2. 远程转发
nb-windows-386.exe -tran 5555 192.168.171.135:3389
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
2. 远程转发
ew_for_Win.exe -s lcx_tran -l 3333 -f 192.168.171.139 -g 22
1.4 iox
不需要管理员权限
不需要管理员权限
不需要管理员权限
基本用法
-k 656565
#启动流量加密,密码是AAA。
命令 | 用法 |
---|---|
iox -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
2. linux
开启端口转发功能
sysctl -p
vi /etc/sysctl.conf
net.ipv4.ip_forward=1 #增加这一行
sysctl -p
2.1 iptables
需要root权限
需要root权限
需要root权限
1. 本地转发
将```外网访问``本地的4444端口的流量转发到本地的22端口:
iptables -t nat -A PREROUTING -p tcp --dport 4444 -j REDIRECT --to-ports 22
将本地访问
本地的4444端口的流量转发到本地的22端口:
iptables -t nat -A OUTPUT -p tcp --dport 4444 -j REDIRECT --to-ports 22
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
2.2 ssh
需要知道代理服务器的账号密码,如果是本地代理则需要知道当前机器的账号密码
需要知道代理服务器的账号密码,如果是本地代理则需要知道当前机器的账号密码
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
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
3. socks代理
ssh -fCNg -D 5559 root@192.168.171.139
4. 清除设置的代理
ps -ef | grep "ssh -fCNg"
ps -ef | grep "ssh -fCNg"|awk 'print $2'|xargs kill -9
ps -ef | grep "ssh -fCNg"
2.3 firewall
firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent --add-forward-port=port=5555:proto=tcp:toaddr=192.168.172.135:toport=3389
firewall-cmd --reload #删除刚才的配置
2.4 socat
不需要root权限
不需要root权限
不需要root权限
socat TCP4-LISTEN:5555,reuseaddr,fork TCP4:192.168.171.135:3389
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
3. 参考文章
以上是关于端口转发总结归纳的主要内容,如果未能解决你的问题,请参考以下文章