Packet Tracer两PC单向发送icmp报文实验
前言
本实验希望通过packet-tracer模拟器实现两个PC之间的单向发送icmp报文,提供两种方法。
实验文件
基于Packet-Tracer5.2,已经完成了下述的两种方法的拓扑,右边的是方法一,左边的是方法二。
可以下载查看拓扑文件。
实验准备
原理解释
何为单向发送icmp报文,即一个PC向另一个PC能够成功的发送icmp报文但是另一个PC由于无法向发送端回应所以ping是不可能能通的,所以应该得到的反馈是两边都不能ping通但是两边的报错是不一样的,我的实验结果是一边是host unreachable而另一边是timeout。
终端IP分配表
设备 | IP地址 | 网关地址 |
---|---|---|
PC0 | 192.168.1.2 | 192.168.1.1 |
PC1 | 192.168.3.2 | 192.168.3.1 |
路由器IP分配表
设备 | fa0/0 | s2/0 |
---|---|---|
Router0 | 192.168.1.1 | 192.168.2.1 |
Router1 | 192.168.3.1 | 192.168.2.2 |
实验步骤
方法一:ACL防火墙设置(由大佬Dart
提供)
1.将三台设备相连
用交叉双绞线连接PC和路由器,最后的效果拓扑为这样(注:在没配置之前线上的点是红色的,配置成功后为绿色)
2.设置两台PC
3.设置router0各个端口
在CLI或者是图形界面进行相应的设置,图形界面操作如下:
4.在Router上配置access-list来实现拦截PC0向PC1发出的icmp报文
在配置模式下输入下图指令
配置成功后可以进入特权模式查看
5.将access list应用到端口
注意区分选择的端口与源地址的远近关系(近的用out,远的用in),本次实验配置在fa0/0,源地址是PC1,因此是in
6.尝试ping命令
PC0 ping PC1:
PC1 ping PC0:
方法二:静态路由设置
1.将四台设备相连
用交叉双绞线连接PC和路由器,用DTE线将两个路由器相连,最后的效果拓扑为这样。
2.设置Router0的各个端口
在CLI或者是图形界面进行相应的设置,代码如下:
1 | en |
1 | en |
实际效果如图:
3.设置Router1的各个端口
1 | en |
1 | en |
实际效果如图:
4.设置Router0的静态路由跳转
代码如下(环境如下Router(config)#
):
1 | ip route 192.168.3.0 255.255.255.0 192.168.2.2 |
这里不在单独展示效果图,配置完成。
5.设置两台PC
设置两台PC的网关和IP地址,效果见下两图:
6.尝试ping命令
在PC0中尝试ping 192.168.3.2
,效果如下:
在PC1中尝试ping 192.168.1.2
,效果如下:
实验总结
由于ping命令需要双边通信才能有TTL的返回值,所以单边的ICMP报文是无法返回的,在这个实验中第二种方法的实验让Router0能够收到目的网段为192.168.3.0
的请求后跳转到下一个路由,可以让目标PC收到icmp报文,但是由于Router1在返回的时候并不知道如何跳转,所以无法返回,导致PC0中的ping命令最后返回了Request timed out
,而PC1中的ping命令由于根本找不到跳转路由返回了Destination host unreachable
。这样整个实验就算是完成了。