原理
SYN Flood
SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(Distributed Denial Of Service分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。 SYN Flood攻击的过程在TCP协议中被称为三次握手(Three-way Handshake),而SYN Flood拒绝服务 典型的分布式拒绝服务攻击网络结构图
攻击就是通过三次握手而实现的。 (1) 攻击者向被攻击服务器发送一个包含SYN标志的TCP报文,SYN(Synchronize)即同步报文。同步报文会指明客户端使用的端口以及TCP连接的初始序号。这时同被攻击服务器建立了第一次握手。 (2) 受害服务器在收到攻击者的SYN报文后,将返回一个SYN+ACK的报文,表示攻击者的请求被接受,同时TCP序号被加一,ACK(Acknowledgment)即确认,这样就同被攻击服务器建立了第二次握手。 (3) 攻击者也返回一个确认报文ACK给受害服务器,同样TCP序列号被加一,到此一个TCP连接完成,三次握手完成。 具体原理是:TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服 分布式拒绝服务攻击网络结构图
务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒~2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃—— 即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况就称作:服务器端受到了SYN Flood攻击(SYN洪水攻击)。 SYN COOKIE 防火墙是SYN cookie的一个扩展,SYN cookie是建立在TCP堆栈上的,他为linux *** 作系统提供保护。SYN cookie防火墙是linux的 一大特色,你可以使用一个防火墙来保护你的网络以避免遭受SYN洪水攻击。 下面是SYN cookie防火墙的原理 client firewall server ------ ---------- ------ 1 SYN----------- - - - - - - - - - -> 2 <------------SYN-ACK(cookie) 3 ACK----------- - - - - - - - - - -> 4 - - - - - - -SYN---------------> 5 <- - - - - - - - - ------------SYN-ACK 6 - - - - - - -ACK---------------> 7 -----------> relay the -------> <----------- connection <------- 1:一个SYN包从C发送到S 2:防火墙在这里扮演了S的角色来回应一个带SYN cookie的SYN-ACK包给C 3:C发送ACK包,接着防火墙和C的连接就建立了。 4:防火墙这个时候扮演C的角色发送一个SYN给S 5:S返回一个SYN给C 6:防火墙扮演C发送一个ACK确认包给S,这个时候防火墙和S的连接也就建立了 7:防火墙转发C和S间的数据 如果系统遭受SYN Flood,那么第三步就不会有,而且无论在防火墙还是S都不会收到相应在第一步的SYN包,所以我们就击退了这次SYN洪水攻 击。
IP欺骗DOS攻击
DDOS攻击给运营商带来的损害
这种攻击利用RST位来实现。假设现在有一个合法用户(61616161)已经同服务器建立了正常的连接,攻 DDOS攻击
击者构造攻击的TCP数据,伪装自己的IP为61616161,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从61616161发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户61616161再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击时,攻击者会伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务,从而实现了对受害服务器的拒绝服务攻击。
UDP洪水攻击
攻击者利用简单的TCP/IP服务,如Chargen和Echo来传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间存在很多的无用数据流,这些无用数据流就会导致带宽的服务攻击。
Ping洪流攻击
由于在早期的阶段,路由器对包的最大尺寸都有限制。许多 *** 作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方死机。
泪滴(teardrop)攻击
泪滴攻击是利用在TCP/IP堆栈中实现信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指明该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。
Land攻击
Land攻击原理是:用一个特别打造的SYN包,它的原地址和目标地址都被设置成某一个服务器地址。此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(大约持续5分钟)。
Smurf攻击
一个简单的Smurf攻击原理就是:通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行。最终导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞。它比ping of death洪水的流量高出1或2个数量级。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。
Fraggle攻击
原理:Fraggle攻击实际上就是对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP
<php
echo "当前脚本服务器的主机名 " gethostbyaddr($_SERVER[ REMOTE_ADDR ]) "<br /><hr />"; echo "获得当前运行PHP脚本(页面)所在的服务器的 IP 地址:" $_SERVER[ SERVER_ADDR ] "<br /><hr />"; echo "获得当前运行PHP脚本(页面)所在的服务器的 主机名:" $_SERVER[ SERVER_NAME ]; echo <hr> ; echo 客户端ip $_SERVER[ REMOTE_ADDR ]; echo <br> ; echo 客户端ip getenv( REMOTE_ADDR ); echo "<br>"; echo 服务器主机ip gethostbyname(" qq "); >
lishixinzhi/Article/program/PHP/201311/20917
echo本义意思是“回音;效仿”,作及物动词时意思是“反射;重复”,作不及物动词时意思是“随声附和;发出回声”,后在不同领域延伸出不同意思。
1、计算机命令:
echo可以基于TCP协议,服务器就在TCP端口7检测有无消息,如果使用UDP协议,基本过程和TCP一样,检测的端口也是7。 是路由也是网络中最常用的数据包,可以通过发送echo包知道当前的连接节点有那些路径,并且通过往返时间能得出路径长度。
2、希腊神话山林女神和回声女神:
希腊神话中,Echo是一个山林女神。希腊神话中,有一次宙斯与神女们在山林游玩,嫉妒的赫拉赶来寻找。Echo便缠住赫拉与她不停地说话,让神女们有了逃跑的时间。为此,赫拉惩罚她失去了正常的说话能力,只能重复别人说的最后几个字。
3、台湾著名女作家、旅行家:
echo是三毛的英文名,曾用名陈懋(mào)平,后改名为陈平,浙江定海(今舟山市定海区)人。 1943年出生于重庆黄桷垭。中国现代作家。
4、动作冒险类游戏:
《ECHO》是一款由Ultra Ultra制作并发行的动作冒险类游戏,在这款游戏中,玩家扮演名为En的女孩,她发现自己处于一座宫殿之中,“宫殿”是一栋奇怪而具有感知性的建筑,会使用回声作为保护机制,玩家的任务很简单,逃出迷宫。
5、香水品牌:
Echo是Davidoff推出的一款男性香水,Echo Woman时Davidoff推出的一款女性香水。
直接 /etc/rcSd/Sxxgdm reload 直接打开这个文件就可以看到参数(都是标准的参数)。附:linux echo命令详解
功能说明:显示文字。
语 法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开
并在最后加上换行号。
参 数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
--help 显示帮助
--version 显示版本信息一些资料,希望对你有用:
Net Start
作 用:启动服务,或显示已启动服务的列表。
命令格式:net start service
Net Pause
作 用:暂停正在运行的服务。
命令格式:net pause service
Net Continue
作 用:重新激活挂起的服务。
命令格式:net continue service
NET STOP
作 用:停止 Windows NT 网络服务。
命令格式:net stop service
参数介绍:我们来看看这些服务都是什么
(1)alerter(警报)
(2)client service for netware(Netware 客户端服务)
(3)clipbook server(剪贴簿服务器)
(4)computer browser(计算机浏览器)
(5)directory replicator(目录复制器)
(6)ftp publishing service (ftp )(ftp 发行服务)
(7)lpdsvc
(8)net logon(网络登录)
(9)network dde(网络 dde)
(10)network dde dsdm(网络 dde dsdm)
(11)network monitor agent(网络监控代理)
(12)nt lm security support provider(NT LM 安全性支持提供)
(13)ole(对象链接与嵌入)
(14)remote access connection manager(远程访问连接管理器)
(15)remote access isnsap service(远程访问 isnsap 服务)
(16)remote access server(远程访问服务器)
(17)remote procedure call (rpc) locator(远程过程调用定位器)
(18)remote procedure call (rpc) service(远程过程调用服务)
(19)schedule(调度)
(20)server(服务器)
(21)simple tcp/ip services(简单 TCP/IP 服务)
(22)snmp
(23)spooler(后台打印程序)
(24)tcp/ip netbios helper(TCP/IP NETBIOS 辅助工具)
(25)ups
(26)workstation(工作站)
(27)messenger(信使)
(28)dhcp client
(29)eventlog 以下这些SERVICE只能在NT SERVER上使用
(1)file server for macintosh
(2)gateway service for netware
(3)microsoft dhcp server
(4)print server for macintosh
(5)remoteboot
(6)windows internet name service
(9)Net Statistics
作 用:显示本地工作站或服务器服务的统计记录。
命令格式:net statistics [workstation | server]
参数介绍:
(1)键入不带参数的net statistics列出其统计信息可用的运行服务。
(2)workstation显示本地工作站服务的统计信息。
(3)server显示本地服务器服务的统计信息。
简单事例:
(1)net statistics server | more显示服务器服务的统计信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)