Chinaunix

标题: 一个困扰很久的FTP问题,各位大大帮忙,谢谢! [打印本页]

作者: wushanyink    时间: 2009-10-10 10:40
标题: 一个困扰很久的FTP问题,各位大大帮忙,谢谢!
最近遇到一个奇怪的FTP问题,想了很久也想不出好的办法来解决,特来论坛求助,人多力量大,各位大大有碰到此类问题的帮忙指点一下,感激不尽.

首先,说下对这个问题做下简单的描述:
网络结构:
A机,也就是ftp client机器 IP地址 61.44.50.2
B机,也是ftp client机器,IP地址:192.168.1.23
C机,也就是ftp server机器,IP地址:192.168.50.2
A,B和C机中间隔了一台路由器以及一台防火墙,A和B机器在同一路由器下面,当然,路由器上没有做什么策略,可以忽略不计,所以图中没有标明.
A机和B机每天通过定时任务ftp一些对账文件到C机上,问题就在这里了.B机FTP C机,上传,下载,执行ls,dir等命令一切正常,但A机就有问题了.

问题描述:
1:A机直接FTP到C机上,输入用户名和密码可以正常登陆.
但当使用默认的被动模式上传文件的时候,提示ftp:connect:conection time out
关闭被动模式,使用主动模式的时候,提示500 unknown command.
2:A机FTP其他服务器,可以正常上传下载以及执行FTP命令.
3:B机FTP C机正常.B机与A机处于同一个路由器下,都要经过这道防火墙.

这里,有几点疑问:
1:既然B机与A机处于同一路由器下,路由器上也没有做任何策略,B机能够正常FTP C机,说明防火墙上的策略应该没有问题.的确防火墙上放开了FTP功能,任何客户端都可以通过这个防火墙FTP C机,既然B机可以,那么A机正常情况下应该也可以FTP C机
防火墙上策略如下:
access-list bank_acl extended permit tcp any host 192.168.50.8 eq 20
access-list bank_acl extended permit tcp any host 192.168.50.8 eq 21

2:A机无法FTP C机,说明A机可能有问题,但让客户测试的时候,发现A机可以正常FTP其他的服务器进行上传下载.这里又似乎说明是ftp server有问题了.但B机又可以正常FTP C机.比较矛盾.

这个问题困扰好多天了,麻烦各位大大帮忙看看到底是哪里的问题,多谢了.

源帖子地址:http://linux.chinaunix.net/bbs/thread-1138605-1-2.html
作者: ssffzz1    时间: 2009-10-10 11:29
查查A B C机是否自身有防火墙啊。
作者: wushanyink    时间: 2009-10-10 11:43
谢谢楼上朋友.

C机防火墙策略都是打开的

[root@JK2 ~]# iptables --list                                                                                                      
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

而且C机不是只提供对A机的FTP服务,其他很多银行的服务器也会FTP到这台机器上传文件,其他银行都正常,就这个(JS银行)不正常.

让对方工程师查了他们硬件防火墙,策略没有做任何限制,端口,IP全部放开.当然,我这一侧防火墙也全部放开了.对方ftp客户端防火墙也关了.他们这台机器同时也是FTP server,也有很多其他机器会FTP到他们这台机器,均正常..

所以,奇怪的现象就是:
1  其他银行ftp到我这边的接口机,上传,下载,列目录等都很正常,就JS银行不正常.
2  同时也有很多其他服务器也会ftp到JS银行这台机器,这台机器也会FTP到除了我这边接口机之外的其他机器,都正常,唯独到我这边不正常.而且我这边接口机ftp到js银行接口机,出现和js银行ftp到我这边一样的问题.
3  从JS银行接口机到我这边接口机,要绕过2道防火墙,但这2道防火墙的策略都是permit ip any any..应该不存在拒绝或丢弃数据包的问题.
作者: ssffzz1    时间: 2009-10-10 11:46
给我AB 两机器在ftp命令行下面主被动模式的测试结果。
作者: wushanyink    时间: 2009-10-10 11:58
标题: re
如图,默认被动模式,连接被拒绝.
主动模式,连接超时 -.-!!!

