Shapooo / linux-remote

远程对linux进行信息获取和控制

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

linux-remote

参与人员

我,鲁主和豌豆。

项目简介

大三硬件课设,用开发板做了一个嵌入式linux的路由器。其实在底层上做的工作比较多的,但是这种没法展示,想了想就就花了点时间简单做了个对linux开发板进行信息获取和简单控制的软件,还可以往高大上的方向(SDN)靠。 这部分主要是鲁主和豌豆完成的,我最后重构了一遍,解决了严重的BUG。 这个代码还相当原始,

实现方式

信息获取程序直接读取/proc文件夹下的linux运行数据,组织成dict,转换成字符串,通过socket传输到客户端。客户端再将字符串转换回dict,数据处理起来就很方便。GUI使用的Tkinter。 控制程序同样是socket直接传输字符串,服务器端用python内置OS模块将字符串作为bash命令行输出,实现对开发板的控制。

最后

这两个程序本来应该是要整合到一起的;控制程序服务端返回的信息本来应该送到客户端,而不是直接在服务端显示的;信息显示程序本来应该是自己更新显示数据而不是需要靠鼠标点点点的,但是由于tkinter时间出发功能相当简单,也没时间换更强大的图形库了(懒),于是就这样了。 继续扩展的方向:

  • 通信的方式过于简单,直接用TCP流传输字符。这里可以套用OpenFlow等成熟的SDN协议,实现对设备的控制,字符也可以进行压缩。
  • 控制的功能过于简单。接管设备对网络流量的管控,正式向SDN靠拢。
  • 增加多设备管理,多线程对多设备进行监控和管理。
  • 增加交互的方式。将两部分整合,将常用的控制功能做成按键,增加配置文件管理方式。能实现对网络内的网络设备进行同时监控和控制,导入配置文件后对整个网络的网络设备进行配置。

About

远程对linux进行信息获取和控制


Languages

Language:Python 100.0%