tcp连接 本地端口_Windows开启端口转发功能
前言
端口轉發,這個功能在平時的開發中用到的還是比較多的,記錄下 Windows 如何使用自帶的軟件實現端口轉發。
命令介紹
Windows 從 Windows 2000 開始就提供了最基本的端口轉發功能,是基于 Windows 的 IP Helper 服務的,不僅可以提供端口轉發功能,還可以通過將 IPv4 和 IPv6 的不同地址的數據進行轉發,但是只可以轉發 TCP 協議,暫不支持 UDP 協議,使用 netsh interface portproxy 命令即可開啟。
先看下命令幫助:
PS C:Windowssystem32> netsh interface portproxy?下列指令有效:?此上下文中的命令:? - 顯示命令列表。add - 在一個表格中添加一個配置項。delete - 從一個表格中刪除一個配置項。dump - 顯示一個配置腳本。help - 顯示命令列表。reset - 重置端口代理配置狀態。set - 設置配置信息。show - 顯示信息。一個一個介紹,先說 show 命令:
show命令
show 命令可以查看已經存在的端口轉發規則。用法如下:
show all - 顯示所有端口代理參數。show v4tov4 - 顯示 IPv4 代理連接到另一個 IPv4 端口的參數。show v4tov6 - 顯示 IPv4 代理連接到 IPv6 的參數。show v6tov4 - 顯示 IPv6 代理連接到 IPv4 的參數。show v6tov6 - 顯示 IPv6 代理連接到另一個 IPv6 端口的參數。例如我想查看所有的端口轉發規則,則可以使用 netsh interface portproxy show all。
PS C:Windowssystem32> netsh interface portproxy show all?偵聽 ipv4: 連接到 ipv4:?地址 端口 地址 端口--------------- ---------- --------------- ----------127.0.0.1 3389 25.63.54.89 3389help命令
這個就不說了,打印幫助信息...
add命令
add 命令可以增加一條端口轉發規則,具體用法為:
add v4tov4 - 添加通過 IPv4 的 IPv4 和代理連接到的偵聽項目。add v4tov6 - 添加通過 IPv6 的 IPv4 和代理連接到的偵聽項目。add v6tov4 - 添加通過 IPv4 的 IPv6 和代理連接到的偵聽項目。add v6tov6 - 添加通過 IPv6 的 IPv6 和代理連接到的偵聽項目。?用法: add v4tov4 [listenport=]<integer>|<servicename>[connectaddress=]<IPv4 address>|<hostname>[[connectport=]<integer>|<servicename>][[listenaddress=]<IPv4 address>|<hostname>][[protocol=]tcp]?參數:?標記 值listenport - IPv4 偵聽端口。connectaddress - IPv4 連接地址。connectport - IPv4 連接端口。listenaddress - IPv4 偵聽地址。protocol - 使用的協議。現在只支持 TCP。例如我想將本地的 3389 端口轉發到遠程的 3389 端口上,可以使用以下命令實現:
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=3389 connectaddress=25.63.54.89 connectport=3389其中 v4tov4 的作用在于將 IPv4 地址的 3389 端口轉發到 IPv4 地址的 3389端口上,listenaddress 指定本地監聽的地址,listenport 指定本地監聽的端口,connectaddress 指定要將數據轉發到哪個地址去,也就是目的地址,connectport 指定要轉發到的端口,也就是目的端口。
delete命令
delete 命令用來刪除一條端口轉發規則,刪除時只需要指定端口轉發的監聽地址和端口即可,具體用法為:
delete v4tov4 - 刪除通過 IPv4 的 IPv4 和代理連接到的偵聽項目。delete v4tov6 - 刪除通過 IPv6 的 IPv4 和代理連接到的偵聽項目。delete v6tov4 - 刪除通過 IPv4 的 IPv6 和代理連接到的偵聽項目。delete v6tov6 - 刪除通過 IPv6 的 IPv6 和代理連接到的偵聽項目。?用法: delete v4tov4 [listenport=]<integer>|<servicename>[[listenaddress=]<IPv4 address>|<hostname>][[protocol=]tcp]?參數:?標記 值listenport - 要偵聽的 IPv4 端口。listenport - 要偵聽的 IPv4 地址。protocol - 要使用的協議。當前僅支持 TCP。例如我想刪除剛才添加的端口轉發規則,先查看下目前存在的端口轉發規則:
PS C:Windowssystem32> netsh interface portproxy show all?偵聽 ipv4: 連接到 ipv4:?地址 端口 地址 端口--------------- ---------- --------------- ----------127.0.0.1 3389 25.63.54.89 3389執行刪除命令 PS C:Windowssystem32> netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=3389 即可。
PS C:Windowssystem32> netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=3389?PS C:Windowssystem32> netsh interface portproxy show all?偵聽 ipv4: 連接到 ipv4:?地址 端口 地址 端口--------------- ---------- --------------- ----------?dump命令
dump 命令可以將已存在的端口轉發規則進行輸出,保存到一個文件中或者輸出到控制臺的標準輸出中,方便發送給其他人或者進行備份,以備下次還原。
執行 netsh interface portproxy dump 將配置信息輸出到控制臺的標準輸出,或者執行 netsh interface portproxy dump > 1.txt 命令將配置信息重定向到文件中。
PS D:360download> netsh interface portproxy dump#======================== # 端口代理配置 #======================== pushd interface portproxyreset add v4tov4 listenport=3389 connectaddress=25.63.54.89 connectport=3389popd# 端口代理配置結束PS D:360download> netsh interface portproxy dump >1.txtset命令
set 命令可以修改現有的端口轉發配置,也可以新加端口轉發配置。
例如將剛才的遠程地址和端口改為 123.124.125.126:3390,使用以下命令來修改。
PS C:Windowssystem32> netsh interface portproxy show all偵聽 ipv4: 連接到 ipv4:地址 端口 地址 端口 --------------- ---------- --------------- ---------- 127.0.0.1 3389 25.63.54.89 3389D:360download>netsh interface portproxy set v4tov4 listenaddress=127.0.0.1 listenport=3389 connectaddress=123.124.125.126 connectport=3390D:360download>netsh interface portproxy show all偵聽 ipv4: 連接到 ipv4:地址 端口 地址 端口 --------------- ---------- --------------- ---------- 127.0.0.1 3389 123.124.125.126 3390本來以為可以將剛才 dump 命令導出的配置重新導入的,但是我沒成功....可能人家就沒設計這個功能吧, 有點尷尬的...如果有知道的小伙伴可以告訴我。
reset命令
reset 命令可以重置所有的端口轉發規則,如果沒有備份的小伙伴慎用。
D:360download>netsh interface portproxy show all偵聽 ipv4: 連接到 ipv4:地址 端口 地址 端口 --------------- ---------- --------------- ---------- 127.0.0.1 3389 123.124.125.126 3390D:360download>netsh interface portproxy resetD:360download>netsh interface portproxy show allD:360download>注意事項
如果有添加了規則但是規則不生效的小伙伴,可以檢查下 Windows 的 IP Helper 服務是否開啟,因為端口轉發功能是由這個服務支持的,一定要保證它是正常運行的才可以。還有,在監聽本地地址上的端口時,最好先確定本地的端口沒有被占用,防止端口沖突影響其他程序的正常運行。
總結
以上就是端口轉發功能的使用教程,在平時的開發中臨時需要和虛擬機通信或者其他場景中還是比較常用的,雖然只支持 TCP 協議,不過 UDP 在平時使用的并不多,TCP 也足夠了,所以還是可以滿足日常開發需求的。
參考鏈接:
https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-interface-portproxy
總結
以上是生活随笔為你收集整理的tcp连接 本地端口_Windows开启端口转发功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: splice方法_JavaScript数
- 下一篇: laravel框架中文手册_Larave