用抓包工具排除软件故障
2018-03-04
笔者单位各部门分布在不同的城市,相距比较远。为方便各部门之间的文书传送,并确保传输过程能够安全保密,总部近期下发了文件收发系统,用于实时的文件收发。
文件收发系统采用的是CS结构,总部设服务器,各分部门安装客户端。文件发送后,对方可以实时收到来文信息,并进行回执、签收。发送方也可以实时看到回执,以确定对方已收到文件。
系统运行过程中,文件收发服务采用指定端口,因此,总部下发了防火墙配置表,规范需要打开的端口列表。
故障现象
在文件收发系统调试过程中,我们按照要求安装好软件,并配置好防火墙。但在进行文件收发时发现,客户端之间可以收到对方发来的文件,但收到文件后进行确认回执时,发件方发文状态并未显示接收确认,只是显示已发送到对端。一开始以为是系统安装或配置的问题,于是进行关闭系统防火墙、重启各种相关服务操作。但重做了几遍系统,问题依然存在。
故障排查
经询问总部技术人员,对方解释问题可能出现在网络中防火墙的配置上,确认信息可能被防火墙拦截,没有传送到发件方。
将防火墙暂时处于全通状态进行回执收发测试,确实可以收到确认信息,发文状态变为签收。但总部技术人员只知道文件收发使用的端口号,不能确定回执信息使用的端口号。
故障解决
为了找出回执信息发送使用的端口号,我们在一台电脑上安装服务器,用两台电脑模拟两个部门,分别安装客户端,并在其中一台电脑上安装Wireshark抓包软件进行报文分析。在抓取了两台电脑相互发文、收文、回执确认的数据包后进行分析,发现发文、收文服务所用端口号与下发的端口表相吻合,并从中找出了回执信息数据报文,查出传输层TCP协议所用的端口号。在各用户端的防火墙上增加开放此端口的规则,并保存应用,再次进行测试,故障排除。
经验总结
本次故障排除看似简单,却给了我们很多启示。在信息系统运维管理和网络维护过程中,经常会遇到一些表面看似软件问题,而实则是网络问题的事情。在重启软件的各种服务不能解决问题的情况下,可以从网络传输方面作为问题的切入点,并利用适当的网络分析工具进行辅助判断,从而排除故障。网络故障表现形式多种多样,但很多根本原因都可以在IP报文中找到答案。Wireshark、Sniffer等网络抓包软件是网络管理员常用的工具软件,是解决网络问题的得力助手,如果能充分的用好,可以给我们提供很多查找问题的线索、解决问题的思路,从而更好、更快地解决网络问题。