這僅在瀏覽時發生。我有一台甚至不阻止傳入流量的路由器,因此我的電腦的防火牆必須完成所有工作。在下面的日誌中,我使用的是 Firefox,但任何瀏覽器都會發生這種情況。在我的 Firefox 中,HTTP2、Web Worker、Service Worker、WebRTC 和許多其他東西都被禁用/阻止,所以對我來說,伺服器如何設法請求未經請求的連接到我的電腦確實是一個謎。瀏覽某些網站時會出現這種情況,但並非全部。
Date Time Direction Process path Protocol Source IP Src Port Dest. IP Dest.Port Action Window title
17/04 16:23:59 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50755 | 204.79.197.200 | 443 | Allowed | Startpage.com - The world's most private search engine - Mozilla Firefox
17/04 16:23:59 | In | - | TCP | 204.79.197.200 | 443 | 10.0.0.3 | 50730 | Blocked |
17/04 16:23:59 | In | - | TCP | 204.79.197.200 | 443 | 10.0.0.3 | 50735 | Blocked |
17/04 16:23:59 | In | - | TCP | 204.79.197.200 | 443 | 10.0.0.3 | 50735 | Blocked |
17/04 16:25:25 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50766 | 37.252.238.25 | 443 | Allowed | unsolicited incoming connections at DuckDuckGo - Mozilla Firefox
17/04 16:25:25 | In | - | TCP | 37.252.238.25 | 443 | 10.0.0.3 | 50766 | Blocked |
17/04 16:29:50 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50785 | 201.48.71.43 | 443 | Allowed | Bing - Mozilla Firefox
17/04 16:29:51 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50786 | 201.48.71.43 | 443 | Allowed | Bing - Mozilla Firefox
17/04 16:29:51 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50787 | 201.48.71.43 | 443 | Allowed | Bing - Mozilla Firefox
17/04 16:29:51 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50788 | 201.48.71.43 | 443 | Allowed | Bing - Mozilla Firefox
17/04 16:29:54 | In | - | TCP | 201.48.71.43 | 443 | 10.0.0.3 | 50788 | Blocked |
17/04 17:03:12 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50986 | 151.101.1.69 | 443 | Allowed | Super User - Mozilla Firefox
17/04 17:03:12 | Out | C:\program files\mozilla firefox\firefox.exe | TCP | 10.0.0.3 | 50987 | 151.101.1.69 | 443 | Allowed | Super User - Mozilla Firefox
17/04 17:03:18 | In | - | TCP | 151.101.1.69 | 443 | 10.0.0.3 | 50986 | Blocked |
17/04 17:03:18 | In | - | TCP | 151.101.1.69 | 443 | 10.0.0.3 | 50987 | Blocked |
還有許多其他範例,但它們都遵循相同的模式:我訪問該站點,該站點創建到特定 IP 的連接,然後來自同一 IP 的一個或多個未經請求的傳入連接嘗試發生。
任何人都知道這是怎麼回事、為什麼以及如何發生?
答案1
不,我認為您計算機的防火牆在欺騙您。
從本地和遠端連接埠的選擇來看,它可能會看到屬於現有出站連接的完全正常的回應資料包,但由於某種原因無法將它們與該連接關聯起來。
要知道連線是傳入還是傳出,防火牆必須是有狀態的 - 它會注意每個 TCP 封包並記住對應的位址和連接埠對。例如,它知道所有具有本地位址(10.0.0.3、50766)和遠端位址(37.252.238.25、443)的封包都屬於您的瀏覽器建立的出站連線。
當回覆封包進入時,防火牆會查看其連接表,發現位址對 (37.252.238.25, 443) 到 (10.0.0.3, 50766) 已經已知 – 該封包不是新連接,它只是對現有(出站)連接的響應並且需要被允許。
但是,如果狀態資訊因某種原因而失去同步——例如主機本身認為連接仍然打開,但防火牆已經忘記了——那麼它將無法輕鬆確定傳入資料包的類型。在這種情況下,防火牆不再知道傳入資料包屬於最初出站的連接,因此最終將其與單獨的「入站」條目相關聯。
例如,一個可能的原因是您的計算機剛剛傳送「連線關閉」FIN 封包,但遠端伺服器有還沒收到它(因為資料傳輸不是即時的),並且仍然很樂意向您發送資料包。如果您的防火牆在看到傳出 FIN 後立即忘記該連接,那麼它當然無法將這些傳入資料包識別為仍然屬於同一連接。 (半封閉連線在 TCP 中是有效的,但我不會讓它通過防火牆而沒有意識到這一點。)
當防火牆的狀態限制非常小時,有時也會發生這種情況,例如我見過家庭路由器無法同時追蹤超過 50 或 100 個狀態(不僅包括 TCP 連接,還包括 UDP 流 - 例如每個 DNS通過UDP 的請求會建立一個新狀態,以便允許回應通過)。類似地,某些防火牆的狀態到期時間非常短 - 一旦 TCP 連接空閒一兩分鐘,它們可能會忘記 TCP 連接,即使連接保持空閒時間比這長一段時間是完全正常的。
(有時防火牆過於急切地拒絕兩台主機都認為正常的事情。例如,當瀏覽器開始嘗試 TCP Fast Open 時,我的 ISP 提供的家庭路由器當時被阻止全部TFO資料包基於其「SYN資料包不能包含資料」的信念,並在其日誌中每次都大喊「入侵警報」。我相信這是 QUIC 被開發為獨立於 TCP 的一個重要原因。