Linux埠轉發的幾種常用方法
在一些實際的場景裡,我們需要透過利用一些埠轉發工具,比如系統自帶的 行工具或第三方小軟體,來繞過網路訪問限制觸及目標系統。本文總結了 埠轉發的一些常用方法 |
1. SSH 埠轉發
SSH 提供了一個非常有意思的功能,就是埠轉發,它能夠將其他 TCP 埠的網路資料透過 SSH 連結來轉發,並且自動提供了相應的加密及解密服務。
(1) 本地埠轉發
ssh -fgN -L 2222:localhost:22 localhost
(2) 遠端埠轉發
ssh -fgN -R 2222:host1:22 localhost
(3) 動態轉發
ssh -fgN -D 12345 root@host1
2. iptables 埠轉發
7.0 以下使用的是iptables,可以透過iptables實現資料包的轉發
(1) 開啟資料轉發功能
vi /etc/sysctl.conf #增加一行 net.ipv4.ip_forward=1 //使資料轉發功能生效 sysctl -p
(2)將本地的埠轉發到本機埠
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j REDIRECT --to-port 22
(3)將本機的埠轉發到其他機器
iptables -t nat -A PREROUTING -d 192.168.172.130 -p tcp --dport 8000 -j DNAT --to-destination 192.168.172.131:80 iptables -t nat -A POSTROUTING -d 192.168.172.131 -p tcp --dport 80 -j SNAT --to 192.168.172.130 #清空nat表的所有鏈 iptables -t nat -F PREROUTING
3. firewall 埠轉發
CentOS 7.0以上使用的是firewall,透過 行配置實現埠轉發。
(1) 開啟偽裝IP
firewall-cmd --permanent --add-masquerade
(2) 配置埠轉發,將到達本機的12345埠的訪問轉發到另一臺伺服器的22埠。
firewall-cmd --permanent --add-forward-port=port=12345:proto=tcp:toaddr=192.168.172.131:toport=22
(3) 重新載入,使其失效
firewall-cmd --reload
4. rinetd 埠轉發
rinetd是一個輕量級TCP轉發工具,簡單配置就可以實現埠對映/轉發/重定向。
(1) 原始碼下載
wget
(2) 安裝rinetd
rpm -ivh rinetd-0.62-9.el7.nux.x86_64.rpm
(3) 編輯配置檔案
vi rinetd.conf 0.0.0.0 1234 127.0.0.1 22
(4) 啟動轉發
rinetd -c /etc/rinetd.conf
5. ncat 埠轉發
netcat(簡稱nc),一個簡單而有用的工具,這裡介紹一種使用netcat實現埠轉發的方法。
(1) 安裝ncat
yum install nmap-ncat -y
(2) 監聽本機 9876 埠,將資料轉發到 192.168.172.131的 80 埠
ncat --sh-exec "ncat 192.168.172.131 80" -l 9876 --keep-open
6. socat 埠轉發
socat是一個多功能的網路工具,使用socat進行埠轉發。
(1) socat安裝
yum install -y socat
(2) 在本地監聽12345埠,並將請求轉發至192.168.172.131的22埠。
socat TCP4-LISTEN:12345,reuseaddr,fork TCP4:192.168.172.131:22
7. portmap 埠轉發
Linux 版的lcx,內網埠轉發工具。
(1) 下載地址:
(2) 監聽本地1234埠,轉發給192.168.172.131的22埠
/portmap -m 1 -p1 1234 -h2 192.168.172.131 -p2 22
8. portfwd埠轉發
portfwd是meterpreter中內建的功能,也提供了單機版,用於TCP/UDP埠轉發服務
Github 專案地址:
(1) 下載編譯
git clone .git cd portfwd/src make
(2)將本地的12345埠轉發到192.168.172.131:22
./tcpfwd 0.0.0.0:12345 192.168.172.131:22
9. NATBypass埠轉發
一款lcx(htran)在golang下的實現
Gihub專案地址:
內網主機主動連線外網主機打通隧道:
- 在目標機器上執行:nb -slave 127.0.0.1:3389 公網IP:51
- 在公網的機器執行:nb -listen 51 3340
- 在公網主機上連線 127.0.0.1:3340,即可連線上內網機器的3389埠。
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2725695/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS 開發中 runtime 常用的幾種方法iOS
- linux中後臺執行程式常用的幾種方法Linux行程
- Linux幾種轉發請求方案Linux
- 建樹的幾種常用方法
- iframe跨域的幾種常用方法跨域
- Python教程: 反射及常用的幾種方法Python反射
- Linux-Windows 埠轉發LinuxWindows
- 頁面跳轉的幾種方法
- Linux安裝mysql的幾種方法LinuxMySql
- 幾種刪除Linux目錄的方法Linux
- 幾種集合的幾種方法
- JS常用判斷空對像的幾種方法JS
- Flutter工具:Dart中幾種常用的Json轉Object方式FlutterDartJSONObject
- 7、Linux 埠轉發特徵總結Linux特徵
- Linux檢視檔案大小的幾種方法Linux
- 關於python單例的常用幾種實現方法Python單例
- 外貿找客戶郵箱常用的幾種方法
- 常用的幾種專案衝突管理的解決方法
- JavaScript 字串與json物件互轉的幾種方法JavaScript字串JSON物件
- python的__init__幾種方法總結【轉載】Python
- LINUX 使用批量刪除檔案的幾種方法Linux
- 伺服器實現埠轉發的N種方式伺服器
- [譯] 降維技術中常用的幾種降維方法
- 檢視SQL執行計劃的幾種常用方法YQSQL
- Markdown常用的幾種語法
- 常用的jQuery事件有幾種?jQuery事件
- 幾種常用的排序程式碼排序
- linux下3種檢測遠端埠是否開啟的方法Linux
- java servlet 與jsp幾種頁面跳轉的方法JavaServletJS
- Linux禁止某個IP地址訪問的幾種方法Linux
- linux設定埠轉發(一鍵設定)Linux
- 常用的Linux,記住了幾個?Linux
- 幾種常用的排序演算法排序演算法
- sqlplus常用的幾種登入方式SQL
- linux下簡單好用的埠對映轉發工具rinetdLinux
- 程式開發中常用的10種演算法,你用過幾種?演算法
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- Linux系統檢視ntp是否同步的方法有幾種?Linux