使用以下 python 代码连接到服务器某端口
import socket
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("x.x.x.x", x))
s.send(b"x" * 14) # ok
data=s.recv(10000) # exception
服务器在发送了一定量的数据后立即使用 rst 关闭了连接,python 中调用 recv 会抛出 exception,是否有办法获取到服务器在 rst 前发送的数据?
1
neoblackcap 2019-05-09 16:33:54 +08:00
可以是肯定可以的,不过这事怕是用 Python 不好做,我的思路是用 raw_socket 去收数据,你要啥都可以收回来
|
2
linxy19957 OP @neoblackcap 感谢回复,raw_socket 的话太麻烦了,tcp 还得重组
|
3
Lax 2019-05-09 17:51:14 +08:00
服务器用 rst 关闭连接是基于什么情况考虑的呢?
|
4
linxy19957 OP @Lax 服务器有 ip 白名单,非名单内的 ip 连接会返回错误信息然后 rst
|