日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

端口转发

發(fā)布時間:2024/1/1 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 端口转发 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介

端口轉(zhuǎn)發(fā)是服務(wù)器A(地址:端口)將接收到的通信客戶端C(地址:端口)完全轉(zhuǎn)發(fā)給另一個服務(wù)器B(地址:端口),實現(xiàn)客戶端C與服務(wù)器B的通信。可用于對服務(wù)器B隱藏客戶端C的真實地址。端口轉(zhuǎn)發(fā)也可應(yīng)用于訪問內(nèi)網(wǎng)服務(wù)器(相當于服務(wù)器B)。

實現(xiàn)端口轉(zhuǎn)發(fā)

可以應(yīng)用于以下兩種情況:

  • 當客戶端C可以正向連接服務(wù)器A。
  • 當客戶端C無法正向連接服務(wù)器A,但服務(wù)器A可以反向連接客戶端C。
  • 情況1:正向連接
    • 服務(wù)器A為windows系統(tǒng)

    實驗環(huán)境:

    主機ip端口
    Client(Kali)192.168.246.136\
    ServerA(Win10)192.168.246.1308888
    ServerB(win7)192.168.246.1316666

    方法:使用netsh(windows自帶),需要管理員權(quán)限進行配置。
    步驟:

  • 在ServerA上以管理員身份運行cmd.exe
  • 添加轉(zhuǎn)發(fā)規(guī)則:
    netsh interface portproxy add v4tov4 listenaddress=192.168.246.130 listenport=8888 connectaddress=192.168.246.131 connectport=6666
  • 由于防火墻默認阻擋了入站通信,因此需要添加防火墻規(guī)則:
    netsh advfirewall firewall add rule name="transmit" protocol=TCP dir=in localport=8888 action=allow
  • 在ServerB上開啟監(jiān)聽6666端口:
    nc.exe -lvp 6666
  • 在Client上連接ServerA的8888端口
    nc 192.168.246.130 8888

    ServerB監(jiān)聽到的是來自ServerA的連接
  • 此處netsh可能常用到的命令:

    查看端口轉(zhuǎn)發(fā)規(guī)則:netsh interface portproxy show all 刪除端口轉(zhuǎn)發(fā)規(guī)則:netsh interface portproxy delete v4tov4 listenaddress=192.168.246.130 listenport=8888 查看防火墻規(guī)則:netsh advfirewall firewall name="transmit" 刪除防火墻規(guī)則:netsh advfirewall firewall delete rule name="transmit"

    更多命令可以使用netsh -h查看

    • 服務(wù)器A為Linux系統(tǒng)

    實驗環(huán)境:(交換Client和ServerA角色)

    主機ip端口
    Client(Win10)192.168.246.130\
    ServerA(Kali)192.168.246.1368888
    ServerB(win7)192.168.246.1316666

    方法:使用iptables(Linux自帶),也需要管理員權(quán)限。
    步驟:

  • 切換root權(quán)限(su root)
  • 添加轉(zhuǎn)發(fā)規(guī)則,分別如下
    目的地址轉(zhuǎn)換規(guī)則:
    iptables -t nat -A PREROUTING -p tcp -d 192.168.246.136 --dport 8888 -j DNAT --to-destination 192.168.246.131:6666
    源地址轉(zhuǎn)換規(guī)則:
    powershell iptables -t nat -A POSTROUTING -p tcp -d 192.168.246.131 --dport 6666 -j SNAT --to-source 192.168.246.136
  • 開啟轉(zhuǎn)發(fā)功能(將1寫入到/proc/sys/net/ipv4目錄下的ip_forward文件中,不修改的情況下是0):
    echo 1 >/proc/sys/net/ipv4/ip_forward
  • 在ServerB上開啟監(jiān)聽6666端口:
    nc.exe -lvp 6666
  • 在Client上連接ServerA的8888端口
    nc.exe 192.168.246.130 8888

    ServerB監(jiān)聽到的是來自ServerA的連接
  • 注:使用iptables配置的端口轉(zhuǎn)發(fā)規(guī)則,在重啟后都會失效,包括開啟轉(zhuǎn)發(fā)功能也會恢復(fù)到默認的0。
    可以使用下面命令保存和恢復(fù)轉(zhuǎn)發(fā)規(guī)則

    保存規(guī)則:iptables-save > xxxxx 恢復(fù)規(guī)則:iptables-restore < xxxx 注:保存和回復(fù)-之間沒有空格;xxxx為保存的文件路徑,例如/root/Desktop/rule,指的是/root/Desktop下的rule文件。

    此處iptables可能常用到的命令:

    查看轉(zhuǎn)發(fā)規(guī)則:iptables -L -t nat --line-numbers 刪除所有規(guī)則:iptables -F -t nat 刪除指定規(guī)則:iptables -t nat -D PREROUTING 1(刪除nat表的PREROUTING鏈的第一條規(guī)則)

    更多命令可以使用iptables -h查看,或者參考這篇文章。

    情況2:反向連接


    方法:使用EarthWorm,Linux和Windows使用方法相同。
    實驗環(huán)境:

    主機ip端口
    Client(Win10)192.168.246.1306868
    ServerA(Kali)192.168.246.1368888
    ServerB(win7)192.168.246.1316666

    步驟:

  • 在Client上,監(jiān)聽6868端口,6868端口接收到的是反彈在8888端口上的:ew_for_Win.exe -s lcx_listen -l 6868 -e 8888
  • 在ServerA上,反彈給Client的8888端口的是ServerA連接在ServerB的6666端口的連接:
    ew_for_linux64 -s lcx_slave -d 192.168.246.130 -e 8888 -f 192.168.246.131 -g 6666

    Client上顯示OK!
  • 在ServerB上,監(jiān)聽6666端口:nc64.exe -lvp 6666
  • 在Client上,連接本地的6868端口:nc.exe 127.0.0.1 6868

    同樣,ServerB監(jiān)聽到的是來自ServerA的連接
  • 此處EarthWorm一些參數(shù)可以使用-h查看。

    總結(jié)

    以上是生活随笔為你收集整理的端口转发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。