在 Windows 上阻止 SSL 流量的工具

在 Windows 上阻止 SSL 流量的工具

我正在尝试重新创建一些客户问题,这需要我阻止来自服务器的 SSL 数据包,即 TCP 连接步骤应该继续,但 SSL 握手应该停止。

Windows 操作系统下是否有任何工具或任何第三方工具可用于模拟这种情况(我知道在 Linux 下,我可能可以使用iproutes命令来实现这一点)。

答案1

使用简单的 python 或 perl 脚本来伪造协议。

停止服务器上的 ssh 守护程序,然后启动 Python 脚本:

    class MyTCPHandler(SocketServer.BaseRequestHandler):
    """
    The RequestHandler class for our server.

    It is instantiated once per connection to the server, and must
    override the handle() method to implement communication to the
    client.
    """

    def handle(self):
        # self.request is the TCP socket connected to the client
        self.data = self.request.recv(1024).strip()
        print "%s wrote:" % self.client_address[0]
        print self.data
        # just send back the same data, but upper-cased
        # Simulate error Here!
        # maybe exit()
        self.request.send(self.data.upper())

if __name__ == "__main__":
    HOST, PORT = "localhost", 22

    # Create the server, binding to localhost on port 9999
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)

    # Activate the server; this will keep running until you
    # interrupt the program with Ctrl-C
    server.serve_forever()

只需调整脚本即可使其以您想要的方式“失败”,要么不回复,要么发回垃圾邮件,要么终止侦听器进程。

答案2

我不清楚你到底想做什么。你想保持 TCP 连接打开但不发送任何 TLS 握手数据包吗?你想立即关闭 TCP 连接吗?你想只发送几个 TLS 数据包吗?如果是,发送哪些?

无论如何,你可能会发现openssl s_client和/或openssl s_server命令行测试实用程序很有用,以及wireshark,用于诊断 SSL 问题。

相关内容