玖叶教程网

前端编程开发入门

用Python写一个远程执行命令的小工具

说到执行命令,在Python中一定会想到OS模块,今天我使用的是os.popen()方法,它会返回一个文件对象,然后用其read()方法读取命令的返回结果。

思路是这样的,客户端给服务端发一个命令,服务器收到后执行,并将执行的结果返还给客户端实现一个简单的ssh的功能。

服务端

客户端

来看看效果

服务端这样写代码会有很大的问题,一方面一但客户端终止,服务端就会报错。二来客户端发来无效命令,服务端就会返回空字符,一旦服务端发送空字符,客户端是接收不到的,就会一直卡在那里。

我们写代码第一步要实现我们代码的功能,接着就要考虑代码中的漏洞,一点点完善嘛。

其实还有一个问题,因为客户端一次只接收1024个字节,一旦服务端命令执行结果超过1024个字节,客户端是不可能收完整的。这时我们可以先给客户端发一个我们命令结果的长度,然后让客户端循环接收。

私信回复源码获取源码

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言