首页 > 其他分享 >【网络】Wireshark分析RST消息

【网络】Wireshark分析RST消息

时间:2023-02-17 15:35:42浏览次数:46  
标签:报文 端口 网络 TCP RST 连接 Wireshark

文章目录

        前言
        1、定义:
        2、有三个条件可以产生RST:
        3、说明
        4、RST数据报文产生情况
                1 端口未打开


系列文章:
《Wireshark分析Netty建链过程( tcp三次握手、osi模型)》

《IPV4数据报头部格式》

《Wireshark分析RST消息》
前言

RST是TCP/IP可靠传输协议的协议头的字段。

TCP报头位置如下图所示。


RST在TCP报头中位置:

1、定义:

RST表示复位,RST=1表示TCP中出现严重错误(由于主机崩溃或其它原因),必须释放连接。RST=1还可用来拒绝一个非法的报文段或拒绝打开一个连接。发送RST后不会再有正常的四分组终止序列(Unix网络编程so_linger选项)。
2、有三个条件可以产生RST:

*SYN到达某端口但此端口上没有正在监听的服务器(针对TCP而言,UDP则返回端口不可达ICMP错误)。
*TCP想取消一个已有连接(使用套接字SO_LINGER选项)。
*TCP接收了一个根本不存在的连接上的分节。
3、说明

RST报文段不会导致另一端产生任何响应,另一端不进行确认,收到RST的一段将终止该连接,并通知应用层连接复位。

RST会造成丢弃任何待发数据并立即发送复位报文段。正常终止连接是在所有排队数据都已经发送之后才发送FIN,正常情况下没有任何数据丢失(TCP/IP详解p187)
4、RST数据报文产生情况

其实在网络编程过程中,各种RST错误其实是比较难排查和找到原因的。因此我们需要在编程时尽可能规避不合理的操作,而导致的RST数据包,而分析那些真正有异常的RST数据包。下面我列出几种会出现RST的情况:
1 端口未打开

服务器程序端口未打开而客户端来连接。这种情况是最为常见和好理解的一种了。去telnet一个未打开的TCP的端口可能会出现这种错误。这个和操作系统的实现有关。在某些情况下,操作系统也会完全不理会这些发到未打开端口请求。

比如在下面这种情况下,命令行向8089端口发送一个SYN请求,表示想要连接主机的8089端口,但是主机上根本没有打开8089这个端口,于是就向发送了一个RST。这种情况很常见。特别是服务器程序core dump之后重启之前连续出现RST的情况会经常发生。

 

————————————————
版权声明:本文为CSDN博主「云川之下」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_45406092/article/details/105519472

标签:报文,端口,网络,TCP,RST,连接,Wireshark
From: https://www.cnblogs.com/jiftle/p/17130321.html

相关文章

  • WiFi网络带宽、流量监控管理
    当您的组织拥有越来越多的有线和无线设备时,有必要在预算、性能和安全性之间取得准确的平衡。尽管无线设备可以为用户提供灵活性,但鉴于其动态性质,发现和管理这些设备可能极具......
  • [oeasy]python0085_ASCII之父_Bemer_COBOL_数据交换网络
    编码进化回忆上次内容上次回顾了字符编码的进化过程IBM在数字化过程中作用非常大IBM的BCDIC有黑历史......
  • Windows 10 无网络的情况下手动升级补丁的流程和方法:
    Windows10无网络的情况下手动升级补丁的流程和方法:从微软官网下载需要的更新补丁;将下载的更新补丁保存到本地;打开“设置”,点击“更新和安全”;点击“查看可用更新”,......
  • RNN 循环神经网络 tensorflow keras
    RNN循环神经网络,转自https://blog.csdn.net/weixin_46969441/article/details/121584330 循环神经网络循环核:参数时间共享,循环层提取时间信息。下图是一个记忆体:......
  • 理解梅尔谱图 Understanding the Mel Spectrogram
    理解梅尔谱图(UnderstandingtheMelSpectrogram)文章中的示例音频音频文件信号信号就是某一特定量随时间变化。对于音频来说,这个特定的变化量就是气压。那我们如何......
  • 计算机网络-NAT和NAPT 技术
    一、什么是NATNAT(NetworkAddressTranslator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除了转换IP地址,还出现了可以转换TCP\UDP端口号的......
  • c# 的网络请求相关类
    c#的请求类主要包括HttpWebRequest;WebClient;HttpClient,RestSharp,其中RestSharp是社区的网络请求方案,这里主要是讨论各自的特定HttpWebRequest这个类是.net比较早......
  • 计算机网络安全
    1、计算机网络协议与标准协议:计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合(可以理解为规则)协议的三要素:语法:用户数据与控制信息的结构与格式,......
  • C语言网络编程winsock
    目录前言思路服务器代码客户端效果图前言参考自https://www.bilibili.com/video/BV1s7411z7jK/?spm_id_from=333.1007.top_right_bar_window_history.content.click思......
  • 《用 libcurl 实现 HTTP 下载文件,其中设置了超时时间,以便在网络异常时能够快速中止下
    CURLOPT_TIMEOUT选项设置了超时时间为10秒,如果在这个时间内没有下载完成,则会返回一个超时错误,可以在回调函数中进行错误处理。如果网络异常或其他错误,也会在curl_eas......