mangle表:可以对数据包进行修改,此表中的链与其它表中的关系如下:

数据包从网卡接口进来后,最先经过的就是mangle表中的prerouting链。此表中有五条链:

iptables -t mangle -L -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destinatio

通常不要在此表做过滤。若是在此表中做过滤,也是可以生效的,效率应比别的链快。

比如禁止访问本机的22端口,可以在mangle的input链做规则。

例:禁止访问iptables主机的30001端口

[root@LinuxB ~]# telnet 10.1.1.1 30001

Trying 10.1.1.1...

Connected to 10.1.1.1.

Escape character is '^]'.

现在是可以正常telnet

在mangle的input链添加一条禁止访问30001的规则

iptables -t mangle -A INPUT -p tcp --dport30001 -j DROP

[root@fw /]# iptables -t mangle -L -n

Chain PREROUTING (policy ACCEPT)

target    prot opt source              destination

Chain INPUT (policy ACCEPT)

target    prot opt source              destination

DROP      tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:30001

Chain FORWARD (policy ACCEPT)

target    prot opt source              destination

Chain OUTPUT (policy ACCEPT)

target    prot opt source              destination

Chain POSTROUTING (policy ACCEPT)

target    prot opt source              destination

应用之后,无法连接此端口,mangle表做规则是生效的。

[root@LinuxB ~]# telnet 10.1.1.1 30001

Trying 10.1.1.1...

telnet: connect to address 10.1.1.1:Connection timed out

[root@LinuxB ~]#

设置TTL:

TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

如win7的TTL值默认是:64 (若想知道系统的默认TTL值是多少,在本机ping一下本机,可以看到TTL=数值 ,这个数据就是此系统的默认ttl)

例: LinuxB - iptables -LinuxA (第一节的环境)正常情况下,LinuxB ping LinuxA,在LinuxA机上抓包,可以看到10.1.1.2来的数据包,里面的ttl = 63。因为经过了iptables这个开了路由功能的主机,所以会把原来值减1(64-1=63)

[root@LinuxA ~]# tcpdump -i eth1 icmp -vv

tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes

11:13:45.125190 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 84)

10.1.1.2 > puppet.onepc.com: ICMP echo request, id 13833, seq 1, length 64

11:13:45.125253 IP (tos 0x0, ttl 64, id 63336, offset 0, flags [none], proto ICMP (1), length 84)

puppet.onepc.com > 10.1.1.2: ICMP echo reply, id 13833, seq 1, length 64

11:13:46.126795 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 84)

10.1.1.2 > puppet.onepc.com: ICMP echo request, id 13833, seq 2, length 64

11:13:46.126826 IP (tos 0x0, ttl 64, id 63337, offset 0, flags [none], proto ICMP (1), length 84)

puppet.onepc.com > 10.1.1.2: ICMP echo reply, id 13833, seq 2, length 64

从LinuxB的ttl值可以看出,LinuxB只经过一个路由器。若是想不让其他人知道我的机器穿过多少个路由,可以在mangle表中设置TTL值。

[root@fw ~]# iptables -j TTL -h

TTL target options

--ttl-set value               Set TTL to <value 0-255>

--ttl-dec value               Decrement TTL by <value 1-255>

--ttl-inc value               Increment TTL by <value 1-255>

简单设置,隐藏iptables减去1的值,保持原来的ttl值,从eth2接口进来的数据包的ttl值加1,离去后会再减去1:

iptables -t mangle -A PREROUTING -i eth2 -j TTL --ttl-inc 1

linuxb再pinglinuxa,在linxa抓包发现,ttl值变成64,达到隐藏网络位置的效果:

11:30:35.269945 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)

10.1.1.2 > puppet.onepc.com: ICMP echo request, id 47122, seq 1, length 64

11:30:35.270327 IP (tos 0x0, ttl 64, id 63338, offset 0, flags [none], proto ICMP (1), length 84)

puppet.onepc.com > 10.1.1.2: ICMP echo reply, id 47122, seq 1, length 64

11:30:36.261973 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)

10.1.1.2 > puppet.onepc.com: ICMP echo request, id 47122, seq 2, length 64

11:30:36.262045 IP (tos 0x0, ttl 64, id 63339, offset 0, flags [none], proto ICMP (1), length 84)

