Java實現webshell

最近Linux課程大作業要求我們實現一個類似於實驗樓中那種左邊是word右邊是一個webshell的html

在網上找了一些webssh插件發現都不是Java實現,自己又沒有在Mac上安裝太多語言的編譯器僅僅有Java,python,c這幾個而且除了Java其他的自己也不太熟練,所以打算自己實現一下webshell的功能。

在網上找了一些資料最好決定前端頁面使用一個叫做xtrem.js的插件

後端還是使用我最瞭解的netty做http靜態服務器和websocket連接

大致的思路如下:

  1. 首先從前臺發送一個httprequest
  2. 在netty拿到這個request判斷是否是一個socket升級協議請求
  3. 如果不是就返回請求的資源
  4. 如果是一個升級協議就建立websocket連接並獲取前端傳過來的命令數據
  5. 獲取到了數據後我們通過一個叫做jsch的Java包來實現netty與遠程telnet連接並將獲取到的命令分類發送給遠端
  6. 新建一個線程監視着telnet連接的inputstream,如果有數據第一時間返回給前端並在前端展示頁面

大體上的思路就是這樣

這個工具目前對於我的大作業來說基本功能是可以實現了,不過等我這段時間考試和大作業都完事了還打算繼續完善一下這個tool,比如加入一些拖拽發送文件等功能。

git鏈接
個人博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章