【管理篇 / 诊断】❀ 02. Ping 包测试 ❀ FortiGate 防火墙
电脑网络通没通,我们习惯使用 Ping 命令进行检测,飞塔防火墙同样也可以使用 Ping 功能。
【简介】电脑网络通没通,我们习惯使用 Ping 命令进行检测,飞塔防火墙同样也可以使用 Ping 功能。
Ping 原理
Ping 是因特网包探测器 (Packet Internet Gopher) 的英文缩写,PC 机执行 Ping 是利用了 ICMP (Internet Control Message Protocol 互联网控制报文协议) 的“回响”功能来检查目标主机是否存在、源主机和目标主机间的连接速度是否正常。
当我们执行 Ping 的时候,源主机首先会构建一个 ICMP 请求数据包,ICMP 数据包内包含有多个字段,最重要的是两个,第一个是类型字段,对于请求数据包而言该字段为 8,另外一个是顺序号,主要用于连续Ping的时候,区分发出的多个数据包,一般从 1 开始编号,每发出一个请求数据包,顺序号会自动加一。然后 ICMP 层会将这个 ICMP 数据包连同目标 IP 地址一起交给 IP 层,并在映射表中查出目标 IP 地址所对应的 MAC 地址后,交给数据链路层,最终由数据链路层封装成数据帧并通过物理层发送出去,数据帐发出的同时,源主机会记录该数据帧的发出时刻。
目标主机收到这个数据帧后,经过数据链路层、IP 层和 ICMP 层的层层解析(这个过程其实就是发送的反过程),最终获得源主机发送的 ICMP 数据包中的数据部分,目标主机发现接收到的是一个请求数据包后,会构建一个 ICMP 应答包,应答数据包的类型字段为 0,顺序号为接收到的请求数据包中的顺序号,然后再发送出去。
在规定的时候间内(一般是 0.5S,1S,2S,不同的主机类型有所不同),源主机如果没有接到 ICMP 的应答包,则说明目标主机不可达,如果接收到了 ICMP 应答包,则说明目标主机可达,此时,源主机会检查当前时刻,减去该数据包最初从源主机上发出的时刻,就是 ICMP 数据包的时间延迟。
延伸阅读:
ms (毫秒) 1秒=1000毫秒(ms)
TTL 通常表示包在被丢弃前最多能经过的路由器个数。每经过一个路由器都至少要把 TTL 域减一,当记数到 0 时,路由器决定丢弃该包,并发送一个 ICMP 报文给最初的发送者。TTL 是由发送主机设置。
TTL 值默认情况下,Linux 系统的 TTL 值为 64 或 255,Windows NT/2000/XP 系统的默认 TTL 值为 128,Win7系统的 TTL 值是 64,Windows 98 系统的 TTL 值为 32,UNIX 主机的 TTL 值为 255。
发送主机是 Win7 系统,Win7 系统的 TTL 值默认是 64,因为 Ping 是的本地网关路由,TTL 值并没有减少,所以仍然显示 TTL=64。
发送主机仍然是 Win7 系统,Win7 系统的 TTL 值默认是 64,这次 Ping 新浪网站除了本地网关路由,还经过了8个路由器,TTL值减 8,所以显示 TTL=56。
防火墙 Ping
飞塔防火墙也具有传统电脑一样 Ping 的功能。
① 登录飞塔防火墙,在主页的状态栏里,可以找到 CLI 控制台,这里就是Web介面下可以命令管理防火墙的地方。如果没有显示 CLI 控制台,可以点击上面【部件】添加。
② 首先我们需要了解接口的 IP 地址,如果接口及 IP 地址大于 1 的话,在 Ping 对方之间我们应该先设定用哪个接口的 IP 地址去 Ping 对方。
③ 使用 execute ping-options source 命令加指定接口的IP地址,就可以设定去 Ping 对方的源 IP。
【提示】 源地址必须为接口地址,其它地址无效。为 192.168.1.99
④ 使用 execute ping 命令加上要 Ping 的 IP 地址,如果网络是通的话,就可以看到象 DOS 下 Ping 命令显示的内容,只不过 DOS 下是 4 个包,这里是 5 个包。
⑤ 如果网络不通的话,可以看到提示 100% 包丢失,这样就可以判断指定接口与所 Ping 的 IP 地址之间网络是否相通。
⑥ 如果将源地址设置为 auto,防火墙将基于路由表中 <host-name_str> 或 <host_ip> 来选择源地址和接口。
⑦ 除了 Ping 内网地址之外,也可以 Ping 外网地址,只是不能直接 Ping 域名。
⑦ 在 DOS 下可以用 -t 参数长 Ping,飞塔防火墙默认 Ping 5 个包,为了达到长 Ping 效果,可以用命令 execute ping-options repeat-count 指定重复 Ping 的次数,范围为 1 到 2,147,483,647 次。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)