puppet.onepc.com > 10.1.1.2: ICMP echo reply, id 47122, seq 2, length 64

还可以做策略路由等,这些暂时不去学习了。

转载于:https://blog.51cto.com/hxw168/1408295

【5】iptables理解 - mangle表相关推荐

  1. iptables之mangle表应用实现策略路由+(案例)

    原始出处  http://lansgg.blog.51cto.com/5675165/1222679 iptables之mangle表应用实现策略路由: 前面的文章已经讲解了:mangle表主要用于修 ...

  2. iptables 的mangle表

    mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. 内网的客户机通过Linux主机连入Internet,而Linux主机与Inte ...

  3. iptables的mangle表

    mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. 使用策略路由 对应的场景, 都是有多个网口, 常见的使用步骤 1. 创建路由表 ...

  4. Linux iptables之mangle表使用案例

    2019独角兽企业重金招聘Python工程师标准>>> mangle表的用途 mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行 ...

  5. iptables总结--理解四表五链/snat/dnat/redirect/synproxy/性能

    1. iptables四表五链 四表五链: 链就是位置:共有五个 进路由(PREROUTING).进系统(INPUT) .转发(FORWARD).出系统(OUTPUT).出路由(POSTROUTING ...

  6. 6、iptables之RAW表和MANGLE表

    文章目录 1.说明 2.raw表 3.Mangle表 1.说明 RAW表 和 MANGLE 表 实事求是的说 在⼯工作中 ⼀一般⽤用到的确实⽐比较少,⽬前更更多的 还是处在⼀一个 探索和实验的阶段 后 ...

  7. TCP/IP详解 第七章 防火墙和网络地址转换(3) iptables防火墙的mangle表

    mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. 内网的客户机通过Linux主机连入Internet,而Linux主机与Inte ...

  8. iptables mangle表研究(未完)

    mangle表主要用于修改数据包的TOS(Type Of Service,服务类型).TTL(Time To Live,生存周期)指以及为数据包设置Mark标记,以实现Qos(Quality Of S ...

  9. 云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”

    摘要:担心网络基本安全?iptables八卦阵为您守护!本文带您一起了解iptables的相关知识. 网络世界就和现实世界一样,总是会有些不怀好意的"人"出现,扫扫你的端口啊,探测 ...

最新文章

  1. [USACO16JAN]子共七Subsequences Summing to Sevens
  2. python 环形链表
  3. C# async await 学习笔记1
  4. boost的chrono模块explore limits探索极限的测试程序
  5. Linux Crontab 设置的定时任务没有启动的排查
  6. MyBatis 编程式开发中的核心对象及其作用?
  7. bzoj4403:序列统计
  8. Matplotlib 中文用户指南 4.3 文本属性及布局
  9. 接口测试之json中的key获取
  10. Solr4:加入中文分词IKAnalyzer2012 FF
  11. 前端模板技术的全面总结
  12. python 协程爬虫_Python爬虫进阶教程(二):线程、协程
  13. 浅谈C#托管程序中的资源释放问题 (转载)
  14. 修改oracle管理员用户密码
  15. Cygwin安装笔记
  16. AI_Drug: 分子生成模型之VAE(一)
  17. 数据告诉你,全世界到底有多少人在炒币
  18. Java一年两年工作经验面试题
  19. html语言简介 ppt,网页制作与HTML语言基本结构简介.ppt
  20. Python——程序:彩票游戏(细节修改)

热门文章

  1. 《Crafting A Tiny Open World: A Short Hike Postmortem》独立游戏开发分享
  2. 会计政策 会计核算体系 账簿
  3. 程序亦非猿 公众号开启投稿
  4. 全面质量管理(TQM)介绍(转载)
  5. html表头和内容错位,el-table表头根据内容自适应,解决表头错位和固定列错位(完美解决)...
  6. 拓扑优化中SIMP方法与水平集方法有何优缺点,水平集法变换到高维,不是更复杂了...
  7. C语言 | 选择排序
  8. 2021年G3锅炉水处理报名考试及G3锅炉水处理考试总结
  9. 功能测试Ⅶ——WEB项目抢购与非功能测试
  10. reaver使用相关