iptables详解(5)iptables的icmp扩展
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
根据应用场景的不同,icmp报文被细分为如下的各种类型

从图中可以看出 所有目标不可达的报文的type码为3 而目标不可达又分为多种情况多种code
0网络不可达 1 主机不可达 2 协议不可达......
所以type/code可以具体匹配对应的回应报文 3/1表示为主机不可达的icmp报文
type 0 code 0表示回应报文 属于查询类的ICMP报文 ,从大类早上分 ICMP的报文分为查询类和错误类2个类别
目标不可达属于错误类报文
我们发出的ping请求报文 对应的type为8 code为0
例1:想要禁止所有的icmp报文进入本机
iptables -t filter -I INPUT -p icmp -j REJECT
--icmp
例2:别人ping不到我们 我们可以ping别人(不考虑禁ping情况)
因为type为8的类型下只有1个code为0的类型 所以我们可以省略对应的code
ptables -t filter -I INPUT -p icmp -m icmp --icmp-type 8/0 -j REJECT
iptables -t filter -I INPUT -p icmp --icmp-type 8 -j REJECT
iptables -t filter -I OUTPUT -p icmp -m icmp --icmp-type 0/0 -j REJECT
iptables -t filter -I OUTPUT -p icmp --icmp-type 0 -j REJECT
例3:在不知道type和code的情况下 我们可以用icmp报文的描述名称去匹配对应类型的报文与例2的类型一样
iptables -t filter -I INPUT -p icmp --icmp-type "echo-request" -j REJECT
iptables详解(5)iptables的icmp扩展的更多相关文章
- iptables详解--转
出处:http://yijiu.blog.51cto.com/433846/1356254 iptables详解 基本概念: 1.防火墙工作在主机边缘:对于进出本网络或者本主机的数据报文,根据事先设定 ...
- Iptables详解七层过滤
<Iptables详解七层过滤> 一.防火墙简介 防火墙其实就是一个加固主机或网络安全的一个设备或者软件而已,通过防火墙可以隔离风险区域与安全区域的连接,同时不会妨碍风险区域的访问.当然需 ...
- iptables详解之filter
iptables详解之filter iptables令很多小伙伴脑阔疼,下面我们来说说如何使用iptables. 一.iptables格式 1.1.iptables 帮助 通过iptables --h ...
- 《iptables详解 》RHEL6
iptables详解 Iptables原理 现在防火墙主要分以下三种类型:包过滤.应用代理.状态检测 包过滤防火墙:现在静态包过滤防火墙市面上已经看不到了,取而代之的是动态包过滤技术 ...
- Linux防火墙iptables详解
iptables详解(思维导图) 1. 概述 1.1 iptable简介 1.2 防火墙的种类 1.3 netfilter 2. iptables的工作流程 2.1 iptables工作图示 2.2 ...
- 开源项目MultiChoiceAdapter详解(五)——可扩展的MultiChoiceBaseAdapter
上次写到了开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用,其实我们仍旧可以不使用ActionMode的,所以这里就写一个自己扩展的方法. ...
- iptables详解(7):iptables扩展之udp扩展与icmp扩展
前文中总结了iptables的tcp扩展模块,此处,我们来总结一下另外两个跟协议有关的常用的扩展模块,udp扩展与icmp扩展. udp扩展 我们先来说说udp扩展模块,这个扩展模块中能用的匹配条件比 ...
- iptables详解(6):iptables扩展匹配条件之’–tcp-flags’
如果你看过前文,那么你一定知道,前文已经对"tcp扩展模块"做过总结,但是只总结了tcp扩展模块中的"--sport"与"--dport"选 ...
- iptables详解
Netfilter包含有三种表,三种表下共包含有五种链,链下面包含各种规则.即表包含若干链,链包含若干规则. (一)三种表为:filter nat mangle 1.filter:处理与本机有 ...
随机推荐
- docker build时改变docker中的apt源
# Ali apt-get source.list RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \ echo & ...
- node.js http-server 搭建本地服务器
使用vue-cli创建的项目,能够实现浏览器中自动刷新,实时查看项目效果,其中的原理在于,webpack在本地启动了一个本地服务器,将本机当作一台服务器: 打包后的文件是一个html静态页面,在本地文 ...
- Django 之验证和授权
一.验证和授权概述 Django有一个内置的授权系统.他用来处理用户.分组.权限以及基于cookie的会话系统.Django的授权系统包括验证和授权两个部分.验证是验证这个用户是否是他声称的人(比如用 ...
- Linux【Ubuntu】安装docker
内核要大于3.10才能安装docker 查看内核 uname -r 安装yum命令 sudo apt install yum 由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改,故添加使用 ...
- C++ 特性之 lambda
"我扑到书籍上,就像饥饿的人扑在面包上"-- 高尔基 简而言之,Lambda 表达式就是用于创建匿名函数的. 或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心 ...
- Deepin升级Linux5.0内核(目前最新5.3-rc7)
copy from:https://bbs.deepin.org/forum.php?mod=viewthread&tid=175411&extra=&mobile=no 以下 ...
- Deepin中安装docker
1.sudo apt install docker-ce: 2.安装好后可以用docker version查看一下是否成功,还可以通过网络详情里是否多了一个docker0来判断: 3.sudo use ...
- [WCF] - 访问任意方法耗时长问题之解决
问题 访问 WCF 任意方法耗时都很长(15s+) 原因 当执行语句 log4net.Config.XmlConfigurator.Configure(); 时需要连接到 log4net 对应的数据库 ...
- springboot之Redis
1.springboot之Redis配置 在学习springboot配置Redis之前先了解Redis. 1.了解Redis Redis简介: redis是一个key-value存储系统.和Memca ...
- C++ 用 vector 生成三维数组,并计算行、列、高
//Microsoft Visual Studio 2015 Enterprise //用vector生成三维数组,并计算行.列.高 #include <iostream> #includ ...