NAT转换对ICMP (PING)_协议的处理

分析:NAT设备对数据包的影响
NAT是干什么的我就不多说废话了,免得大家拿砖头拍我,现在我就拿自己前几天做过的实验(实验中NAT设备的地址为192.168.11.250,PC的地址为192.168.0.2)向大家展示一下数据包在NAT前后的变化,以了解NAT的原理
    首先我们查看一下NAT对TCP数据包的操作
下图是一个TCP包在NAT之前的样子
大家可以看到这个数据包的IP标识是15862(标识是用来分辨数据包的,一台主机发的包的标识依次递增),TTL是128 ,不分片,头部检验码为0x0702,源地址为192.168.0.2,目标地址为61.152.183..141  OK这是IP头部的信息!
    对于TCP头部的信息,源端口1815,目标端口80,序列号是2856985904,确认号是0
这是NAT之后的同一个数据包,大家看出变化了吗?源IP地址是不是变成192.168.11.250了,同时因为更改了IP头部的数据,是不是IP的检验码也变化了!对于TCP来说,源端口是不是也变化了,由1815变为2121,同时TCP的检验码也变了!
中国古典舞身韵组合
    但是其它的选项值是不变的,如IP的标识号,前几次看到有人的文章说IP标识号也会被修改,很奇怪,是不是与NAT设备的厂商有关就不得而知了
安图党建
    以下是UDP的前后(UDP的包我选择了DNS报文
对于UDP的处理,与前面的TCP的报文一样,只是改变了源地址,源端口及相应的校验码
    对ICMP的处理,可能大家没有想过这个问题,这个也是在网络协议分析论坛上有前辈指出的, ICMP可不像TCP,UDP有端口,NAT设备是如何保证建立对应的NAT表呢?以下是我用最常的两种ICMP报文的演示,其中一个是请求报文,一个是响应报文
    NAT之前的ICMP请求报文
ICMP NAT之前的响应报文
可以看到ICMP的请求与响应报文中有一个字段identifier 它们都是0300,这个值代表唯一主机,意思是同一台主机发出的所有的ICMP报文,它的identifier值都是一样的,不同主机的值不一样.
    在identifier下面有一个序列号,这个是所发出的ICMP报文顺序的唯一标识
    如 你执行一个PING命令,发出四个请求包,这四个请求包每个都应有一个回应包,可是TCP/IP是一种非实时性的协议,不一定发出的第一个请求包所对应的响应包也能第一个回来,那么如何实现一对一对应呢,就是靠这个序列号,每一个请求包和它所对应的回应包的序列号是一样的
    下图是NAT后的ICMP请求包
  下图是NAT之后的ICMP回应包
从上图可以看到,NAT对ICMP报文做了以下改动rvr
阿贡活佛首先在IP层改动了源IP,及相应的校验码
    在ICMP中,将identifier及相应的序列号都更改了,当然,更改后的idenfifier仍然标识唯一一主机,序列号仍然是一对一的关系,最后ICMP的校验码也更改了!
    NAT对IP分片的影响
    这个实验我用PING WWW.BAIDU.COM -l 3000 -t
    -l代表是产生多大的PING包,现在我这边是3000byte的包(注意,这次我的本机IP为192.168.100.222 NAT设备地址为192.168.100.250)
    NAT前的IP分片
3c技术OK,大家看到这个是NAT前的ICMP分片包,可以看到FLAG字段的more Fragments标志位为1,代表这是个分片包,IP的标识为11080
OK,源地址已经被转换了,所以对应的校验码也变了,其它什么也没变
好,现在我们明白了,NAT设备对分片仅仅起一个源地址转换作用!
好了,就先说到这儿吧,欢迎有人批评指正。
对PING包的NAT是如何进行呢ICMP没有端口 如何建立NAT表。很多人都说是根据icmp.identifier字段进行NAT表的建立,其实只说对一半。对UNIX或者LINUX来说是正确的,但如今WINDOWS系统ICMP.identifier基本上是固定不变。同一台windows机器对多个目标地址发出的ping其ICMP.identifier是相同的。如何进行NAT呢。仔细观察会发现每个ping包的ICMP.sequence是变化的(XP下ICMP.sequence是以256进行递增)
中国威胁论

本文发布于:2024-09-22 18:23:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/530106.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报文   大家   请求   数据包   端口
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议