我正在使用公司的产品(我现在不想提及任何具体内容),这些产品公开了一个可以打开套接字的界面(如果你想配置它,可以通过SSL / TLS或纯文本)那样)然后向产品发出命令。您必须在发出命令之前进行身份验证,但一种方法是通过用户名/密码进行身份验证。我注意到,在您进行用户名/密码身份验证后,您不必提供任何会话标识符,您不再需要提供用户名/密码。我不知道的是产品如何知道我之后的身份验证。当我进行我不知道的原始套接字通信时,是否有一些相当于正在传递的cookie?请记住,这些不是HTTP请求,而是this等原始套接字。
答案 0 :(得分:1)
首先,你没有做raw sockets,但你只是做了一个普通的TCP连接(INET / INET6套接字,类型为SOCK_STREAM),可能还有一些SSL / TLS。与HTTP相反,TCP连接已经是有状态的,因此您不需要某种cookie来维护不同命令之间的状态,只要所有这些命令都在同一TCP连接内发出。一旦TCP连接完成(即关闭),状态就会丢失,这意味着下次连接时必须再次进行身份验证。