在 Windows 中透過強制入口網站自動登入網路?

在 Windows 中透過強制入口網站自動登入網路?

我的辦公室有 Wi-Fi 網絡,需要使用強制門戶。它需要使用使用者名稱和密碼登入。

我想以某種方式運行一個腳本,該腳本在連接到網路後立即自動登錄,而無需啟動瀏覽器並使其保持開啟。

奇怪的是,我設法找到了這樣一個Android客戶端,庫瓦AX它不再可用,但不適用於 Windows。我有 Windows 7,如果有的話。

有人對此有簡單的解決方案嗎?我寧願不必花時間為此編寫自己的工具。

答案1

我不知道簡單...我使用一個名為webinject.pl為了測試網站。它是一個 Perl 腳本,可讓您指定輸入和預期結果,並且可以輕鬆地為此進行配置。您可能需要一個小時才能使其發揮作用。

至於如何自動化。 Windows 工作排程器非常強大,可以觸發大量事件。您可以將其與登入事件或事件日誌條目綁定,或只是讓它每 5 分鐘運行一次(這有點痛苦)。例如,當我建立網路連線時,我在系統日誌中收到事件 32。或許可以做到這一點。

答案2

您可以使用山貓(支援 SSL 的版本) - 基於文字的瀏覽器 - 帶有cmd_args包含登入所需命令的腳本檔案。透過使用下列參數呼叫 lynx 來執行此操作:

lynx.exe -cmd_log=%USERPROFILE%\lynxlog.txt`

然後您可以重命名該檔案並透過呼叫 lynx 來使用它,如下所示:

lynx.exe -cmd_script=FILENAME_HERE

將其放入批次檔中。 (使用 lynx 可執行檔的完整路徑或在 PATH 環境變數中設定該路徑。)

一旦你開始工作,就可以在呼叫它的日誌10000來源中建立一個由事件 id 觸發的排程任務:NetworkProfileMicrosoft-Windows-NetworkProfile/Operational

任務計劃程序觸發器範例

就我個人而言,我將其捆綁在一起以iexpress.exe隱藏在後台運行它,並確保計劃任務設置為運行,即使我沒有登錄。幾週前我剛剛在我的電腦上安裝了這個,效果很好!

來源:我的文章如何自動化強制門戶登入

答案3

我過去曾使用 Windows 工作排程器和 php+mysqllite 腳本完成此操作。 php+mysqllite 腳本只是檢查它是否可以到達 google,如果它被重定向,它會檢查它是否有一個用於重定向到的網域的例程,如果有,它就會運行它。 mysqllite 是為我在 php 中實作的無頭瀏覽器保留 cookie。如果只使用一個類似的greasemonkey 來進行登錄,工作量可能會少很多。 (缺點是每次你的調度程式被觸發時,瀏覽器都會彈出並執行一些操作。)

任務調度程序觸發器因機器而異。我有一台筆記型電腦,可以將 wifi 連接記錄為事件,並且包含 ssid,這樣我就可以過濾以僅在我關心的連​​接上觸發。

在我目前的筆記型電腦上,似乎唯一可靠觸發的事件是 DHCP 用戶端連線。當然,每次我取得 IP 位址並且不告訴我 SSID 時,都會出現問題。

您可以使用 Windows 事件檢視器檢查可以觸發哪些事件。我剛剛打開和關閉了 wifi 3 次,並檢查了過去一小時內觸發了 3 次哪些事件。

答案4

根據入口網站的具體實施,您甚至可能不需要任何其他軟體。

筆記:此解決方案需要以下基本知識HTTP協定開發面板您的瀏覽器。第二個連結適用於 Chrome;如果您使用其他瀏覽器,快速搜尋應該可以輕鬆到達那裡。您也不應該害怕使用命令列介面,儘管您當然不需要成為專家。


從根本上來說,強制門戶只是一個 HTML 網頁。當您輸入身分驗證詳細資訊並提交時,您的瀏覽器只會將帶有您的憑證的 HTTP 請求(可能是 GET 或 POST)傳送到預先設定的 URL。這當然可以使用命令列工具來實現,從而使用 Windows Scheduler 實現自動化,正如其他答案所提到的那樣。

幸運的是,自 2018 年起 Windows 10 就附帶了捲曲實用程序,它允許您發送任意 HTTP 請求。因此,您可以做的是檢查瀏覽器在透過入口網站提交憑證時發送的請求,並編寫發送相同請求的curl 命令。了解如何使用curl發送POST請求這裡。然後,您可以將該命令保存在.bat文件中,並將其設定為在使用任務計劃程序連接到網路時運行。 @Menasheh 提供了一個簡單的指南,所以我不會重複這部分。

但是這個解決方案不能保證有效每一個網絡,因為更複雜的門戶可以對請求執行各種檢查,例如時間戳或令牌。但它仍然值得一試。


此解決方案的潛在攻擊媒介是,由於任務計劃程式不關心您連接到哪個網絡,因此當您連接到時它將運行此腳本任何網路。這使得機會主義攻擊者在自己的網路上發動網路釣魚攻擊的可能性非零。必須指出的是,鑑於很少有人運行這樣的自動登入設置,因此這種可能性非常小。有一些緩解技術可以解決此問題,例如使用工作場所內部憑證設定 HTTPS 門戶,但這超出了本問題的範圍。

相關內容