当前位置: 技术问答>linux和unix
新手问问题:谁帮我解释一下这句话
来源: 互联网 发布时间:2015-04-14
本文导语: RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。 哪为大侠帮我详细解释一下这句话的意思,我看了半天都不明白...
RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。
哪为大侠帮我详细解释一下这句话的意思,我看了半天都不明白这句话是什么意思?
特别是客户端和服务器端各发生了什么变化。
本应该多给点分的,但是我现在只有120分了,怕以后问问题没分给。
谢谢啊!
哪为大侠帮我详细解释一下这句话的意思,我看了半天都不明白这句话是什么意思?
特别是客户端和服务器端各发生了什么变化。
本应该多给点分的,但是我现在只有120分了,怕以后问问题没分给。
谢谢啊!
|
一种可能情况时当双方对连接处于不同的看法时,比如server端因为某种原因重启了,如果时间比较短暂,而又没有keepalive质询包时,客户机可能认为连接仍然存在,而此时server需要三步握手过程,这就可能发送一个rst给客户机,让其重新廉洁
|
下边引用一下 《TCP/IP Illustrated Vol.1 Protocols》里的原话给你解释一下:
A common case for generating a reset is when a connection request arrives and no process is listening on the destination port. In the case of UDP, we saw in Section 6.5 that an ICMP port unreachable was generated when a datagram arrived for a destination port that was not in use. TCP uses a reset instead.
所以在网络安全里经常用这个来作为一种扫描手段,假设A想扫描B,方法如下:
方法一:SYN扫描。A向B某个端口发SYN包,B回应SYN+ACK,A返回RST,这样可以知道B在某个端口确实开放,但是B却没有记录这个连接,因为一个连接没有真正的建立。
方法二:FIN扫描。SYN扫描有的时候仍然不够隐蔽,FIN也是一个不错的方法,A向B的某个端口发送FIN包,在某些系统实现下,如果该端口开放,在B不理会这个FIN包,如果B的该端口没有开放,则返回A一个RST包,希望A能重置连接。但是FIN不是万能的,因为某些操作系统无论端口开没开放,都返回一个RST包,这样就没有方法用FIN来判断哪个端口开放了。
A common case for generating a reset is when a connection request arrives and no process is listening on the destination port. In the case of UDP, we saw in Section 6.5 that an ICMP port unreachable was generated when a datagram arrived for a destination port that was not in use. TCP uses a reset instead.
所以在网络安全里经常用这个来作为一种扫描手段,假设A想扫描B,方法如下:
方法一:SYN扫描。A向B某个端口发SYN包,B回应SYN+ACK,A返回RST,这样可以知道B在某个端口确实开放,但是B却没有记录这个连接,因为一个连接没有真正的建立。
方法二:FIN扫描。SYN扫描有的时候仍然不够隐蔽,FIN也是一个不错的方法,A向B的某个端口发送FIN包,在某些系统实现下,如果该端口开放,在B不理会这个FIN包,如果B的该端口没有开放,则返回A一个RST包,希望A能重置连接。但是FIN不是万能的,因为某些操作系统无论端口开没开放,都返回一个RST包,这样就没有方法用FIN来判断哪个端口开放了。