|
|
|
|
|
|
|
|
exit(0); } close(newsockid); } listen函数中第二个参数是5,意思是在initsockid上允许的最大连接请求数目。如果某个时刻initsockid上的连接请求数目已经达到5,后续到达initsockid的连接请求将被TCP丢弃。注意一旦连接通过三次握手建立完成,accept调用已经处理这个连接,则TCP连接请求队列空出一个位置。所以这个5不是指initsockid上只能接受5个连接请求。SYN flood正是一种 Denial of Service,导致B的网络功能暂时中断Z向B发送多个带有SYN标志的数据段请求连接,注意将信源IP 地址换成一个不存在的主机X;B向子虚乌有的X发送SYN+ACK数据段,但没有任何来自X的ACK出现。B的IP层会报告B的TCP层,X不可达,但B的TCP层对此不予理睬,认为只是暂时的。于是B在这个initsockid上再也不能接 收正常的连接请求。 Z(X) ---- SYN ----> B Z(X) ---- SYN ----> B Z(X) ---- SYN ----> B Z(X) ---- SYN ----> B Z(X) ---- SYN ----> B ...... X <---- SYN+ACK ---- B X <---- SYN+ACK ---- B X <---- SYN+ACK ---- B X <---- SYN+ACK ---- B X <---- SYN+ACK ---- B ...... 我认为这样就使得B网络功能暂时瘫痪页码:[1] [2] [3] [4] [5] [6] [7] 第3页、共7页 |
|
|
|
|
设为首页 | 加入收藏 | 广告服务 | 友情链接 | 版权申明
Copyriht 2007 - 2008 © 科普之友 All right reserved |