未命名.JPG (47.82 KB, 下载次数: 63)

未命名.JPG

作者: wushanyink    时间: 2009-10-10 12:00
我连对方:
[root@JK2 ~]# ftp 15.44.6.60
Connected to 15.44.6.60.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (15.44.6.60:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> status   
Connected to 15.44.6.60.
Control Channel Protection Level: clear
Data Channel Protection Level: clear
Passive mode on
Mode: stream; Type: binary; Form: non-print; Structure: file
Store unique: off; Receive unique: off
Case: off; CR stripping: on
Ntrans: off
Nmap: off
No proxy connection.
Hash mark printing: off; Use of PORT cmds: on
Verbose: on; Bell: off; Prompting: on; Globbing: on
ftp> ls
227 Entering Passive Mode (15,44,6,60,28,236)
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 May 24  2006 pub
226 Directory send OK.
ftp> ls

被动模式,执行ls命令,无响应...


改为主动模式:
[cy01@JK2 ~]$ ftp 15.44.6.60
Connected to 15.44.6.60.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (15.44.6.60:cy01): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pass
Passive mode off.
ftp> ls
200 PORT command successful. Consider using PASV.
500 Unknown command.
ftp> ls
500 Unknown command.
ftp: bind: Address already in use

汗...
作者: ssffzz1    时间: 2009-10-10 13:42
5楼和6楼是同一台机器吗?
作者: wushanyink    时间: 2009-10-10 14:19
不是的,5楼的是js银行那边的机器ftp我这边的接口机
6楼是我这边的接口机ftpjs银行的机器..

2边都是一样的问题..
作者: wushanyink    时间: 2009-10-10 14:49
原帖由 sdasdf 于 2009-10-10 14:27 发表
A怎么是公网地址,经过公网吗
A之前可以用吗,还是突然有天不能用的?

重启试试


网路结构图是下面这个样子的,2个网段是不一样的,中间有路由器,不过网络是通的..ping什么的都没问题的..

之前正常,以前正常的时候BOSS侧的防火墙策略是permit ip any any,后来客户考虑到安全性,对策略做了细化,于是按照客户的要求重新做了策略,该放的就放,其他的数据包就都deny了..结果就出现现在这个问题..

现在把防火墙策略恢复到permit any状态也不行了..


重启BOSS侧机器还是js银行侧机器?

[ 本帖最后由 wushanyink 于 2009-10-10 14:55 编辑 ]

未命名.JPG (29.33 KB, 下载次数: 66)

未命名.JPG

作者: ssffzz1    时间: 2009-10-10 15:11
也就是说现在A访问C的FTP SERVER是不行的。 哪么LZ你说的那个可以访问的B又是那个呢???
作者: wushanyink    时间: 2009-10-10 15:14
其他银行的,交通银行,浦发银行等等..都需要经过BOSS 侧防火墙进来..

他们FTP BOSS侧接口机一点问题都没有..真的是很奇怪..
作者: ssffzz1    时间: 2009-10-10 15:35
怀疑还是那个 建设银行的防火墙有问题的。

啥型号,配置?
作者: wushanyink    时间: 2009-10-10 17:27
JS银行那边用sftp就可以连过来,一切正常.
用ftp就不行了...
作者: hyagami    时间: 2009-10-10 20:02
标题: 回复 #15 wushanyink 的帖子
A机用sftp可以正常连到C机?难道A机ftp出问题了

你找台机器配置A机的IP地址信息ftp到C机看看,如果确定没问题就要抓A机ftp时的包分析了
作者: wushanyink    时间: 2009-10-12 08:52
回楼上朋友,A机只是FTP到我们BOSS侧接口机有问题,FTP到其他服务器没问题,而且A机是JS银行对外的接口机,也有很多机器会FTP到A机下载对账文件,均正常.而且A机FTP到除了BOSS接口机外的其他服务器也没问题,就是到BOSS接口机有问题.

但BOSS接口机与其他银行进行FTP没问题,就是到JS银行接口机(A机)有问题..
所以这是很奇怪的一个地方..排除法在这里完全好像不起作用..

前天在我们BOSS侧接口机上用TCPDUMP抓了一些数据包,相信信息如下,请各位帮忙分析一下,谢谢.

[root@JK2 ~]# tcpdump host 15.44.6.60 and port 21
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:48:07.746144 IP 15.44.6.60.5169 > jk2.ftp: S 79071206:79071206(0) win 5840 <mss 1380,nop,nop,timestamp 3746631448 0,nop,wscale 2>
15:48:07.747030 IP jk2.ftp > 15.44.6.60.5169: S 2800402028:2800402028(0) ack 79071207 win 5792 <mss 1460,nop,nop,timestamp 3996273533 3746631448,nop,wscale 5>
15:48:07.747102 IP 15.44.6.60.5169 > jk2.ftp: . ack 1 win 1460 <nop,nop,timestamp 3746631449 3996273533>
15:48:07.749388 IP jk2.ftp > 15.44.6.60.5169: P 1:21(20) ack 1 win 181 <nop,nop,timestamp 3996273536 3746631449>
15:48:07.750215 IP 15.44.6.60.5169 > jk2.ftp: . ack 21 win 1460 <nop,nop,timestamp 3746631452 3996273536>
15:48:07.750316 IP 15.44.6.60.5169 > jk2.ftp: P 1:14(13) ack 21 win 1460 <nop,nop,timestamp 3746631452 3996273536>
15:48:07.750335 IP jk2.ftp > 15.44.6.60.5169: . ack 14 win 181 <nop,nop,timestamp 3996273537 3746631452>
15:48:07.750389 IP jk2.ftp > 15.44.6.60.5169: P 21:59(3 ack 14 win 181 <nop,nop,timestamp 3996273537 3746631452>
15:48:07.751177 IP 15.44.6.60.5169 > jk2.ftp: P 14:32(1 ack 59 win 1460 <nop,nop,timestamp 3746631453 3996273537>
15:48:07.751223 IP jk2.ftp > 15.44.6.60.5169: P 59:97(3 ack 32 win 181 <nop,nop,timestamp 3996273538 3746631453>
15:48:07.792080 IP 15.44.6.60.5169 > jk2.ftp: . ack 97 win 1460 <nop,nop,timestamp 3746631494 3996273538>
15:48:10.550591 IP 15.44.6.60.5169 > jk2.ftp: P 32:45(13) ack 97 win 1460 <nop,nop,timestamp 3746634253 3996273538>
15:48:10.550657 IP jk2.ftp > 15.44.6.60.5169: P 97:131(34) ack 45 win 181 <nop,nop,timestamp 3996276338 3746634253>
15:48:10.551587 IP 15.44.6.60.5169 > jk2.ftp: . ack 131 win 1460 <nop,nop,timestamp 3746634254 3996276338>
15:48:12.680223 IP 15.44.6.60.5169 > jk2.ftp: P 45:58(13) ack 131 win 1460 <nop,nop,timestamp 3746636383 3996276338>
15:48:12.686877 IP jk2.ftp > 15.44.6.60.5169: P 131:154(23) ack 58 win 181 <nop,nop,timestamp 3996278475 3746636383>
15:48:12.687774 IP 15.44.6.60.5169 > jk2.ftp: . ack 154 win 1460 <nop,nop,timestamp 3746636390 3996278475>
15:48:12.687791 IP 15.44.6.60.5169 > jk2.ftp: P 58:64(6) ack 154 win 1460 <nop,nop,timestamp 3746636390 3996278475>
15:48:12.687852 IP jk2.ftp > 15.44.6.60.5169: P 154:173(19) ack 64 win 181 <nop,nop,timestamp 3996278476 3746636390>
15:48:12.728109 IP 15.44.6.60.5169 > jk2.ftp: . ack 173 win 1460 <nop,nop,timestamp 3746636431 3996278476>
15:48:15.650961 IP 15.44.6.60.5169 > jk2.ftp: P 64:70(6) ack 173 win 1460 <nop,nop,timestamp 3746639354 3996278476>
15:48:15.651097 IP jk2.ftp > 15.44.6.60.5169: P 173:223(50) ack 70 win 181 <nop,nop,timestamp 3996281439 3746639354>
15:48:15.652240 IP 15.44.6.60.5169 > jk2.ftp: . ack 218 win 1460 <nop,nop,timestamp 3746639355 3996281439>
15:48:15.859738 IP jk2.ftp > 15.44.6.60.5169: P 218:223(5) ack 70 win 181 <nop,nop,timestamp 3996281648 3746639355>
15:48:15.860542 IP 15.44.6.60.5169 > jk2.ftp: . ack 223 win 1460 <nop,nop,timestamp 3746639564 3996281648>
15:48:23.415944 IP 15.44.6.60.5169 > jk2.ftp: P 70:76(6) ack 223 win 1460 <nop,nop,timestamp 3746647120 3996281648>
15:48:23.416063 IP jk2.ftp > 15.44.6.60.5169: P 223:272(49) ack 76 win 181 <nop,nop,timestamp 3996289205 3746647120>
15:48:23.417355 IP 15.44.6.60.5169 > jk2.ftp: P 76:99(23) ack 263 win 1460 <nop,nop,timestamp 3746647121 3996289205>
15:48:23.417438 IP jk2.ftp > 15.44.6.60.5169: P 272:323(51) ack 99 win 181 <nop,nop,timestamp 3996289207 3746647121>
15:48:23.457965 IP 15.44.6.60.5169 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3746647162 3996289207>
15:48:23.637967 IP 15.44.6.60.5169 > jk2.ftp: P 99:100(1) ack 314 win 1460 <nop,nop,timestamp 3746647342 3996289207>
15:48:23.638017 IP jk2.ftp > 15.44.6.60.5169: P 323:345(22) ack 100 win 181 <nop,nop,timestamp 3996289427 3746647342>
15:48:23.638841 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746647343 3996289427>
15:48:23.638860 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996289428 3746647342>
15:48:23.669215 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996289459 3746647342>
15:48:23.670020 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746647374 3996289459>
15:48:23.670038 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996289459 3746647342>
15:48:24.093130 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996289883 3746647342>
15:48:24.093986 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746647798 3996289883>
15:48:24.094005 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996289884 3746647342>
15:48:24.940971 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996290731 3746647342>
15:48:24.946868 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746648651 3996290731>
15:48:24.946888 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996290737 3746647342>
15:48:26.636637 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996292427 3746647342>
15:48:26.637601 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746650342 3996292427>
15:48:26.637620 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996292428 3746647342>
15:48:30.028975 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996295819 3746647342>
15:48:30.029909 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746653735 3996295819>
15:48:30.029930 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996295820 3746647342>
15:48:36.811653 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996302603 3746647342>
15:48:36.812692 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746660518 3996302603>
15:48:36.812713 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996302604 3746647342>
15:48:50.377007 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996316171 3746647342>
15:48:50.378124 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746674086 3996316171>
15:48:50.378146 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996316172 3746647342>
15:49:17.509714 IP jk2.ftp > 15.44.6.60.5169: P 314:345(31) ack 100 win 181 <nop,nop,timestamp 3996343307 3746647342>
15:49:17.510761 IP 15.44.6.60.5169 > jk2.ftp: . ack 336 win 1460 <nop,nop,timestamp 3746701222 3996343307>
15:49:17.510783 IP jk2.ftp > 15.44.6.60.5169: . ack 100 win 181 <nop,nop,timestamp 3996343308 3746647342>
作者: wangdan1600    时间: 2009-10-12 09:05
原帖由 wushanyink 于 2009-10-10 12:00 发表
我连对方:
[root@JK2 ~]# ftp 15.44.6.60
Connected to 15.44.6.60.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authe ...


第一次FTP操作,ls已经成功了呀:
ftp> ls
227 Entering Passive Mode (15,44,6,60,28,236)
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 May 24  2006 pub

第二次FTP操作,bind函数提示说这个地址已经在用。
200 PORT command successful. Consider using PASV.
500 Unknown command. 这里还是用了PASV,但你关闭了PASV模式,所以会提示Unknown command.
然后bind函数失败,说明这个socket上有连接,你要等这个连接关闭了才可以使用。这不算错误。


曾经我用Server-U搭建的FTP,一个账户用了一段时间之后,总是提示连接被拒绝,折腾了一通没搞定,索性把这个账户删除了再重建同样的账号,然后就一直用到现在。

你可以试试这个方法,绕过问题比解决问题要简单,虽然不是个好主意。
作者: wangdan1600    时间: 2009-10-12 09:24
标题: 回复 #17 wushanyink 的帖子
输出不够详细。可以看出,从这里开始出现了超时和重传:
客户发了一个字节到SERVER:
15:48:23.637967 IP 15.44.6.60.5169 > jk2.ftp: P 99:100(1) ack 314 win 1460 <nop,nop,timestamp 3746647342 3996289207>
SERVER响应22字节。
15:48:23.638017 IP jk2.ftp > 15.44.6.60.5169: P 323:345(22) ack 100 win 181 <nop,nop,timestamp 3996289427 3746647342>

但是Client和Srever均重传了9次,历时54秒,后面应该还有几次重传才对。

我建议你在数据包被重传的过程中使用netstat -an | grep tcp开观察FTP连接所处的状态。
目前我也不清楚是什么原因导致这些包被重传。
作者: wushanyink    时间: 2009-10-12 10:37
重新跟了一次..
js银行接口机ftp 到这边的情况,见图中信息:


在BOSS侧接口机抓到的信息如下:
[root@JK2 ~]# tcpdump host 15.44.6.60 and port 21
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
10:18:26.225012 IP 15.44.6.60.54314 > jk2.ftp: S 3371696732:3371696732(0) win 5840 <mss 1380,nop,nop,timestamp 3899666858 0,nop,wscale 2>
10:18:26.225867 IP jk2.ftp > 15.44.6.60.54314: S 1166715899:1166715899(0) ack 3371696733 win 5792 <mss 1460,nop,nop,timestamp 4149311665 3899666858,nop,wscale 5>
10:18:26.225876 IP 15.44.6.60.54314 > jk2.ftp: . ack 1 win 1460 <nop,nop,timestamp 3899666859 4149311665>
10:18:26.227832 IP jk2.ftp > 15.44.6.60.54314: P 1:21(20) ack 1 win 181 <nop,nop,timestamp 4149311668 3899666859>
10:18:26.228648 IP 15.44.6.60.54314 > jk2.ftp: . ack 21 win 1460 <nop,nop,timestamp 3899666862 4149311668>
10:18:26.228748 IP 15.44.6.60.54314 > jk2.ftp: P 1:14(13) ack 21 win 1460 <nop,nop,timestamp 3899666862 4149311668>
10:18:26.228768 IP jk2.ftp > 15.44.6.60.54314: . ack 14 win 181 <nop,nop,timestamp 4149311669 3899666862>
10:18:26.228880 IP jk2.ftp > 15.44.6.60.54314: P 21:59(3 ack 14 win 181 <nop,nop,timestamp 4149311669 3899666862>
10:18:26.229670 IP 15.44.6.60.54314 > jk2.ftp: P 14:32(1 ack 59 win 1460 <nop,nop,timestamp 3899666863 4149311669>
10:18:26.229757 IP jk2.ftp > 15.44.6.60.54314: P 59:97(3 ack 32 win 181 <nop,nop,timestamp 4149311670 3899666863>
10:18:26.271061 IP 15.44.6.60.54314 > jk2.ftp: . ack 97 win 1460 <nop,nop,timestamp 3899666904 4149311670>
10:18:28.779492 IP 15.44.6.60.54314 > jk2.ftp: P 32:45(13) ack 97 win 1460 <nop,nop,timestamp 3899669413 4149311670>
10:18:28.779606 IP jk2.ftp > 15.44.6.60.54314: P 97:131(34) ack 45 win 181 <nop,nop,timestamp 4149314220 3899669413>
10:18:28.780500 IP 15.44.6.60.54314 > jk2.ftp: . ack 131 win 1460 <nop,nop,timestamp 3899669414 4149314220>
10:18:30.978093 IP 15.44.6.60.54314 > jk2.ftp: P 45:58(13) ack 131 win 1460 <nop,nop,timestamp 3899671612 4149314220>
10:18:30.984706 IP jk2.ftp > 15.44.6.60.54314: P 131:154(23) ack 58 win 181 <nop,nop,timestamp 4149316426 3899671612>
10:18:30.985611 IP 15.44.6.60.54314 > jk2.ftp: . ack 154 win 1460 <nop,nop,timestamp 3899671619 4149316426>
10:18:30.985640 IP 15.44.6.60.54314 > jk2.ftp: P 58:64(6) ack 154 win 1460 <nop,nop,timestamp 3899671619 4149316426>
10:18:30.985700 IP jk2.ftp > 15.44.6.60.54314: P 154:173(19) ack 64 win 181 <nop,nop,timestamp 4149316427 3899671619>
10:18:31.026056 IP 15.44.6.60.54314 > jk2.ftp: . ack 173 win 1460 <nop,nop,timestamp 3899671660 4149316427>
10:18:32.509496 IP 15.44.6.60.54314 > jk2.ftp: P 64:70(6) ack 173 win 1460 <nop,nop,timestamp 3899673143 4149316427>
10:18:32.509633 IP jk2.ftp > 15.44.6.60.54314: P 173:223(50) ack 70 win 181 <nop,nop,timestamp 4149317951 3899673143>
10:18:32.510752 IP 15.44.6.60.54314 > jk2.ftp: . ack 218 win 1460 <nop,nop,timestamp 3899673145 4149317951>
10:18:32.718822 IP jk2.ftp > 15.44.6.60.54314: P 218:223(5) ack 70 win 181 <nop,nop,timestamp 4149318160 3899673145>
10:18:32.719697 IP 15.44.6.60.54314 > jk2.ftp: . ack 223 win 1460 <nop,nop,timestamp 3899673354 4149318160>
10:21:45.491107 IP 15.44.6.60.54314 > jk2.ftp: P 70:76(6) ack 223 win 1460 <nop,nop,timestamp 3899866151 4149318160>
10:21:45.491273 IP jk2.ftp > 15.44.6.60.54314: P 223:272(49) ack 76 win 181 <nop,nop,timestamp 4149510962 3899866151>
10:21:45.492624 IP 15.44.6.60.54314 > jk2.ftp: P 76:101(25) ack 263 win 1460 <nop,nop,timestamp 3899866152 4149510962>
10:21:45.492717 IP jk2.ftp > 15.44.6.60.54314: P 272:323(51) ack 101 win 181 <nop,nop,timestamp 4149510963 3899866152>
10:21:45.532681 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899866193 4149510963>
10:21:45.744072 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 101 win 181 <nop,nop,timestamp 4149511215 3899866193>
10:21:45.744951 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899866405 4149511215>
10:21:45.754626 IP 15.44.6.60.54314 > jk2.ftp: P 101:102(1) ack 314 win 1460 <nop,nop,timestamp 3899866415 4149511215>
10:21:45.794060 IP jk2.ftp > 15.44.6.60.54314: . ack 102 win 181 <nop,nop,timestamp 4149511265 3899866415>
10:21:46.167988 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 102 win 181 <nop,nop,timestamp 4149511639 3899866415>
10:21:46.168825 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899866829 4149511639>
10:21:46.168843 IP jk2.ftp > 15.44.6.60.54314: . ack 102 win 181 <nop,nop,timestamp 4149511640 3899866415>
10:21:47.015825 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 102 win 181 <nop,nop,timestamp 4149512487 3899866415>
10:21:47.016773 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899867677 4149512487>
10:21:47.016792 IP jk2.ftp > 15.44.6.60.54314: . ack 102 win 181 <nop,nop,timestamp 4149512488 3899866415>
10:21:47.591023 IP 15.44.6.60.54314 > jk2.ftp: P 101:126(25) ack 314 win 1460 <nop,nop,timestamp 3899868251 4149512488>
10:21:47.591052 IP jk2.ftp > 15.44.6.60.54314: . ack 126 win 181 <nop,nop,timestamp 4149513062 3899868251>
10:21:47.848286 IP 15.44.6.60.54314 > jk2.ftp: P 125:127(2) ack 314 win 1460 <nop,nop,timestamp 3899868508 4149513062>
10:21:47.848308 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149513319 3899868508>
10:21:48.362220 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899869022 4149513319>
10:21:48.362242 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149513833 3899869022>
10:21:48.711494 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 127 win 181 <nop,nop,timestamp 4149514183 3899869022>
10:21:48.712437 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899869373 4149514183>
10:21:48.712457 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149514184 3899869022>
10:21:49.389997 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899870050 4149514184>
10:21:49.390019 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149514861 3899870050>
10:21:51.445567 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899872106 4149514861>
10:21:51.445590 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149516917 3899872106>
10:21:52.102835 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 127 win 181 <nop,nop,timestamp 4149517575 3899872106>
10:21:52.103830 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899872765 4149517575>
10:21:52.103850 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149517576 3899872106>
10:21:55.556773 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899876218 4149517576>
10:21:55.556798 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149521029 3899876218>
10:21:58.886513 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 127 win 181 <nop,nop,timestamp 4149524359 3899876218>
10:21:58.887477 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899879549 4149524359>
10:21:58.887500 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149524360 3899876218>
10:22:03.780137 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899884442 4149524360>
10:22:03.780169 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149529254 3899884442>
10:22:12.451862 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 127 win 181 <nop,nop,timestamp 4149537927 3899884442>
10:22:12.452889 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899893116 4149537927>
10:22:12.452908 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149537928 3899884442>
10:22:20.225750 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899900890 4149537928>
10:22:20.225777 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149545702 3899900890>
10:22:39.583573 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 127 win 181 <nop,nop,timestamp 4149565063 3899900890>
10:22:39.584653 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899920252 4149565063>
10:22:39.584674 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149565064 3899900890>
10:22:53.117234 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899933786 4149565064>
10:22:53.117260 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149578598 3899933786>
10:23:33.847981 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 127 win 181 <nop,nop,timestamp 4149619335 3899933786>
10:23:33.849068 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3899974524 4149619335>
10:23:33.849090 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149619336 3899933786>
10:23:58.899834 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3899999578 4149619336>
10:23:58.899867 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149644391 3899999578>
10:25:22.374804 IP jk2.ftp > 15.44.6.60.54314: P 314:323(9) ack 127 win 181 <nop,nop,timestamp 4149727879 3899999578>
10:25:22.375837 IP 15.44.6.60.54314 > jk2.ftp: . ack 314 win 1460 <nop,nop,timestamp 3900083065 4149727879>
10:25:22.375858 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149727880 3899999578>
10:25:58.884507 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3900119578 4149727880>
10:25:58.884536 IP jk2.ftp > 15.44.6.60.54314: . ack 127 win 181 <nop,nop,timestamp 4149764394 3900119578>
10:26:47.848569 IP jk2.ftp > 15.44.6.60.54314: FP 323:403(80) ack 127 win 181 <nop,nop,timestamp 4149813365 3900119578>
10:27:58.868211 IP 15.44.6.60.54314 > jk2.ftp: P 126:127(1) ack 314 win 1460 <nop,nop,timestamp 3900239578 4149764394>
10:27:58.868255 IP jk2.ftp > 15.44.6.60.54314: R 1166716213:1166716213(0) win 0


查看连接信息:
[cy01@JK2 ~]$ netstat -an |grep tcp
tcp        0      0 192.168.50.8:9966           0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:113                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:881                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:23                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.1.68:64177          192.168.1.20:7364           ESTABLISHED
tcp        0      0 192.168.50.8:2100           192.168.50.148:54010        ESTABLISHED
tcp        0     75 192.168.50.8:21             15.44.6.60:54314            ESTABLISHED

连接很正常.

ftp error.JPG (43.29 KB, 下载次数: 48)

ftp error.JPG

作者: wushanyink    时间: 2009-10-12 11:00
原帖由 hyagami 于 2009-10-10 20:02 发表
A机用sftp可以正常连到C机?难道A机ftp出问题了

你找台机器配置A机的IP地址信息ftp到C机看看,如果确定没问题就要抓A机ftp时的包分析了


A机时JS银行那边的机器,要是我们这边的就好查了..
他们这台机也是业务机,在没有确定问题之前,我也不能随便让他们拔网线或者重启的..
作者: renwd    时间: 2009-10-12 12:47
我也遇到过类似问题,以下是我的处理过程
http://blog.chinaunix.net/u/24215/showart.php?id=2065953
作者: ssffzz1    时间: 2009-10-12 18:51
LS的看过了。相当不错。

建议LZ试试了。不过也反映了NAT设备对FTP的处理的确存在不兼容的问题。

不过LZ或许也可以试试SFTP,这个只用22端口。不过牵扯的不是自己的设备,估计难度比较大。
作者: lz_yq    时间: 2009-10-13 02:33
http://bbs3.chinaunix.net/viewth ... age%3D1#pid11335561
作者: prodou    时间: 2009-10-13 08:34
看看对方的防火墙上有没有类似fixup protocol ftp 21 这样的语句或者作用差不多的语句
作者: anwll    时间: 2009-10-13 15:38
看看A机本身的FTP设置,他的TIMEOUT时间是多长?
作者: hsqsoft    时间: 2009-10-14 07:23
标题: 回复 #1 wushanyink 的帖子

作者: wushanyink    时间: 2009-10-14 08:49
不好意思,这2天有点忙,感谢大家的热情帮助.问题已经解决了.
由于JS银行那边FTP 接口机采用的是port模式(主动),使用手动方式ftp无法登陆.由于JS银行那边采用的是程序自动实现,所以,具体的FTP方式也无从得知,让他们给出具体的连接命令也没给.其实从10月9号国庆过来上班后已经正常了,只是我和JS银行那边一直纠缠在手动FTP无法实现登陆这个问题上.
其实,本来防火墙的策略和网络上是没有什么问题的.

1、PORT(主动)方式的连接过程是:
1)     客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
2)     当需要传送数据时,服务器从20端口向客户端的空闲端口发送连接请求,建立一条数据链路来传送数据。
2、PASV(被动)方式的连接过程是:
1)  客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
2)  当需要传送数据时,客户端向服务器的空闲端口发送连接请求,建立一条数据链路来传送数据。

虽然FTP采用主动模式是正常的,不过还是有一点疑问.
JS银行那边手动运行FTP,采用被动模式就会报错,关闭被动模式也报错.他们给出的意见是我们的FTP服务器不支持被动模式,但在BOSS这一侧,使用其他机器手动FTP 50.8,使用被动模式却很正常.

[ 本帖最后由 wushanyink 于 2009-10-14 08:54 编辑 ]
作者: wushanyink    时间: 2009-10-14 08:50
原帖由 ssffzz1 于 2009-10-12 18:51 发表
LS的看过了。相当不错。

建议LZ试试了。不过也反映了NAT设备对FTP的处理的确存在不兼容的问题。

不过LZ或许也可以试试SFTP,这个只用22端口。不过牵扯的不是自己的设备,估计难度比较大。


sftp手动方式登录的话,是很正常的,呵呵.
作者: ssffzz1    时间: 2009-10-14 12:55
也感觉比较奇怪。唉,用空帮你测一把吧。
作者: ssffzz1    时间: 2009-10-14 15:18
刚刚测了一把。

发现和设备关系较大,测了几个设备结果不完全一致。
如果要切实确定需要现场操作。还是算了吧。
作者: lasama    时间: 2009-10-19 14:43
FTP的主动模式和被动模式在防火墙上的映射也困扰了我一段时间,最后差不多花了2星期,才最终弄好
作者: jdknet    时间: 2010-01-06 12:36
我这段时间也在调网络设备,10几套业务系统的防火墙……  遇到网络问题就抓包,wireshark一目了然,看看有没有收到包,再看看收到后发送的包……  基本上能找到问题所在了
作者: solobaba    时间: 2010-01-07 13:11
换个机器···




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2