0

当我使用 Twisted conch 连接时,我在 /var/log/secure.log 中的 serverloop.c:980 处收到数据包完整性错误(剩余 6 个字节),然后连接断开(“断开连接:数据包完整性错误”)

服务器是 VMware 系统,系统之间没有防火墙或其他安全措施。我还看到身份验证成功运行(接受来自端口 ssh2 的密码)。

我的 ssh.py 与示例几乎相同:

class SSHCommandChannel(channel.SSHChannel):
    name = "session"
    def __init__(self, eventparser, *args, **kwargs):
        channel.SSHChannel.__init__(self, *args, **kwargs)

    def _cbSendRequest(self, data):
        print("%s" % data)
        self.conn.sendEOF(self)

    def channelOpen(self, data):
        d = self.conn.sendRequest(self, 'exec', common.NS(data), wantReply=True)
        d.addCallback(self._cbSendRequest)
        return None

    def extReceived(self, dataType, data):
        self.dataRecieved(data)

    def dataRecieved(self, data):
        print("w00t: %s" % data)

    def closed(self):
        print("Channel closed =(")

我不知道如何继续寻求让这个例子发挥作用。任何意见,将不胜感激。

4

1 回答 1

0

我的猜测是您将奇怪的数据传递给exec请求。我不记得传递给通道客户端的数据是什么,但您可能不想将其发送回服务器。服务器期望执行 NS 编码的命令,而不是随机数据。不幸的是,我无法重现您在我的 Mac 上看到的错误,但希望这能为您指明正确的方向!

于 2013-06-18T12:40:54.080 回答