用Raw Socket写了一个程序,用于模拟TCP三次握手。结果出现了一个奇怪的问题,大伙儿帮忙看看,这是TCP什么怪异特性,还是有什么问题。程序在这下载:http://202.101.44.10/csdn/RawSocket.exe(应该没病毒吧, :))测试过程如下:1、运行程序
2、点击File->Options,设置本地的IP地址,默认的是192.168.1.245,改成你本地的就行了。
3、点击File->Start
4、在命令行telnet 202.101.44.10 5678 (在服务器里运行了一个socket server)
5、这时,应该可以捕获到三个包,SYN、SYN+ACK、ACK
6、选择第三个包,在右面把FIN标志选上,然后点击“创建&发送”,这样将向server发送一个ACK+FIN包这时问题就出现了,两端TCP不停互相发ACK包,而且系列号及确认号都是相同的.每次大概要发60000次左右!!!!!网络就跟瘫痪了一样,机器也暴慢不明白这是为什么???那位朋友帮忙解释一下,是不是TCP状态器有啥问题还是别什么原因.