TCP/IP之ICMP协议分析与问题

简介:
ICMP 协议分析与问题
1 打开” icmp数据包文件夹中的ping.pkt,填表:
 
序号
Type
code
Checksum
Identifier
Sequence
消息种类
消息描述
1#
 8
 0
 0x 3a 5c
 0x0200
 4352(0x1100)
 Query(Request)
 abcdefghijklmnopqrstuvwabcdefghi
2#
 0
 0
 0x 425c
 0x0200
 4352(0x1100)
Query(Relay)
 

 
 
 
 
 
 
 
 
 
以上ICMP报文的Data字段最大值是(  32  ),Windows系统中的默认值是(  32 
2、打开” icmp数据包文件夹中的icmplab.pkt,回答问题:
1)何种类型的ICMP数据被发送?Code号是多少?
答:type3ICMP数据被发送,code号是3,端口不可达。
2)发送这个ICMP数据包的主机IP地址是什么?
答:IP 10.2.0 .2
3)为什么发送这个ICMP数据包
答:因为本来 10.1.0 .1要发送的IP数据包里的目的地址是10.2.0.2,但因为它不知道怎样达到,所以返回一个ICMP差错报文。
3打开” icmp数据包文件夹中的icmp.cap,观察了解不同类型的报文,其中总共有哪些类型的icmp数据包?分别有什么作用?
type
code
消息种类
作用
8
0
Query(Request)
回应请求,测试目的主机或路由器的可达性
0
0
Query(Relay)
回应的应答,测试目的主机或路由器的可达性
11
0
Error
因“传输期间生存时间为 0 ”返回 ICMP 差错报文
3
3
Error
因“端口不可达”返回 ICMP 差错报文
13
5
Query(Relay)
时间戳请求,获取其他设备的当前时间
14
0
Query(Relay)
时间戳应答,获取其他设备的当前时间
17
0
Query(Relay)
因获取不了地址掩码返回 ICMP 差错报文
 
