|
最近遇到一个非常“诡异”的问题,一直没有解决,恳求大家看看有没有好的意见!
现象:
FTP服务器使用IE浏览器的被动模式,可以正常登录,并且可以看到文件夹的内容。但是当上传或下载(或者是上传和下载的其中之一)不能工作正常。
分析:
1.最开始认为是互联网的MTU问题,当把客户端的MTU减小后,有些是相关问题的用户得到了解决可以上传和下载了。
2.还是有很少的人无法上传或下载,而且这些人可以看到文件列表,说明FTP的数据连接是正常的(因为IE使用的被动FTP模式,显示文件列表必须走数据端口,同时也说明数据是可以下载的,这个时候我只有在服务器上抓包分析。
以下包分下的结果
No. Time Source Destination Protocol Info
6224 760.418528 192.168.1.1 xxx.xxx.xxx.xxx FTP Request: SIZE test.doc
6225 760.419019 192.168.1.1 xxx.xxx.xxx.xxx FTP Response: 213 24064
6226 760.491103 192.168.1.1 xxx.xxx.xxx.xxx TCP 63153 > ftp [ACK] Seq=146 Ack=709 Win=5824 Len=0 TSV=554250563 TSER=49576842
问题就出在第3行 6226上面
正常的应该是类似下面的
No. Time Source Destination Protocol Info
45 9.788366 192.168.1.1 xxx.xxx.xxx.xxx FTP Request: RETR test.doc
按理说因该是客户端给服务器发一个RETR的包,然后开始下载,但是错误的包反映出来的是发了一个空包,产生空包的原因我非常的想知道。
下面贴一下空包的具体记录:
No. Time Source Destination Protocol Info
6226 760.491103 222.240.200.218 211.160.24.253 TCP 63153 > ftp [ACK] Seq=146 Ack=709 Win=5824 Len=0 TSV=554250563 TSER=49576842
Frame 6226 (66 bytes on wire, 66 bytes captured)
Ethernet II, Src: BeijingT_02:55:0a (xx:xx:xx:xx:xx:xx), Dst: Supermic_5c:30:04 (xx:xx:xx:xx:xx:xx)
Internet Protocol, Src: 192.168.1.1(192.168.1.1), Dst: xxx.xxx.xxx.xxx(xxx.xxx.xxx.xxx)
Transmission Control Protocol, Src Port: 63153 (63153), Dst Port: ftp (21), Seq: 146, Ack: 709, Len: 0
Source port: 63153 (63153)
Destination port: ftp (21)
Sequence number: 146 (relative sequence number)
Acknowledgement number: 709 (relative ack number)
Header length: 32 bytes
Flags: 0x0010 (ACK)
Window size: 5824
Checksum: 0x5bc9 [correct]
Options: (12 bytes)
正常的包后面还有 File Transfer Protocol (FTP)协议,但是可以看到这里没有
从上面可以看出导致无法上传或下载的原因是客户端没有发送成功RETR或STOR,但是我现在就是不太明白是什么原因引起的。
各位老大们帮帮我吧,说说你们认为可能的原因,给点建议。 |
|