icmp的常见类别

最近有朋友在问我我写iptables中有一句什么意思,如下:

-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 2/sec -j ACCEPT

其实这个就是icmp的请求响应限制速,就是我们平时所说的ping某一台主机,icmp是一个错误与报告的机制,它所收发的数据包都是用来检测网络状态的,而常见的icmp类别如下:

类别代码 类别定义
0 Echo Reply(响应消息)
3 Destination Unreachable(目的地不可达)
4 Source Quench(当路由高负载时,用此拒绝源地址发送信息)
5 Redirect(重新定向路由路径)
8 Echo Request(请求响应信息)
B(即11) Time Exceeded(数据包在路由中超时的时候,告知源地址忽略的信息)
C(即12) Parameter Problem(当icmp数据包重复之前的错误时,回复源地址相关的参数错误信息)
D(即13) Timestamp Request(要求对方给出时间戳,用以计算路由时间差异,用来满足同步性协议的要求)
E(即14) Timestamp Reply(时间戳的回复,就是以上的响应回复用的)
F(即15) Info Request(开机取得网络信息的请求,在有rarp协议之前)
G(即16) Info Reply(响应信息请求,以上的请求的回复)
H(即17) Address Mask Request(查询子网掩码的信息)
I(即18) Address Mask Reply(回复查询子网掩码的的信息)

可以看出icmp包的数据多用于网络的检测,在以上的除了8需要做限制或者是禁用外,其它都不应该关闭。iptables中的意思是对8进行限制流量,因为如果网络中大量的ip对主机进行长时间的ping也会造成DDOS,所以在实际生成环境中我们对icmp 的8的请求都要做相应的限制,当然如果想知道更多的icmp的信息建议用新系统中的man icmp查看。

时间: 2024-10-28 20:08:25

icmp的常见类别的相关文章

Linux系统优化之网络IO调优

首先说明,对于linux系统而言,tcp/ip协议栈是工作在内核空间中实现而且在内核中是按照流水线方式实现的 当我们去接收一个报文时,由各栈去解封装,而这是由流水线去处理的 而流水线是非copy类型的,所谓非copy类似就是直接送往下一个流水线而不是从TCP内存中复制到IP栈的内存,而是直接将此段空间让给IP使用,所以交给下一个关口的时候挪动的不是数据而是协议栈,所以数据一直在同一段内存中存放,接收数据的时候要先在内存中应用IP协议栈.解ip封装然后交给TCP协议栈进行工作以此类推 通常一般而言

文本数据的机器学习自动分类方法(转)

http://blog.csdn.net/jdbc/article/details/50586042 本文为第一部分,着重介绍文本预处理以及特征抽取的方法. 随着互联网技术的迅速发展与普及,如何对浩如烟海的数据进行分类.组织和管理,已经成为一个具有重要用途的研究课题.而在这些数据中,文本数据又是数量最大的一类."文本分类是指在给定分类体系下,根据文本内容自动确定文本类别的过程"(达观数据科技联合创始人,张健).文本分类有着广泛的应用场景,例如: 新闻网站包含大量报道文章,基于文章内容,

Android基础之Intent 和 Intent 过滤器

Intent是一个消息传递对象,您可以使用它从其他应用组件请求操作.尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个: 1.启动 Activity: Activity 表示应用中的一个屏幕.通过将 Intent 传递给 startActivity(),您可以启动新的 Activity 实例.Intent 描述了要启动的 Activity,并携带了任何必要的数据.如果您希望在 Activity 完成后收到结果,请调用 startActivityForResult

Linux之Iptables总结及应用

Linux之Iptables总结及应用 一.防火墙.Iptables简介 1.防火墙是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP.数据进行检测.常见的有三.四层的防火墙,叫网络层的防火墙(这层对源地址和目标地址进行检测),还有7层防火墙,其实是代理层的网关(对源端口或者目标端口,源地址或者目标地址进行检查). 2.

Android(Intent 学习)

Intent 是一个消息传递对象,Intent可以通过多种方式促进组件之间的通信,基本的三种用例: 启动Acitivity: Activity表示应用中的一个屏幕,通过将Intent传递给startActivity(),您可以启动新的Activity实例.Intent描述了要启动的Activity,并携带了任何必要的数据.启动服务: Service 是一个不使用用户界面而在后台执行操作的组件.通过将 Intent 传递给 startService(),您可以启动服务执行一次性操作(例如,下载文件

GIT(1)-概述与架构

GIT是如今最流行的版本控制系统.今年系统总结过一次关于GIT的使用,抽时间整理成文,分为几个章节进行简述一下. 基础概念 我们知道GIT是一种版本控制系统,那就首先了解一下什么是 "版本控制",比较官方的解释是,版本控制系统是一种记录一个或若干个内容变化,以便将来查询特定版本修订情况的系统.简言之就是,你的修改只要提到到版本控制系统,基本都可以找回,版本控制系统就像一台时光机器,可以让你回到任何一个时间点. 了解了版本控制系统的功能,我们知道就算你把代码改的一塌糊涂,照样可以恢复到我

百度图像搜索探秘

源地址:http://blog.sina.com.cn/s/blog_6ae183910101gily.html 昨天,百度上线了新的相似图(similar image search)搜索,试了风景.人物.文字等不同类型query的效果,感觉效果非常赞.尤其对于人物搜索,返回的结果在颜色.以及姿态方面具有非常大的相似性.特别是在输入某个pose的美女图片时,会搜到一系列相近pose的美女图片,真的是宅男之福啊.本着娱乐精神,贴一个搜索结果供大家yy. 我们知道这个产品底层的技术是余凯老师领导的百

Intent讲解

什么是Intent? Intent是一个消息传递对象,可以使用它来启动其它应用组件.Intent使组件之间通信更加便利,主要用于以下三点: 启动Activity: 可以将intent作为参数调用Context.startActivity(intent)方法启动一个Activity.此时该Intent对象描述了将要启动的目标Activity名称及相关数据信息.同时还可以调用startActivityForResult()方法回传信息. 启动Service: Service是一个常用于在后台执行操作

我的Android笔记--Intent上(我是文档的搬运工)

我是文档的搬运工. Intent,意图,它是一个消息传递对象.对于意图最常见的就是从一个Activity跳转到另一个Activity,或者启动一个服务.发送一个广播等等. 它分为显式意图和隐式意图,下面是API指南给的解释. 显式 Intent :按名称(完全限定类名)指定要启动的组件.通常,您会在自己的应用中使用显式 Intent 来启动组件,这是因为您知道要启动的 Activity 或服务的类名.例如,启动新 Activity 以响应用户操作,或者启动服务以在后台下载文件. 隐式 Inten