当前位置: 首页 > news >正文

Wireshark使用相关

1.wireshark如何查看RST包

tcp.flags.reset==1
RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。发送RST包关闭连接时,不必等缓冲区的包都发出去(不像上面的FIN包),直接就丢弃缓存区的包发送RST包。而接收端收到RST包后,也不必发送ACK包来确认。

为什么服务端发送了rst包,还会回复客户端http200

2.查看特定端口包

选择解码形式

选择端口号和类型。

3.如何确定http200对应的哪个请求

wireshark中每个网络操作都会给一个标记(NO), 而http协议是请求与响应模式的,wireshark会标记请求对应的响应,如下图蓝条请求,点击查看Hypertext Transfer Protocol, 找到 Response in frame ,这里标记的即请求对应的响应NO

4.win窗口问题

socket缓存区满了。

4.1接收端冲区

接收缓冲区把数据缓存入内核,应用进程一直没有调用recv()进行读取的话,此数据会一直缓存在相应socket的接收缓冲区内。不管进程是否调用recv()读取socket,对端发来的数据都会经由内核接收并且缓存到socket的内核接收缓冲区之中。
recv(),就是把内核缓冲区中的数据拷贝到应用层用户的buffer里面,并返回;

4.2发送缓冲区

进程调用send()发送的数据的时候,最简单情况即将数据拷贝进入socket的内核发送缓冲区之中,然后send便会在上层返回。换句话说,send()返回之时,数据不一定会发送到对端去(和write写文件有点类似)。

send(),仅仅是把应用层buffer的数据拷贝进socket的内核发送buffer中,发送是TCP的事情,和send其实没有太大关系。

4.3实际应用

接收缓冲区被TCP和UDP用来缓存网络上来的数据,一直保存到应用进程读走为止。
(1)TCP缓冲区

对于TCP,如果应用进程一直没有读取,接收缓冲区满了之后,发生的动作是:接收端通知发送端,接收窗口关闭(win=0)。此为滑动窗口的实现。保证TCP套接口接收缓冲区不会溢出,从而保证了TCP是可靠传输。因为对方不允许发出超过所通告窗口大小的数据。 这就是TCP的流量控制,如果对方无视窗口大小而发出了超过窗口大小的数据,则接收方TCP将丢弃它。

(2)UDP缓冲区

每个UDP socket都有一个接收缓冲区,没有发送缓冲区,从概念上来说就是只要有数据就发,不管对方是否可以正确接收,所以不缓冲,不需要发送缓冲区

UDP:当套接口接收缓冲区满时,新来的数据报无法进入接收缓冲区,此数据报就被丢弃。UDP是没有流量控制的;快的发送者可以很容易地就淹没慢的接收者,导致接收方的UDP丢弃数据报。


注:本文很多内容参考自网络博客。

http://www.lryc.cn/news/329042.html

相关文章:

  • 相机标定学习记录
  • CSS 滚动条样式修改
  • 谈谈配置中心?
  • 人工智能(pytorch)搭建模型25-基于pytorch搭建FPN特征金字塔网络的应用场景,模型结构介绍
  • JRT业务开发起步
  • 深度解析:国内主流音视频产品的核心功能与市场表现
  • 红黑树介绍及插入操作的实现
  • [linux初阶][vim-gcc-gdb] TwoCharter: gcc编译器
  • 单例设计模式(2)
  • boost::asio 启用 io_uring(Linux 5.10)队列支持
  • Android 自定义坐标曲线图(二)
  • 每日OJ题_子序列dp⑧_力扣446. 等差数列划分 II - 子序列
  • GOPROXY 代理设置
  • Redis面经
  • 【c++】类和对象(六)深入了解隐式类型转换
  • 什么是nginx正向代理和反向代理?
  • 【Go】面向萌新的Gin框架知识梳理学习笔记
  • baseDao增删改查.
  • 什么是面向对象【大白话Java面试题】
  • PyTorch 教程-快速上手指南
  • 【有芯职说】数字芯片BES工程师
  • 暴力破解pdf文档密码
  • 蓝桥杯刷题第四天
  • 03-数据库的用户管理
  • 每日一题 --- 三数之和[力扣][Go]
  • vue render 函数详解 (配参数详解)
  • ubuntu23.10配置RUST开发环境
  • Vue性能优化--gZip
  • 蓝桥杯第七届大学B组详解
  • 荣誉 | 人大金仓连续三年入选“金融信创优秀解决方案”