4ICMP有哪些安全问题?如何防范基于ICMP的攻击?  
Ping of death( 死亡之ping)
现在所有的标准 TCP/IP 实现都已实现对付超大尺寸的包,并且大多数防火墙能够自动过滤这些攻击,包括:从 windows 98 之后的 windows NT(service pack 3 版本之后 ) Solaris Mac OS 都具有抵抗一般 ping of death 攻击的能力。此外,对防火墙进行配置,阻断 ICMP 以及任何未知协议,都讲防止此类攻击。
ICMP Flood(ICMP 洪水)
用户或管理人员可以通过在运行菜单中输入 regedit.exe 调出注册表,打开 HKEY_LOCAL_Machine/System/CurrentControlSt/Services?TCPIP/Paramters 键值并在其右窗口中创建 DWORD 键值命名为 EnableICMPRedirects 键值数为 0 ,此时即可禁止计算机响应 ICMP 得定向报文,以达保护目的,而还有一种方法是通过修改注册表禁止响应 ICMP 路由通告报文,来守护此类攻击,依次打开注册表如下键值
HKEY_LOCAL_Machine/System/CurrentControlSt/Services?TCPIP/Paramters/Interfaces 在右侧窗体中创建 DWORD 值命名为 PerformRouterDiscovery 其键值为 0 即可停止响应。
Smurf 攻击
防止网络遭受 Smurf 攻击 -------------------
首先 ,千万不能让网络里的人发起这样的攻击。在 Smurf 攻击中,有大量的源欺骗的 IP 数据包离开了第一个网络。通过在路由器上使用输出过滤,可以滤掉这样的包,从而阻止从网络中发起的 Smurf 攻击。
在路由器上增加这类过滤规则的命令是:
Access-list 100 permit IP { 网络号 } { 网络子网掩码 } any
Access-list 100 deny IP any any
在局域网的边界路由器上使用这一访问列表的过滤规则,就可以阻止网络上的任何人向局域网外发送这种源欺骗的 IP 数据包。
其次 ,停止网络做为中间代理。如果没有必须要向外发送广播数据包的情况,就可以在路由器的每个接口上设置禁止直接广播,命令如下:
no ip directed-broadcast
还有,如果网络比较大,具有多个路由器,那么可以在边界路由器上使用以下命令:
ip verify unicast reverse-path
让路由器对具有相反路径的 ICMP 欺骗数据包进行校验,丢弃那些没有路径存在的包。最好是运行 Cisco 快速转发( Cisco Express Forwarding CEF ),或者其它相应的软件。这是因为在路由器的 CEF 表中,列出了该数据包所到达网络接口的所有路由项,如果没有该数据包源 IP 地址的路由,路由器将丢弃该数据包。例如,路由器接收到一个源 IP 地址为 1.2.3 .4 的数据包,如果 CEF 路由表中没有为 IP 地址 1.2.3.4 提供任何路由(即反向数据包传输时所需的路由),则路由器会丢弃它。
遭受 Smurf 攻击时的防护 ---------------------
如果主机不幸成为了 Smurf 攻击的目标,在这儿可以找到很多种方法来限制这种拒绝服务攻击造成的影响。在最近新进修改的 Cisco IOS 操作系统中,被访问列表所拒绝的数据包直接就被丢弃(其丢弃速度几乎接近于硬件速度)。不过每秒钟每个列表行有两个数据包例外,这就是向中间代理回送 ICMP 不可达消息的数据包。因此,如果不想做为别人 Ping 的目标,那么在边界路由器上就直接可以阻塞掉。
激活这个列表的命令是:
ip icmp rate-limit unreachable
如果必须允许 Ping 命令,可以通过使用命令访问速率( Committed Access Rate  CAR )来限制 ICMP 的流量。以下列出了其它 Cisco IOS 的例子:
config t
Access-list 100 permit icmp any { 网络号 } { 网络子网掩码 } echo-reply
Access-list 100 permit icmp any { 网络号 } { 网络子网掩码 } echo
Interface e1
Rate-limit input access-group 100 512000 8000 8000 conform action transmit exceed action drop
这个例子限制 ICMP 的传输速率不能超过 512Kbps ,突发速率不能超过 8000bits 。所有多出的包将被丢弃。可以有多个速率限制命令同时添加到一个接口上,可以对不同的数据包进行不同的速率限制。
ICMP 重定向
TCP/IP 协议实现中关于主机接收ICMP重定向报文主要有下面几条限制:
  1. 新路由必须是直达的
  2. 重定向包必须来自去往目标的当前路由
  3. 重定向包不能通知主机用自己做路由
  4. 被改变的路由必须是一条间接路由
ICMP 重定向攻击实现比较难
 


本文转自gauyanm 51CTO博客,原文链接:http://blog.51cto.com/gauyanm/269076,如需转载请自行联系原作者
相关文章
|
3月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
196 3
|
3月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
90 13
|
3月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
4月前
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
286 3
|
4月前
|
XML JSON 网络协议
【TCP/IP】自定义应用层协议,常见端口号
【TCP/IP】自定义应用层协议,常见端口号
67 3
|
9月前
|
存储 网络协议 算法
基于 Wireshark 分析 ICMP 协议
基于 Wireshark 分析 ICMP 协议
|
5月前
|
缓存 网络协议 网络架构
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
本文详细介绍了如何使用网络抓包工具Wireshark进行网络抓包分析,包括以太网v2 MAC帧、IP数据报、ICMP报文和ARP报文的格式,以及不同网络通信的过程。文章通过抓包分析展示了IP数据报、ICMP数据报和ARP数据报的具体信息,包括MAC地址、IP地址、ICMP类型和代码、以及ARP的硬件类型、协议类型、操作类型等。通过这些分析,可以更好地理解网络协议的工作机制和数据传输过程。
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
|
5月前
|
网络协议 Unix 网络架构
网际控制报文协议ICMP
网际控制报文协议(ICMP)是TCP/IP体系结构中网际层的关键组件,用于提高IP数据报的成功传输率。ICMP主要处理两类报文:差错报告报文与询问报文。前者包括终点不可达、源点抑制、时间超过、参数问题及重定向等五类;后者则涵盖回送请求/回答及时间戳请求/回答。ICMP广泛应用于检测网络连通性的PING工具和追踪数据包路径的traceroute工具中。两者分别利用ICMP的回送请求报文及差错报告报文实现功能。
155 10
|
5月前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
751 2
|
6月前
|
网络协议 网络架构
用户态协议栈03-icmp实现
用户态协议栈03-icmp实现