ping和telnet通过fwsm的区别

简介:

大家都知道ping是无状态的三层报文,而telnet是有状态的四层以上的报文。下面从一个现象来说明问题。

环境: 
CISCO7609上面配置了多个vlan包括vlan100和vlan109,并且7609上面配置了3个VRF,vlan100属于vlan31,vlan109属于vlan32。不同vrf之间通过fwsm互联。有2台服务器,其一(命令为SerA)的ip分别为123.37.109.15。另外一台(命令为SerB)比较特别,其网口配置成了trunk模式,不同子接口ip包括123.37.100.246,123.37.108.246以及123.37.109.246等,其路由表如下: 
clip_image002

测试结果: 
从123.37.109.15 ping 123.37.100.246,结果通讯正常;但是从123.37.109.15 telnet 123.37.100.246 22(此端口本地测试通讯正常)却不通。

分析: 
1,从123.37.109.15 ping 123.37.100.246: 
经过fwsm转发后,SerB从接口bond0.100上面接收到123.37.109.15的echo request的数据包,然后查找路由表发现返回到123.37.109.15的数据包需要通过bond0.109接口转发,所以从bond0.109转发数据包,经过fwsm转发到源服务器SerA,通讯正常。如下SerB上bond0.100和bond0.109的抓包: 
clip_image004 
clip_image006

2,从123.37.109.15 telnet 123.37.100.246 的 22端口: 
经过fwsm转发后,SerB从接口bond0.100上面接收到123.37.109.15的syn的数据包,然后查找路由表发现返回到123.37.109.15的数据包需要通过bond0.109接口转发,所以从bond0.109转发ack数据包,经过fwsm转发到源服务器SerA,但是通讯却失败。于是抓包如下: 
在SerA上抓到dst port 22的数据包:clip_image008 
在SerB上抓从123.37.109.15过来的ssh数据包: 
clip_image010 
在SerB上抓到123.37.109.15的返回数据包: 
clip_image012 
在SerA上抓到从123.37.100.246返回的数据包: 
clip_image014

分析结论: 
所以根据上面截图可以分析出源服务器SerA收到了发往123.37.100.246的22端口的返回数据包,而且源和目的端口都正确,但是为什么就是不通呢?而ping包为什么又是通的呢?这就需要从ping和telnet上面来分析了。首先大家都知道ping是无状态的三层数据包,而telnet是有状态的四层以上的数据包,所以在针对这些数据包的处理方式上肯定存在区别。当ping包经过了fwsm后,由于其为无状态报文,所以fwsm制作简单处理后转发数据包;然后当telnet的报文经过fwsm后,由于其为有状态报文,所以fwsm需要做序列号的重新编号和状态检测处理,然后转发数据包。虽然源服务器貌似接收到了telnet的返回数据包,但是与自己发送的syn报文的序列号不匹配,所以此telnet进程就失败了。










本文转自 chris_lee 51CTO博客,原文链接:http://blog.51cto.com/ipneter/106634,如需转载请自行联系原作者

目录
相关文章
|
11月前
|
域名解析 网络协议 测试技术
IP、掩码、网关、DNS1、DNS2到底是什么东西,ping telnet测试
理解IP地址、子网掩码、默认网关和DNS服务器的概念是有效管理和配置网络的基础。通过使用ping和telnet命令,可以测试网络连通性和服务状态,快速诊断和解决网络问题。这些工具和概念是网络管理员和IT专业人员日常工作中不可或缺的部分。希望本文提供的详细解释和示例能够帮助您更好地理解和应用这些网络配置和测试工具。
5091 2
|
监控 网络协议 Linux
telnet和ping区别
telnet和ping区别
503 0
|
Windows
Windows 技术篇-利用telnet方法ping端口通不通实例演示,如何测试服务器端口是否启用,windows启用telnet功能
Windows 技术篇-利用telnet方法ping端口通不通实例演示,如何测试服务器端口是否启用,windows启用telnet功能
768 0
Windows 技术篇-利用telnet方法ping端口通不通实例演示,如何测试服务器端口是否启用,windows启用telnet功能
|
Linux 网络安全
linux端口连通性测试telnet、wget、ssh、curl
linux端口连通性测试telnet、wget、ssh、curl
334 0
|
安全 Linux
Linux安装Telnet
Linux安装Telnet
293 0
|
10月前
|
安全 网络协议 Linux
telnet在windows和linux上的使用方法
Telnet是一个简单且强大的网络工具,广泛用于远程管理和网络诊断。尽管存在安全风险,但在受控环境中,Telnet仍然是一个非常有用的工具。通过本文的介绍,您应该能够在Windows和Linux系统上安装并使用Telnet进行各种网络操作。
1482 18