我正在尝试调试一个库,用于在actionscript中打开ssl套接字,并遇到数据无法通过开放套接字发送的问题。我能够使用这个脚本从python中重现它: -
<div>
我有另一个python脚本侦听import socket
v=socket.socket()
v.connect(("127.0.0.1",443))
x='\x16\x03\x01\x00W\x01\x00\x00S\x03\x01O}\xb0\xb1Z\x9cv\x94\xd0\xec\x8e\xfc\xbd\xeb\xb9\x80isu\x19\x19\xa5\xd1o\xe1l\xcaU\xbb\xcb\xb6\xb5 \xf3&\xf6\xa0\xb3\xe6\x80\xb8\xdex\xa8\xdb)?\x91{\x1d\x03\xb0d\x1a1\xf9&\xedU\x96\x1f\xea|#\xb4\x00\x0c\x005\x00\n\x00/\x00\x05\x00\x04\x00\t\x01\x00'
v.send(x)
上的连接,我发送的任何其他字符串,它能够接收它,但不能接收该字符串。对于第一次通过套接字发送的内容有什么限制吗?
我正在使用Windows 10内幕预览最新更新。我没有尝试在任何其他操作系统上重现该问题。
答案 0 :(得分:0)
似乎windows正在监视所有套接字连接,我假设它检测到ssl连接,因为通过套接字发送的数据只是一个没有扩展数据的简单客户端hello。即使允许在hello中指定没有扩展数据,在这种情况下监视它的程序也会失败。在邮件末尾添加\x00\x00
以指定扩展数据的长度为0并将邮件开头的\x00W
更改为\x00Y
后,工作正常。
我已检查过以前Windows版本中的原始代码,并且工作正常。