如果這是正確的部分,則不是100%,但我認爲是這樣,因爲這是一個關於如何編程的問題。設置SSL連接併發送GET信息
在學習計算機網絡課程後,我得到了一些我想嘗試的東西的想法。 其中之一是自動登錄到本地託管在我們的「路由器」上的網頁。
因此,該網站是本地的,讓我們說在192.168.150.1 - 點擊「免費登錄」鏈接登錄一個僞帳戶,我們將調用愛麗絲(我們有IP地址192.168.150.74 ..所以如果你點擊鏈接,你會發送一個GET請求,如:
192.168.0.1/login?dst=&username=T-Alice
現在我使用Wireshark來檢查數據包流,它的加密 - 這是包流:
No. Time Source Destination Protocol Info
1 0.000000 192.168.150.74 192.168.150.1 TCP 50704 > https [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=37133 TSER=0 WS=7
2 0.001304 192.168.150.1 192.168.150.74 TCP https > 50704 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 SACK_PERM=1 TSV=17344316 TSER=37133 WS=1
3 0.001372 192.168.150.74 192.168.150.1 TCP 50704 > https [ACK] Seq=1 Ack=1 Win=14720 Len=0 TSV=37133 TSER=17344316
4 0.001969 192.168.150.74 192.168.150.1 TLSv1 Client Hello
5 0.003568 192.168.150.1 192.168.150.74 TCP https > 50704 [ACK] Seq=1 Ack=406 Win=6864 Len=0 TSV=17344316 TSER=37133
6 0.010537 192.168.150.1 192.168.150.74 TLSv1 Server Hello, Certificate, Server Hello Done
7 0.010587 192.168.150.74 192.168.150.1 TCP 50704 > https [ACK] Seq=406 Ack=1132 Win=16896 Len=0 TSV=37134 TSER=17344316
8 0.013352 192.168.150.74 192.168.150.1 TLSv1 Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
9 0.051304 192.168.150.1 192.168.150.74 TCP https > 50704 [ACK] Seq=1132 Ack=732 Win=7936 Len=0 TSV=17344321 TSER=37134
10 0.269299 192.168.150.1 192.168.150.74 TLSv1 Change Cipher Spec, Encrypted Handshake Message
11 0.270405 192.168.150.74 192.168.150.1 TLSv1 Application Data
12 0.271888 192.168.150.1 192.168.150.74 TCP https > 50704 [ACK] Seq=1191 Ack=1377 Win=9226 Len=0 TSV=17344343 TSER=37160
13 0.288841 192.168.150.1 192.168.150.74 TLSv1 Application Data, Application Data
14 0.328065 192.168.150.74 192.168.150.1 TCP 50704 > https [ACK] Seq=1377 Ack=2625 Win=19840 Len=0 TSV=37166 TSER=17344344
現在什麼我想問(做..)是:
是否有可能創建一個程序(最好在C或C++中,但lang並不重要,除非其中一些具有更好的lib ..),它爲我設置了這個安全連接,所以我可以設置GET信息到路由器並登錄?或者在代碼中有更簡單的方法來做到這一點?我可以讓程序「訪問」192.168.150.1,並將數據包創建和SSL留給內核? ( - >即使我認爲SSL必須由應用程序本身處理..)
Windows和unix解決方案/指導都歡迎..我想這兩個。
對不起,如果這個'混亂',我試圖問清楚,儘可能:p - 所以我只是想幫助發送GET信息到路由器,就好像我手動訪問頁面並點擊鏈接。
爲什麼建議先在python中嘗試它? (雖然你提供的教程是一個C++的例子^^ – Spyral
這個問題被標記爲C++,所以我提供的支持文檔將反映出這一點.Python是一個優秀的原型語言,我使用它始終在提交之前測試概念和算法更寬容(更高效)的C++環境 –