簡體   English   中英

C# 程序偵聽 0.0.0.0 但不是 192.168.xx

[英]C# Program Listening on 0.0.0.0 but not 192.168.x.x

我有一個用 C# 制作的軟件,它在端口 5000 上打開一個偵聽器來偵聽網絡上的傳入流量。 為了測試以確保它正常工作,我有一個包含以下代碼集的程序:

Int32 port = 11000;
IPAddress localAddr = IPAddress.Parse("192.168.x.x")

client = new TcpClient();
client.Connect(localAddr, port);

根據我的 netstat -an 我的監聽程序正在監聽:

0.0.0.0:11000 * LISTENING

它沒有顯示在 192.168.XX 上收聽

當我運行測試程序時,它給我一個套接字 80004005 錯誤,說連接被主動拒絕。 當我在另一台計算機上運行測試程序時,它說它沒有收到信號並超時。 當我檢查防火牆日志時,它說沒有被阻止。 我什至有防火牆規則來允許端口甚至 .exe 只是為了確保它獲得所有流量。

我有另一台裝有監聽軟件的電腦,它用 netstat 顯示這個

192.168.x.x:11000        *         LISTENING
0.0.0.0:11000            *         LISTENING

對於這台計算機,它工作正常。 測試程序將正常運行。

如果防火牆不是問題,因為我可以通過日志看到並且規則允許所有流量進入偵聽程序,為什么它會被主動拒絕並且不回話? 為什么在這台機器上它沒有將 192.168.xx 地址作為工作地址進行監聽?

我還不能確切地說發生了什么,但我可以建議一些檢查事項:

  • 請記住,涉及兩個防火牆:服務器的防火牆限制傳入連接,以及本地計算機的防火牆限制出站連接。 確保檢查這兩個; 有時會阻塞不常見的出站端口。
  • 你說 netstat 使用0.0.0.0:1000顯示你的聽眾。 這表示端口1000 到目前為止,我已經在問題和編輯歷史記錄中看到嘗試連接到端口500011000 ,但從來沒有1000
  • 確保您的防病毒軟件沒有干擾。 它可能會將異常端口上的此流量視為表明存在病毒。 事實上,speedguide 表明端口 1000 過去曾被木馬使用過。

發現問題。 安裝軟件的人沒有在防火牆規則和軟件安裝完成后重新啟動系統。 我一定會用鼠標擊中他們失敗,因為我多次要求他們這樣做。

重新啟動后,它開始偵聽 192.168.xx 地址並且一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM