美文网首页
TCP接收缓冲区Recv-Q中存在未处理的数据时关闭连接,会向对

TCP接收缓冲区Recv-Q中存在未处理的数据时关闭连接,会向对

作者: 赵信信官属 | 来源:发表于2021-09-25 10:07 被阅读0次

环境
macOS
python
Wireshark

流程
1.通过Python搭建一个服务端
2.通过nc命令连接服务端,发送数据给服务端
3.通过netstat命令查看接收缓冲区
4.通过Wireshark查看RST报文

通过下面的代码搭建一个服务端

from socket import *
sock = socket(AF_INET,SOCK_STREAM)
sock.bind(('',8081))
sock.listen(100)
cli,addr = sock.accept()
image.png

通过nc命令连接服务端,并发送数据

nc 127.0.0.1 8081
image.png

通过netstat命令查看服务端接收缓冲区数据

image.png

由于服务端并没有调用read,因此客户端发送过来的数据都放在了服务端TCP接收缓冲区里面,接下来服务端调用close方法,再通过Wireshark抓包看下TCP发送的RST包.

image.png

服务端向客户端发送了RST包

image.png

相关文章

网友评论

      本文标题:TCP接收缓冲区Recv-Q中存在未处理的数据时关闭连接,会向对

      本文链接:https://www.haomeiwen.com/subject/baxxnltx.html