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。这样整个实验就算是完成了。




