糟糕的业务网络行为
作者:易隐者 发布于:2012-12-11 15:40 Tuesday 分类:网络分析
我之前在讲解业务应用分析评估时,重点分析业务应用的网络行为特征、业务基线、响应时间等内容。很多人认为:我的业务应用操作我们自己都是非常熟悉的,为什么还要这么复杂的来分析业务应用的网络行为呢?这是因为业务应用系统在开发的时候,由于各种原因,可能导致业务应用本身在交互的过程中,存在一些不合理的网络行为,进而影响业务运行的效率,造成网络资源的消耗和浪费。我们对业务应用系统进行网络交互行为的分析和评估,可以发现这些不合理的网络行为,帮助改进完善业务应用系统,提高业务应用交互的效率。
近日正好在Laura Chappell的网站上下载了一个应用异常网络行为的数据包文件,这是一个FTP登录交互的报文,其交互过程如下:
客户端与服务器三次握手建立TCP连接之后,服务器端应用响应:220 FTP Service ,此时客户端发出应用请求“USER FRED”,但我们可以清晰的看到其请求过程是:先将第一个字符发送过去,在收到服务器的确认之后,客户端再传输第二个字符,如此一个字符一个字符的传输。
在后续的客户端密码传输过程中,客户端的网络行为跟传输用户名的网络行为一样。如下图所示:
服务器与客户端之间几十毫秒的RTT往返时间,加上客户端本身动辄数百毫秒甚至几秒的延时,造成整个FTP登录过程持续近14秒,如下图所示:
我们再来一起看一个正常的FTP登录过程:
从这个FTP登录的过程我们可以清晰的看到,FTP客户端是将用户名、密码放在一个报文中一次性传送给服务器的。
一个最为常见的FTP应用,一个最为普通的登录操作,正常情况下,数秒内完成,但是由于这个FTP应用不合理的网络行为,共消耗了近14秒的时间。
什么是糟糕的应用网络行为?这个就是!为什么需要分析评估业务应用的网络行为特征,这个就是明证!
标签: FTP 行为特征 网络行为 应用分析 RTT 业务评估 往返时间
FTP登陆故障分析
作者:易隐者 发布于:2012-9-1 17:47 Saturday 分类:网络分析
【说在之前】:
1,此案例涉及到的分析方法,请大家参考本博客文章《疑难网络故障的分析方法和原理之对比分析法》;
2,此案例涉及到的知识点,请大家参考本博客的文章《应用层检测/深度包检测(DPI)》;
3,此案例中谈到的利用防火墙自带的抓包功能tcpdump的使用,请大家参考本博文章《天融信防火墙自带的tcpdump使用》一文,我曾将各种常见系统和网关设备自带的抓包功能的使用整理成《常见系统和网关设备自带抓包功能介绍及操作指南》一文,其他网关型设备自带的抓包功能的使用我会陆续择机发布到本博;
4,设备本身的BUG问题一般都属于疑难杂症级别,在做分析定位时,站在原始数据报文交互的角度抓包分析是比较靠谱的做法;
5,本故障还有另外一种解决的方法,给大家一点提示:ICMP重定向报文,感兴趣的兄弟自行思考,如需协助,可给我留言。
【我的案例】:
故障描述
1 故障拓扑
2 环境说明:
1、客户端的默认网关是主路由器;
2、主路由上设置了相应的策略,凡是FTP/HTTP的应用均交由备路由处理;
3、备路由上会将访问国家局的网段指向国家局路由;
4、核心与路由间均部署防火墙,防火墙工作在透明模式下;
5、客户端访问服务器的数据流走向比较复杂。
故障现象
1、省局到国家局的FTP服务很慢,一般需要40多秒才可以登陆上去,有时根本登陆不上去;
2、在故障机器上Ping国家局服务器,延时很小;
3、省局到国家局的HTTP应用正常。
故障分析
1 前期简单分析
1、Ping延时很小,说明网络层的延时很正常;
2、网络环境复杂,数据流走向复杂,数据包来回路径不一致,中间经过2台防火墙,可能存在状态检测的问题;
3、HTTP的数据流走向跟FTP的数据流走向应该是一样的,HTTP正常,FTP不正常,说明这个跟TCP的状态检测无关,应该是FTP应用层的问题。
暂时没什么头绪,只能先从客户端下手,进行抓包分析,看看大体的情况。
2 数据包分析
登陆不上时的数据包分析
我们在客户端登录不上FTP服务器时,抓取其跟服务器交互的数据包,查看客户端与服务器的详细交互过程,如下图所示:
通过上图中针对每个交互数据包的详细分析和描述,我们基本上可以知道,在客户端登录不上FTP服务器时,是由于客户端与服务器交互用户名和密码时产生了问题,导致FTP登录时间过长,超出最大会话时间,从而被FTP服务器主动关闭。
FTP登陆慢时的数据包分析
我们在客户端登录FTP服务器非常想缓慢时,抓取其跟服务器交互的数据包,查看客户端与服务器的详细交互过程,并针对每个交互的数据包做详细的说明和描述,如下图所示:
通过上图详细的分析,我们可以知道,产生较大延时的原因也是在用户名、密码交互的过程。
我们把上述两种场景下,客户端与服务器间用户名和密码交互的过程做一个示意图展现如下:
通过这个示意图,我们可以更加清楚的发现,之所以在客户端与服务器端交互用户名和密码时产生了很大的延时,是由于用户名和密码数据包在交互的过程中被中间设备丢弃导致的。
那么到底是哪个中间设备丢弃了FTP用户名和密码的数据包呢?接下来我们就要找出丢弃用户名和密码数据包的中间设备。
定位丢包的中间设备
在这个过程中,主要针对我们可以控制操作的中间设备进行排查,首先我们选择可能丢包的关键点。在这个网络环境下,我们首先考虑的就是2台防火墙设备。
我们利用防火墙设备自带的tcpdump抓包功能,专门抓取FTP客户端与服务器交互的数据包(该抓包过程由于现场原因未作记录,在此无法做详细数据包展示),分析其过程,我们可以发现的确是防火墙丢弃了FTP用户名和密码数据包。
那么防火墙为什么会丢弃FTP用户名和密码的数据包呢?
抓包分析我们可以发现被丢弃的包都是FTP传输用户名和密码的包,这个肯定属于FTP应用层的包,防火墙丢弃FTP应用层的数据包,那么问题应该就出在防火墙的FTP应用层检测上。我们登陆上防火墙,查看防火墙针对FTP应用做了哪些应用检测的策略,结果我们发现,其针对FTP应用启用了应用层检测,如下图所示:
至此,我们基本上可以断定是防火墙的FTP应用层检测BUG导致了这个故障的产生。
故障解决
在防火墙上取消FTP应用绑定,让防火墙不要对FTP的数据包进行深度的过滤和检测,再次登陆FTP服务器,一切正常,至此该疑难故障解决。
日历
最新日志
链接
分类
最新碎语
- 如果一个人想要做一件真正忠于自己内心的事情,那么往往只能一个人独自去做"——理查德·耶茨
2019-06-25 21:34
- 日后我们知道,真正的人生道路是由内心决定的。不论我们的道路看上去如此曲折、如此荒谬地背离我们的愿望,它终归还是把我们引到我们看不见的目的地。(茨威格《昨日世界》)
2019-03-16 21:27
- 如果你渴望得到某样东西,你得让它自由,如果它回到你身边,它就是属于你的,如果它不会回来,你就从未拥有过它。——大仲马《基督山伯爵》
2018-10-09 22:07
- 人生有两大悲剧:一个是没有得到你心爱的东西;另一个是得到了你心爱的东西。人生有两大快乐:一个是没有得到你心爱的东西,于是可以寻求和创造;另一个是得到了你心爱的东西,于是可以去品味和体验。——弗洛伊德
2018-09-25 18:06
- 一个人越有思想,发现有个性的人就越多。普通人是看不出人与人之间的差别的——布莱兹·帕斯卡尔
2018-08-30 18:44
存档
- 2020年11月(2)
- 2018年1月(1)
- 2017年12月(1)
- 2017年11月(6)
- 2017年6月(1)
- 2017年5月(1)
- 2017年4月(1)
- 2017年3月(1)
- 2016年11月(1)
- 2016年4月(1)
- 2015年7月(2)
- 2015年6月(1)
- 2015年5月(5)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(1)
- 2014年4月(3)
- 2014年2月(2)
- 2014年1月(2)
- 2013年12月(1)
- 2013年11月(1)
- 2013年10月(2)
- 2013年9月(1)
- 2013年8月(1)
- 2013年7月(3)
- 2013年6月(2)
- 2013年5月(1)
- 2013年4月(3)
- 2013年3月(1)
- 2013年2月(2)
- 2013年1月(2)
- 2012年12月(11)
- 2012年11月(12)
- 2012年10月(12)
- 2012年9月(26)
- 2012年8月(29)
- 2012年7月(18)
- 2012年6月(2)
- 2012年5月(25)
- 2012年4月(16)
- 2012年3月(13)
- 2012年2月(6)