王东目录:初识ICMPICMP工具故障检测TCPSYNFLOOD攻击简介UDPFLOOD攻击简介初识ICMP协议TCP/IP很好很强大!?设定可能有误线路可能会断设备可能异常router可能负载太高……初识ICMP协议左图为TCP/IP体系中各层所应用到的协议,今天我们所讲的ICMP就在图中的网络层。初识ICMP协议作用:用于在TCP/IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,令管理者可以对所发生的问题作出诊断,然后采取适当的措施去解决它。从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性﹐其功能主要有:初识ICMP协议侦测远端主机是否存在。建立及维护路由资料。重导资料传送路径。资料流量控制ICMP协议的主要功能:初识ICMP协议ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code)让机器来识别不同的连线状况。常用的类别如下表所列﹕初识ICMP协议在ICMP的使用中,不同的类别会以不同的代码来描述具体状况,TYPE3为例,其下的代码如下图所示:初识ICMP协议消息格式:类型代码参数校验和信息(可变长)Bits160-167192176-183ID184-191序号(sequence)校验码(checksum)168-175Type160CodeIP报头IP数据类型ICMP数据校验和代码IP报文ICMP报文初识ICMP协议•类型字段:表示报文的类型;•代码字段:表示发送此特定报文类型的原因;•校验和:表示整个ICMP报文的校验结果。•ICMP数据:在差错报文的数据部分携带引起差错的原始分组;在查询报文的数据部分携带了查询类型的额外信息。初识ICMP协议ICMP的分类:•ICMP改变路由报文•ICMP源站抑制报文差错报文•ICMPEcho请求报文(ping)•ICMP时间戳请求报文•ICMP地址掩码请求报文查询报文ICMP工具故障检测ICMP工具故障检测•Ping的语法与参数Ping[参数][网址或域名]ICMP工具故障检测•利用PING来诊断网络问题1.Ping127.0.0.1-测试TCP/IP协议是否正确2.Ping本机地址-测试网卡是否正确3.Ping网关地址-测试路由器是否正确4.Ping互联网上的机器-测试全部路由是否正确5.Ping互联网上的网址-测试DNS服务器是否配置正确。ICMP工具故障检测•TRACERTICMP工具故障检测ICMP工具故障检测TRACERT[参数][网址或IP地址]C:\tracert168.95.192.1Tracingroutetohntp1.hinet.net[168.95.192.1]overamaximumof30hops:110ms10ms10ms203.74.205.3210ms10ms10msc137.h203149174.is.net.tw[203.149.174.137]350ms60ms60ms10.1.1.70460ms60ms60msc248.h202052070.is.net.tw[202.52.70.248]5290ms60ms60msISNet-PC-TWIX-T3.rt.is.net.tw[210.62.131.225]670ms50ms70ms210.62.255.5750ms70ms51ms210.65.161.126851ms50ms50ms168.95.207.21960ms50ms50mshntp1.hinet.net[168.95.192.1]Tracecomplete.ICMP工具故障检测Tracert的结果表明:–有近及远,显示沿途所经的每部路由器。–显示每部路由器的响应时间。–显示每部路由器在“本地”的IP地址。问题为什么使用ICMP协议进行网络连接故障排除?由于IP协议是不可靠的和无连接的数据报交付,它有两个缺点:缺少差错控制和主机和管理查询机制。ICMP就是为了弥补这两个缺点设计并配合IP协议使用的。问题•如果一台网络上的计算机不能与其它网络计算机建立连接如何检查发生故障地点?1.用PING127.0.0.1检查本机协议是否安装正确2.Ping本机IP地址检查本机网卡是否正确安装3.Ping网关IP地址检查本机到网关是否有故障4.Ping目的IP地址检查网关到目的机是否有故障TCPSYNFLOOD攻击简介•TCPSYNFLOOD攻击机制客户端通过发送在TCP报头中SYN标志置位的数据分段到服务端来请求建立连接。通常情况下,服务端会按照IP报头中的来源地址来返回SYN/ACK置位的数据包给客户端,客户端再返回ACK到服务端来完成一个完整的连接(Figure-1)。在攻击发生时,客户端的来源IP地址是经过伪造的(spoofed),现行的IP路由机制仅检查目的IP地址并进行转发,该IP包到达目的主机后返回路径无法通过路由达到的,于是目的主机无法通过TCP三次握手建立连接。在此期间因为TCP缓存队列已经填满,而拒绝新的连接请求。目的主机一直尝试直至超时(大约75秒)。这就是该攻击类型的基本机制。TCPSYNFLOOD攻击简介发动攻击的主机只要发送较少的,来源地址经过伪装而且无法通过路由达到的SYN连接请求至目标主机提供TCP服务的端口,将目的主机的TCP缓存队列填满,就可以实施一次成功的攻击。实际情况下,发动攻击时往往是持续且高速的。如下图,为SYNFlood攻击过程示意图:TCPSYNFLOOD攻击简介这里需要使用经过伪装且无法通过路由达到的来源IP地址,因为攻击者不希望有任何第三方主机可以收到来自目的系统返回的SYN/ACK,第三方主机会返回一个RST(主机无法判断该如何处理连接情况时,会通过RST重置连接),从而妨碍攻击进行。如下图所示:由此可以看到,这种攻击方式利用了现有TCP/IP协议本身的薄弱环节,而且攻击者可以通过IP伪装有效的隐蔽自己。但对于目的主机来说,由于无法判断攻击的真正来源。而不能采取有效的防御措施。TCPSYNFLOOD攻击简介从上面的分析,可以看出TCPSYNFlood远程拒绝服务攻击具有以下特点:针对TCP/IP协议的薄弱环节进行攻击;发动攻击时,只要很少的数据流量就可以产生显著的效果;攻击来源无法定位;在服务端无法区分TCP连接请求是否合法。UDPFLOOD攻击简介UDPFlood是日渐猖厥的流量型DoS攻击。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100kpps的UDPFlood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDPFLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。UDPFLOOD攻击简介正常应用情况下,UDP包双向流量会基本相等,而且大小和内容都是随机的,变化很大。出现UDPFlood的情况下,针对同一目标IP的UDP包在一侧大量出现,并且内容和大小都比较固定。攻击工具:UDPFLOOD攻击简介53端口的UDPFlood攻击抓图:UDPFLOOD攻击简介UDPFlood大包攻击(占带宽,分片):