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链接
个人博客

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