//老師要求用java模擬手動的Telnet過程。
具體要求:
在Linux下搭建Telnet-server。在客戶端Telnet連接成功後,服務器會有輸出,客戶端讀取以後,發送用戶名和口令,然後會登錄到Linux服務器上。
環境:用CentOS 7 64位機器搭建的Telnet,在Win10 64位機器上搭建的Telnet-client。
實現思路:
用apache提供的commons-net-3.4.jar,對Telnet實現java調用。實例化Telnet類後,向目標IP發起請求,請求成功後進入Telnet界面,由於客戶端是搭建在Win10上,因此DOS命令下時以>這個符號作爲每次命令執行結束的標識符號,而由於服務端在Centos7上,其shell命令是$作爲結束符號,因此用$作爲命令執行完成後的結束符號,若是Ubuntu則是#。在Telnet登錄界面,服務器端返回的字符含Login:,讀取該字符串後,寫入用戶名,然後再讀取Password:,再寫入密碼,此時的寫入條件看Telnet服務器成功後返回的登錄字符串是怎樣一種形式。若登錄成功,則進入CentOS,此時應注意將命令執行結束的標記符號修改爲$,然後即可向服務端發起需要的命令。若登錄失敗,則服務端會返回login incorrect,以返回的字符串作爲條件判斷登錄失敗。
大概的思路就是如此。獲得Telnet對象,向服務器發請求,獲得服務器返回的字符串,從字符串解析需要的目標字符串是否存在。
多想想機器是怎麼工作的,模擬的過程。
//第一次編輯 20min