python socket不在windows中发送数据

时间:2018-01-06 23:24:45

标签: python windows sockets ssl windows-10

我正在尝试调试一个库,用于在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内幕预览最新更新。我没有尝试在任何其他操作系统上重现该问题。

1 个答案:

答案 0 :(得分:0)

似乎windows正在监视所有套接字连接,我假设它检测到ssl连接,因为通过套接字发送的数据只是一个没有扩展数据的简单客户端hello。即使允许在hello中指定没有扩展数据,在这种情况下监视它的程序也会失败。在邮件末尾添加\x00\x00以指定扩展数据的长度为0并将邮件开头的\x00W更改为\x00Y后,工作正常。

我已检查过以前Windows版本中的原始代码,并且工作正常。