查看: 9172|回复: 14

求助一个过滤分析方法

[复制链接]
发表于 2009-12-23 09:51:05 | 显示全部楼层 |阅读模式
我目前在做一个代理服务器的测试,基本结构是:

测试客户端  ---->   代理服务器  ----> 测试服务器

其中测试客户端和测试服务器ip地址都是自动生成的,客户端ip范围在172.18.0.0/16网段,而服务器端ip范围在172.16.0.0/16网段,代理服务器是172.17.100.200

目前测试中发现有一部分数据包不正常,分析发现是代理服务器没有响应部分客户端的syn请求,所以我在代理服务器上抓包。(另外,由于实际结构比这个图示稍微复杂一点,因为代理服务器是透明的,也就是说通过另一台设备做pbr,将http和https的数据送到代理服务器上)

正常的包顺序应该是:

客户端发送syn给代理服务器(5470-->8080)
服务器发送syn+ack给客户端(80-->5470)
客户端发送ack给代理服务器(5470-->8080)
客户端发送http请求给代理服务器(5470-->8080)

(因为是在代理服务器的一个端口上抓包,所以上面包中看不到代理服务器给服务器的包)

我现在希望能够过滤出来,只有客户端发送syn的包,而后续包的这类错误包。请问有什么过滤方法能够实现吗?难点就在于,客户端和服务器的ip都不确定,所以我觉得似乎没什么好办法实现。各位帮忙看看。
回复

使用道具 举报

发表于 2009-12-23 11:38:54 | 显示全部楼层
是只要SYN包么?可按如下截图设置值过滤即可

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

发表于 2009-12-23 12:32:26 | 显示全部楼层
一点意见:
1.先过滤TCP协议
2.syn置1的包一般有两个,一个是syn置1,再一个就是syn、ack置1,不知道你要的是哪个?
回复

使用道具 举报

 楼主| 发表于 2009-12-23 12:49:46 | 显示全部楼层
多谢楼上两位,不过两位还是没有理解我的意思。
我上面说的正常包的顺序,我希望要的是只有syn的包,而没有后续包的这类包,正常的,有syn,有syn/ack的,有后续的,都不要,只留那种只发了一个syn包,就没有回应的包。
回复

使用道具 举报

发表于 2009-12-23 13:10:46 | 显示全部楼层
不知道你说的代理服务器没响应客户端的syn是什么意思?
是被reset了?还是根本就没有任何回应的数据包?
回复

使用道具 举报

 楼主| 发表于 2009-12-23 13:21:42 | 显示全部楼层
是根本没有任何回应。
就是说,在代理服务器上收到syn包之后,代理服务器就没任何反应了,大量的包中,只有少量的这种包,我希望能筛选出来。
回复

使用道具 举报

发表于 2009-12-23 15:06:57 | 显示全部楼层
代理服务器在收到客户端的syn请求数据包后,如果此时代理服务器的tcp窗口为0,则它会发送一个reset信息给客户端,如果不为0,则会确认客户端的同步请求,之后再进行下一步的操作,而不会像楼主所说没有任何反应,这是不可能的。当然,如果代理服务器没有收到客户端的同步请求数据包就另当别论了,所以先确认在出现问题时代理服务器是否收到了同步数据包。

要想完美的实现楼主的想法,几乎是不可能的。

比较可行的方法是在代理服务器和pbr设备上同时抓取syn、syn/ack包和reset包,进行比较。当然这会比较麻烦,但这可以确定问题的症结所在。
回复

使用道具 举报

 楼主| 发表于 2009-12-23 17:00:25 | 显示全部楼层
多谢楼上了,这种问题也可能会出现,是因为我在检查问题是不是出在proxy上,如果proxy的性能不足,可能就不会对syn包有响应了。
算了,这种过滤方法估计找不到,我还是手工检查吧。
回复

使用道具 举报

发表于 2009-12-24 08:57:09 | 显示全部楼层
昨天由于在客户那边工作,没有仔细的回复。

其实现在主要就是找出这个问题是由于哪个设备的处理能力不足所引起的,因为它的不确定性,所以你可以只捕获某一特定ip的syn、syn/ack、reset包,部署点分别在代理服务器和pbr设备上。这样会简便一些,不用全部捕获,那样真的太麻烦了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表