zoukankan      html  css  js  c++  java
  • Python 通过Socket实现SSH

    Python 通过Socket实现SSH

    刚刚看了Itercast的Python Socket视频,就想到Socket能够在主机间收发信息,那加个命令执行不就是SSH了吗?

    于是开始动手写一个试试.

    服务器:

    import socket  
    import os
    
    server = socket.socket()
    host = socket.gethostname()
    port = 12345
    server.bind((host,port))
    
    server.listen(1)
    
    while(True):
        conn,addr = server.accept()
        print("Connection Established.")
        while(True):
            cmd = conn.recv(1024)
            result = os.popen(cmd.decode()).read()
            conn.send(result.encode('utf-8'))
        print("Connection Interrupted.")
    
    server.close()
    

    客户端:

    import socket
    
    client = socket.socket()
    host = socket.gethostname()
    port = 12345
    
    client.connect((host,port))
    
    while(True):
        cmd = input(">")
        client.send(cmd.encode('utf-8'))
        result = client.recv(4096).decode()
        print(result)
    
    client.close()
    

    结果:

    心得:

    这就是最简单的一个小程序,存在很多问题需要解决,比如命令执行结果过长怎么办?粘包怎么办?

    但是复习Socket,玩一玩还是很开心的.

  • 相关阅读:
    3月16日
    11月8日
    Code4 APP
    为什么alertView弹出后button会消失的问题
    设置某个类使用或者禁用ARC
    Bundle使用&NSBundle
    respondsToSelector
    NSDate获取当前时区的时间
    iOS enum 定义与使用
    IOS开发之纯代码界面--基本控件使用篇 ┊
  • 原文地址:https://www.cnblogs.com/rpish/p/12624194.html
Copyright © 2011-2022 走看看