適用於 v2rayN 啟動核心時出現監聽失敗,或瀏覽器提示代理連線遭拒的情況。先從記錄確認衝突的連接埠,再用 Windows 指令找出監聽程序;若是重複執行的程式,能關閉就保留原連接埠,只有必須同時執行多個執行個體時才變更監聽設定。最後同步調整系統代理與應用程式代理,避免「核心已啟動,瀏覽器仍連到舊連接埠」的後續問題。
一、10808 衝突與節點連線失敗的差異
本機監聽連接埠是瀏覽器、命令列工具連線至 v2rayN 核心的入口,並非訂閱伺服器的遠端連接埠。若記錄顯示無法繫結 127.0.0.1:10808,問題發生在本機接收要求之前。此時切換節點、更新訂閱或修改 VMess、VLESS 參數,通常無法排除占用問題。
先在 v2rayN 主畫面的記錄區查看剛啟動時的訊息,記下錯誤中的位址、連接埠和時間。以下列出常見錯誤片段;前後的記錄前綴可能因核心與系統而異。重點是分辨「位址已在使用中」和「存取遭拒」;後者不一定能查到一般的占用程序。
錯誤:Only one usage of each socket address (protocol/network address/port) is normally permitted.
原因與解法:Windows 常見的通訊端位址衝突訊息。檢查記錄指出的本機連接埠,確認監聽程序後關閉重複執行的程式,或將目前執行個體改用未占用的連接埠。
錯誤:bind: address already in use
原因與解法:指定的位址與連接埠無法再次繫結,通常是已有程序正在監聽。請依實際系統查詢監聽程序,不要誤以為是訂閱失效。
錯誤:An attempt was made to access a socket in a way forbidden by its access permissions.
原因與解法:連接埠存取受到限制,可能與系統排除的連接埠範圍或安全性原則有關。先查詢監聽程序與排除範圍,再選擇未占用且未被排除的連接埠。
二、在 Windows 查詢 10808 的監聽程序
以下指令請在 Windows PowerShell 中執行。先查詢 TCP 監聽狀態,不要只因某一行出現 10808 就判定連接埠遭占用。一般的對外連線也可能包含這個數字;請一併確認本機位址、本機連接埠和監聽狀態。
Get-NetTCPConnection -LocalPort 10808 -State Listen -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, State, OwningProcess
OwningProcess 是程序編號,也就是 PID。若結果顯示 PID 為 4321,請接著執行下方指令。4321 僅為範例,實際操作時請換成目前查到的結果;PID 會隨程序重新啟動而變動,不能沿用上次記錄的數值。
Get-Process -Id 4321 | Select-Object Id, ProcessName, Path
Get-CimInstance Win32_Process -Filter "ProcessId = 4321" |
Select-Object ProcessId, ExecutablePath, CommandLine
可執行檔路徑有助於區分位於不同解壓縮資料夾的程式,命令列則有助於辨識核心使用的設定。有些程序資訊需要系統管理員權限才能讀取;未顯示路徑不代表程序不存在。向他人求助時,請勿直接公開完整命令列或設定內容,其中可能包含本機路徑與連線資訊。
使用命令提示字元的替代查法
netstat -ano -p tcp | findstr ":10808"
tasklist /FI "PID eq 4321"
- 在
netstat輸出中,尋找本機位址以:10808結尾且狀態為LISTENING的項目,最後一欄就是 PID。 127.0.0.1:10808是 IPv4 回送位址監聽;0.0.0.0:10808則表示監聽所有 IPv4 介面,也可能讓回送位址無法使用相同連接埠。- 若出現
[::]:10808,還需考慮 IPv6 與雙堆疊監聽。不要只查 IPv4 就判定連接埠未遭占用。 - 若記錄明確指出 UDP 繫結失敗,可執行
Get-NetUDPEndpoint -LocalPort 10808 -ErrorAction SilentlyContinue,再依 PID 查詢程序。TCP 與 UDP 的連接埠占用情況應分開判斷。
三、重複執行的程式、殘留核心與系統排除連接埠
查到程序後,請先從該程式的系統匣選單正常結束,再查詢一次。關閉 v2rayN 視窗後,程式可能仍在系統匣執行;另一個使用者工作階段、開機啟動項目或舊解壓縮資料夾中的執行個體,也可能繼續占用連接埠。核心程序名稱只能做為線索,不要只憑名稱就結束所有同名程序。
- 同一個用戶端啟動兩次:確認要保留的執行個體與資料夾,關閉另一個執行個體。查看系統匣圖示和工作管理員中的檔案位置,再重新啟動要保留的執行個體。
- 關閉後核心仍在監聽:核對該 PID 的路徑和命令列,確認它屬於剛關閉的執行個體且沒有其他用途後,再透過工作管理員結束程序。結束後重新查詢連接埠,不要連續點擊啟動。
- 必須保留其他程式:不要強制結束資料庫、開發服務或系統程序。請為 v2rayN 指定另一組連接埠,並同步修改使用該代理的應用程式。
- 沒有監聽程序但仍提示存取遭拒:查看系統排除的連接埠範圍。虛擬化或容器網路等功能可能影響連接埠分配,請以本機查詢結果為準。
netsh interface ipv4 show excludedportrange protocol=tcp
netsh interface ipv6 show excludedportrange protocol=tcp
確認 10808 是否落在輸出的起始連接埠與結束連接埠之間。若位於排除範圍內,選擇範圍外的候選連接埠,比刪除系統保留項目更穩妥。若沒有監聽記錄,也不在排除範圍內,請繼續核對啟動當下的記錄、繫結位址和安全性軟體記錄;不要反覆以系統管理員身分執行程式碰運氣。
四、參數設定中的 SOCKS、HTTP 與混合連接埠
先記下目前的設定,再開啟 「設定」→「參數設定」,在 「Core 基礎設定」 中尋找本機監聽相關欄位。不同版本的介面與核心組合可能顯示「本機混合監聽連接埠」,也可能分別提供 SOCKS 與 HTTP 設定;請以目前介面和啟動記錄為準,不要假設一定有兩個獨立的輸入欄位。
11808 與 11809 僅為本文的設定範例,不保證在你的電腦上未遭占用。儲存前請用前述指令查詢這兩個連接埠,並檢查系統排除範圍。連接埠數值也不代表通訊協定:10808 不一定是 SOCKS,10809 也不一定是 HTTP;實際接受哪種要求取決於入站設定。
| 目前的設定方式 | 修改範例 | 應用程式端的填寫方式 |
|---|---|---|
| 單一混合監聽入口 | 將本機混合監聽連接埠改為 11808 | 支援的 HTTP 與 SOCKS 要求都連至此入口,應用程式仍須選擇正確的代理通訊協定 |
| 獨立 SOCKS 與 HTTP 入口 | SOCKS 改為 11808,HTTP 改為 11809 | SOCKS 應用程式連線至 11808,HTTP 代理應用程式連線至 11809 |
| 自訂設定中的入站 | 確認設定檔中實際入站使用的監聽連接埠 | 應用程式端須配合該入站設定;介面參數不一定會改寫自訂檔案 |
- 記下原有連接埠、監聽位址和系統代理模式,方便失敗時還原。
- 在參數設定中修改目前實際使用的監聽欄位,不要修改節點的伺服器連接埠。
- 儲存設定並重新啟動服務;若目前版本沒有獨立的重新啟動選項,請正常結束並重新開啟用戶端。
- 查看本次啟動記錄,確認沒有繫結錯誤,再查詢新連接埠是否正在監聽。
結論:先確認入站類型,再變更連接埠
如果介面只有混合連接埠,就不必另外尋找或建立 HTTP 連接埠;如果介面分開設定,則要分別核對兩項。確認修改成功的依據是預期的核心正在監聽新連接埠,而非設定欄位中的數字已經變更。
五、變更連接埠後需要同步調整的項目
變更本機連接埠後,手動填寫的代理位址通常不會自動更新。尤其要檢查仍開啟的終端機視窗、瀏覽器的獨立代理設定和下載工具。舊連線可能暫時仍可使用,但新連線才會出錯,因此請重新開啟應用程式再測試。
- Windows 系統代理:在 v2rayN 的「系統代理」選單中重新套用目前模式,例如再次選擇「自動設定系統代理」。接著前往
「設定」→「網路和網際網路」→「Proxy」,確認實際生效的伺服器與連接埠;不同 Windows 版本的顯示名稱可能略有不同。 - 瀏覽器獨立代理:若瀏覽器設定或擴充功能中手動填入了
127.0.0.1:10808,請依新的入口與通訊協定更新;使用系統代理設定的瀏覽器則應優先檢查系統設定。 - 終端機環境變數:檢查
HTTP_PROXY、HTTPS_PROXY、ALL_PROXY及工具本身的設定。暫存變數只會影響目前的終端機及其新啟動的子程序;修改使用者環境變數後,通常需要重新開啟終端機。 - 開發與下載工具:一併核對工具設定中的代理通訊協定、位址和連接埠。遠端網站使用 HTTPS,不代表本機 HTTP 代理位址也必須寫成
https://。 - 自動啟動與指令碼:檢查是否仍會啟動舊資料夾中的用戶端,或在啟動指令碼中寫死舊連接埠。否則下次登入時可能再次發生衝突。
以下是 PowerShell 目前工作階段的設定範例,僅適用於已確認新連接埠支援相應通訊協定的情況。若使用獨立 HTTP 入口 11809,請使用前兩行;若使用混合入口 11808,可將前兩行中的連接埠改為 11808。第三行要求入口支援 SOCKS5。
$env:HTTP_PROXY = "http://127.0.0.1:11809"
$env:HTTPS_PROXY = "http://127.0.0.1:11809"
$env:ALL_PROXY = "socks5h://127.0.0.1:11808"
六、新連接埠驗證與分層排查
先確認監聽狀態,再測試代理交握,最後檢查特定網站。這樣才能區分本機連接埠、代理通訊協定和遠端線路問題。以下指令使用範例連接埠;若你的設定不同,請先換成實際值。
Test-NetConnection 127.0.0.1 -Port 11808
curl.exe --proxy socks5h://127.0.0.1:11808 --connect-timeout 10 --max-time 20 -I https://example.com/
curl.exe --proxy http://127.0.0.1:11809 --connect-timeout 10 --max-time 20 -I https://example.com/
依實際入站類型選擇其中一條 curl.exe 指令即可;若混合入口使用 11808,HTTP 測試也應使用 11808。Test-NetConnection 成功只代表 TCP 連線已建立,不代表通訊協定相符或遠端節點可用。範例網址用於連線測試,是否透過代理連線到外部仍取決於目前的路由規則。
| 驗證結果 | 優先檢查項目 | 下一步 |
|---|---|---|
| 新連接埠沒有監聽 | 參數是否生效、核心是否已啟動 | 查看啟動記錄,核對自訂設定與實際繫結位址 |
| 連接埠正在監聽,但代理交握失敗 | HTTP 與 SOCKS 通訊協定是否相符 | 修正應用程式的代理類型,確認是否連到其他程式 |
| 代理交握後連線逾時 | 檢查對外節點、DNS 與路由記錄 | 改為排查節點連線,不要再盲目更換本機連接埠 |
| 命令列正常,瀏覽器失敗 | 瀏覽器代理來源與舊程序 | 同步獨立設定,完全結束瀏覽器後再測試 |
七、再次發生衝突時的收尾檢查
如果每次重新啟動電腦後都再次發生衝突,請優先檢查登入啟動項目和多個解壓縮資料夾,而不是不斷增加連接埠號碼。保留一個明確使用的用戶端資料夾,記錄監聽連接埠及用途;若確實需要同時執行兩個執行個體,請為每個執行個體指定不同的監聽連接埠,並分別維護應用程式代理設定。
- 確認新連接埠的監聽 PID 屬於預期程序,並已查明舊連接埠的監聽程序;不要只因暫時能上網就結束排查。
- 確認系統代理不再使用舊連接埠;準備結束用戶端時,請透過用戶端清除不再使用的系統代理設定。
- 恢復日常使用的 TUN 或路由模式後重新測試,避免只在暫時測試模式下正常。
- 需要求助時,請提供系統版本、用戶端版本、完整錯誤行、連接埠和程序名稱;請隱藏訂閱網址、帳戶資訊與節點憑證。
本機監聽恢復後,再處理訂閱、節點或路由問題。安裝與初次執行的完整步驟,請參考 v2rayN 設定教學;其他常見錯誤可到 常見問題 繼續查找。