TCP/IP协议包的发送接收测试,大家都来看看啊.

上一篇 / 下一篇  2009-03-30 12:20:11

查看( 1077 ) / 评论( 39 )
我这两天要测试一个及时通信软件,类似QQ,使用C++写的.因为用户数达到了2000+,而且功能太过复杂,以及早期的软件设计不够合理的原因,使用UDP协议造成了登陆缓慢.目前修改为登陆使用TCP协议登陆面板保证登陆速度,而后才使用UDP协议接收各种数据
目前公司要求我需要测试TCP/IP协议的发包和接包,保证通信的正确性.
不知道该如何入手...
急啊!!!!!
还有两天的时间了....
请大家指点一二啊?

[本帖最后由 z_kh 于 2008-8-4 09:26 编辑]

TAG: 测试 接包

地蟒的江湖 dimang11 发布于2008-08-02 08:58:09
性能测试,先跑100个用户主业务流看看!过了,继续加用户,最后测次要功能,不知道你性能测试水平如何.......
z_kh的个人空间 z_kh 发布于2008-08-02 15:56:08
LR中能够看到接收和发送包么?
如果用LR,对我们公司的这个软件不太行的通...或者说时间上来不急...
我原来有用LR录制了一份他的登陆.结果发现登陆就占用了2000多个BUF.
而且因为内嵌了一些WEB的东西.结果很多数据都是加密的.
我查了下.单是登陆的2000多个BUF中就有300多个BUF的是要验证用户名和密码的.而且都是加密的.
这种工作量我两天的时间感觉实在有点难度.
以前只用LR测试过WEB的.CS这块接触的不多.....
这次的测试主要是要验证登陆的时候TCP/IP包的接收和发送是完整和正确的.
老大们救我!......
z_kh的个人空间 z_kh 发布于2008-08-02 18:16:31
哈哈.搞定了.使用了抓包工具Ethereal
很好的分析了包,协议,以及包内的SEQ,ACK,len等内容.虽然无法完全比对内容.但是可以比对所传输的data大小,我想应该足够了....
z_kh的个人空间 z_kh 发布于2008-08-02 18:17:04
加一点哦..
还显示了端口.
实在是不错的工具....
z_kh的个人空间 z_kh 发布于2008-08-02 18:41:54
晕了...
在抓包测试的时候服务端反馈的信息中有这么一部分..
TCP CHECKSUM  INCORRECT
这是怎么回事?
TCP的传输不是可信任的么?
怎么会报这样的错误呢?
如果错误后,TCP/IP是否会重新发送?如果重新发送又如何确认?
而且还有个问题.我客户端发送的ACK请求包的LEN=0.怎么服务端的ACK确认包的LEN=1460?
这又是什么原因造成的?
请高手们指教!!!!!
急!!!!!
z_kh的个人空间 z_kh 发布于2008-08-02 18:55:10
继续提问:
除了上述的问题,TCP/IP的包讲究的是发送和确认.我在监视的时候却发现后面部分的客户端都只有ACK包而没有FIN -ACK的关闭请求包.也就是我的请求一直都未关闭?
而服务端同样的问题.只有ACK的确认包,却没有自身的FIN -ACK包?
这样的情况是怎么回事?
同时问题也产生了.首先服务端有一个ACK包.但是校验是错误的.这个时候是否会重新发包?以我对TCP/IP本身的理解来说,TCP/IP客户端如果接收到确认包就该关闭连接.而如果没有接收到则重新发送.那么对客户端来说,这个时候到底是接到了确认包还是没有接到确认包呢?客户端和服务端在这个时候到底是处于什么状态的呢?
是什么问题造成的?
同时让我奇怪的是我的客户端登陆后都是正常的.虽然说客户端的表现不能做为凭证.但是如果有这么多大面积的TCP/IP通信的错误,怎么客户端就没有一点表现呢?(出现错误信息占了2/3左右)
z_kh的个人空间 z_kh 发布于2008-08-04 09:27:12
求救啊!!!!!!!..............
z_kh的个人空间 z_kh 发布于2008-08-04 11:24:06
救命啊.....
z_kh的个人空间 z_kh 发布于2008-08-04 12:00:54
重又看TCP/IP.有点明白....
在建立连接后,如果中间有数据输出,将不会中断连接.只有在数据传输结束后才会进行连接中断.
所以出现了多个ACK包对应一个FIN--ACK包...
目前剩下的问题是,为什么长度会不一致?
难道出错后,服务端的确认包中添加了头信息?
这也是为什么服务端的确认包出错后的长度都是一样大小的原因么?
z_kh的个人空间 z_kh 发布于2008-08-05 11:41:41
报错的原因是和网卡有关系.如果不想看到错误
Windows下改变Checksum Offload
网卡配置->高级->Rx Checksum Offload或Tx Checksum Offload,将之调整成Disable即可,代价是网络性能降低.
namelcx发布于2008-08-05 17:11:18
弄了半天都是你在自问自答
何必呢
kara520发布于2008-08-21 13:52:22
几经波折的你的脑袋~~~~~~~~
全是自己一个人在那里说
北极的冰箱 jlminghui 发布于2008-09-04 13:53:35
楼主我顶你,你的做法非常好,不但记录下给自己看,以后有人遇到同样的问题也可以学习一下你解决问题的办法。
fwc发布于2008-09-10 21:29:59
话说回来有什么工具可以以脚本的方式测试类似楼主这样的服务器吗?
比如登陆什么的功能。用抓包的方式很辛苦啊
kalada的个人空间 kalada 发布于2008-10-01 00:38:45
我测试过类似的东西都是基于sip协议的,自己写个要发送的请求包,然后在包再把返回包转成xml读出来check下。
积累 superliuli1 发布于2008-10-09 09:25:28
支持楼主
loveyu_xu发布于2008-10-17 15:30:26
楼主忽悠
楼主是不是来赚人气来了
那有这个样子的,有点像电视购物啊
或者干脆点就是自卖自夸
baderjackie发布于2008-10-31 14:48:21
不容易啊,都自己解决了,一定查了N多资料吧
ljing0310发布于2008-11-11 15:33:21
佩服+羡慕 ing
也想做这方面的测试呢~  目前在看这方面的资料呢
燃灯斋 zengyixun 发布于2008-12-02 16:47:19
何必抓来抓去这么辛苦?不是你们自己公司的东东么?叫开发人员提供协议结构说明或者接口文件呀!是做工作的,又不是考水平折磨人的!
我就不信你们公司的新到的开发人员接手人家的模块,要写网络通信过程的程序时,都要自己去抓包分析自己公司的协议结构!如果这样,你们公司可就有意思了!

[ 本帖最后由 zengyixun 于 2008-12-2 16:48 编辑 ]
我来说两句

(可选)

日历

« 2020-11-29  
1234567
891011121314
15161718192021
22232425262728
2930     

数据统计

  • 访问量: 2918
  • 日志数: 4
  • 建立时间: 2009-01-21
  • 更新时间: 2009-04-01

RSS订阅

Open Toolbar