文章目錄
- 1. windows
- 1.1 netsh
- 基礎命令
- 1. 本地轉發
- 2. 遠程轉發
- 1.2 natbypass
- 基礎命令
- 1. 本地轉發
- 2. 遠程轉發
- 1.3 ew
- 基礎命令
- 1. 本地轉發
- 2. 遠程轉發
- 1.4 iox
- 基本用法
- 1. 本地轉發
- 2. linux
- 2.1 iptables
- 1. 本地轉發
- 2. 遠程轉發
- 2.2 ssh
- 1. 本地埠轉發
- 2. 遠程埠轉發
- 3. socks代理
- 4. 清除設定的代理
- 2.3 firewall
- 2.4 socat
- 2.5 portmap
- 1. 本地埠轉發
- 3. 參考文章
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. 參考文章
https://www.cnblogs.com/xtxk110/p/14678178.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/390525.html
標籤:其他
