我正在尝试在我和服务器之间建立一个mitm连接,它可以做一些奇怪的断开连接并重新连接套接字以便成功开始通信。案例是我知道如何使用套接字事件在vb中完成它,但无法使用Python实现它。在vb中,代码为:
Private Sub SckClient_ConnectionRequest(ByVal requestID As Long)
sckserver.Connect 'Conecta
sckclient.Close 'Close Old Connection for Client
Do Until sckserver.State = sckConnected 'Loop till Server is Connected
DoEvents 'Wait
Loop 'Loop
sckclient.Close 'Close Old Connection
sckclient.Accept requestID 'Accept Connection
End Sub
Private Sub SckClient_Close()
sckclient.Close
sckclient.Listen
sckserver.Close
End Sub
Private Sub SckServer_Close()
sckclient.Close 'Connection Close
sckclient.Listen 'Wait for Connection
sckserver.Close 'Close Connection
End Sub
问题是Python似乎在close()
和shutdown()
方法之后使套接字对象变得可用,并且就我所见,没有简单的disconnect()
,我也没有找到任何方法检索套接字状态以模仿vb close()
事件。顺便说一下,我已经尝试过多线程,一个线程连接,另一个用select等待I / O数据,另一个用来循环创建新套接字对象的连接,因为现有的不能断开连接,并且在有连接时重新连接没有收到数据。
有什么想法吗?