我一直认为不带ACK的FIN是粗鲁的,很少见。合法,基于连接终止。
但是我读到诸如“ FIN永远不会自行出现,这就是为什么Cisco的ACK和/或RST数据包的思科“建立””关键字过滤器这样的语句的原因。只有FIN / ACK是有效的。“
仅FIN的段合法吗?
如果是这样,我在哪里可能会遇到一个,为什么?
#1 楼
半个小时的研究表明,仅使用FIN绝对不合法。http://www.whitehats.ca/main/members/Seeker/seeker_tcp_header/seeker_tcp_header.html
数据包绝不应仅包含FIN标志。 FIN数据包
常用于端口扫描,网络映射和其他隐式活动。
https://lists.sans.org/pipermail/list/ 2006-June / 024563.html
将未经请求的ACK发送到打开或关闭的端口,您将得到
普通的RST。 FIN永远不会单独出现,这就是为什么Cisco的ACK和/或RST数据包的“已建立”关键字过滤器的原因。仅
FIN / ACK有效。
其他Stack Exchange网站,例如https://security.stackexchange.com/,可能是https://superuser.com/ ,在讨论IDS / IPS主题的上下文中可能会更好。
编辑:
(戴上Ron Maupin的帽子,看他的评论): TCP RFC并没有(明确地说,它一定太晚了……)明确声明仅FIN数据包是非法的,或者FIN标志必须带有另一个标志。尽管如此,在现代网络中仅使用FIN的数据包仍然是不寻常的,很可能是故意的,这可能值得研究和寻找。
评论
根据RFC793,p。 16“如果ACK控制位被置位,则该字段包含下一个序列号的值,该段的发送者将期望接收该值。一旦建立连接,则始终发送该消息。”@JeanPierre我明白了。您是说非启动ACKless FIN是非法的吗(非启动与T / TCP启动SYNFIN区别。这似乎与其他人的说法相反。
如果您已证明按照规范是非法的,请回答此问题(并悬赏相关的问题)
我真的希望你是对的!
赏金问题的答案是永远不会发生!