扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
(2)B<-A。A送出ACK包给B,表示成功地中止B->;A传输通道。不过A->;B可能还有数据包需要传送,所以A->;B传输通道仍旧继续畅通,直到传输完毕才会进入下一步。
(3)B<-A。当A完成B<-A的传输后,便送出ACK/FIN包。
(4)B->;A。B送出ACK包给A进行确认。
2.1.3 发送连接复位包结束TCP连接
4次握手不是结束TCP连接的唯一方法。有时,如果主机需要尽快关闭连接(或连接超时,端口或主机不可达),RST包将被发送。注意,由于RST包不是 TCP连接中的必须部分,可以只发送RST包(即不带ACK标记)。但在正常的TCP连接中RST包可以带ACK确认标记。注意,RST包是可以不要收方进行确认的。
2.1.4 无效的TCP标记
至此,已经看到了SYN、ACK、FIN、和RST标记。另外,还有PSH和URG标记。
最常见的非法组合是SYN/FIN包。注意,由于SYN包是用来初始化连接的,它不可能和FIN以及RST标记一起出现,这也是一个恶意攻击。
当网络中出现别的一些组合(如SYN/FIN/PSH、SYN/FIN/RST、SYN/FIN/RST/PSH),很明显网络肯定受到了攻击。
另外,已知的非法包还有FIN(无ACK标记)和“NULL”包。如同早先讨论的,由于ACK/FIN包的出现是为了结束一个TCP连接,那么正常的 FIN包总是带有ACK标记的。“NULL”包就是没有任何TCP标记的包(URG、ACK、PSH、RST、SYN、FIN都为0)。
在正常的网络活动下,到目前为止TCP协议栈不可能产生带有上面提到的任何一个标记组合的TCP包。当你发现这些不正常的包时,肯定有人对你的网络不怀好意。
2.1.5 ICMP类型
ICMP是网间控制消息协议,用来在主机/路由器之间传递控制信息的协议。ICMP包可以包含诊断信息(ping 、 tracerouter)、错误信息(网络/主机/端口不可达),信息(时间戳timestamp,地址掩码address mask等)、或控制信息(source quench、redirect等)。
使用包过滤可以拒绝指定的ICMP类型。
此外,下面类型的ICMP信息建议丢弃。
Redirect(5)、Alternate Host Address(6)、Router Advertisement(9)能用来转发通信。
Echo(8)、Timestamp(13)、Address Mask Request(17)能用来分别判断主机是否启动、本地时间和地址掩码。它们是和返回的信息类别有关的。其本身是不能被利用的,但它们泄漏出的信息对攻击者是有用的,所以建议丢弃这些类型的ICMP。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。