注册 登录
编程论坛 VB6论坛

vb inet无法通过vpn下载ftp文件

w360989426 发布于 2015-05-17 14:33, 3122 次点击
vb inet控件在内网可以通过ftp下载,但是公网链接vpn后,无法下载,ftp可以登录,且可以手动将文件复制下来,但vpn链接后inet控件无法下载。甚是不解。还望遇到过此类问题的大师给予指点。。。。。。。。。。。。

特点:ftp://192.168.0.109/ 这个端口inet是可以通过公网vpn连接内网下载,在局域网中也可以下载上传ftp文件,可手动登陆复制文件,上传文件
           ftp://192.168.0.109:99/这个端口inet 不可以通过公网vpn连接内网下载,但在局域网中是可以下载上传ftp文件的,可手动登陆复制文件,上传文件

这是为什么。。。求大神指导。。。。。。。
35 回复
#2
lianyicq2015-05-18 09:36
没这样用过
确认inet已经和VPN服务器连接。
能不能把inet控件的属性设置贴上来看看
#3
w3609894262015-05-19 16:16
回复 2楼 lianyicq
Dim str1 As String
    str1 = Adodc2.Recordset.Fields("id_图片") & "." & Adodc2.Recordset.Fields("图片格式")
    Call 自动检查文件夹
    Inet1.URL = "ftp://192.168.0.109:99/"
    Inet1.Protocol = icFTP
    Inet1.UserName = "admin"
    Inet1.Password = "wuyachao99"
     'Inet1.Execute "", "get  /图片/订单原始文件/" & str1 & "  c:\临时文件夹\" & str1 & ""
    Inet1.Execute , "get " & Chr(34) & "/图片/订单原始文件/" & str1 & Chr(34) & "  " & Chr(34) & "c:\临时文件夹\" & str1 & Chr(34)

    Label3.Caption = "正在下载原始文件,请稍候……"

    Frame5.Visible = True
   
   
   
line1:
    Do While Inet1.StillExecuting
        DoEvents: DoEvents: DoEvents: DoEvents
        GoTo line1
    Loop
   
    Frame5.Visible = False

    Inet1.Execute , "QUIT"
    str1 = "c:\临时文件夹\" & str1
    ShellExecute Me.hwnd, "open", str1, str1, vbNull, 3
#4
w3609894262015-05-19 16:17
回复 2楼 lianyicq
这个端口和那个端口写法一模一样,但是不知道为什么不行??
#5
lianyicq2015-05-19 19:03
回复 4楼 w360989426
看代码FTP服务器的21端口改了?如果是主动模式,估计20端口也改了。
感觉是客户端防火墙造成的,能不能关了防火墙试试。
防火墙可能对内网和外网设定了不同的规则。
如果VPN模式下用FTP命令能操作,是不是FTP对防火墙来说是信任安全的。
#6
w3609894262015-05-20 09:37
回复 5楼 lianyicq
客户端没装防火墙啊。。。。
#7
lianyicq2015-05-20 09:41
windows防火墙都没有?
#8
w3609894262015-05-20 10:14
回复 7楼 lianyicq
windows防火墙是关闭着的
#9
lianyicq2015-05-21 09:31
回复 8楼 w360989426
本地局域网下用INET没问题,VPN下用FTP没问题,好象只能得到端口受限的结论。VPN下用INET时,FTP服务器有没有活动记录呢?FTP两种模式下必须的端口开放应该知道吧。
肯定VPN下不用INET文件共享也没问题吧。
另外一个不确定,客户端是不是在路由器之后,能不能直连公网或INET加代理属性试试。

[ 本帖最后由 lianyicq 于 2015-5-21 09:41 编辑 ]
#10
风吹过b2015-05-21 11:29
抓包分析端口和返回的端口吧。感觉就是端口的问题,感觉客户端发出的数据包vpn处理好发,反之就感觉不正常。
没用过 VPN
#11
w3609894262015-05-21 17:07
回复 10楼 风吹过b
求教如何抓包。。。。。
#12
w3609894262015-05-21 17:07
回复 9楼 lianyicq
请问大神具体怎么弄?
#13
wmf20142015-05-21 17:11
应该是通向公网的路由屏蔽了99端口
#14
w3609894262015-05-21 17:16
以下是引用wmf2014在2015-5-21 17:11:19的发言:

应该是通向公网的路由屏蔽了99端口

那意思是开启这个端口就好了咯。。。我来试试
#15
w3609894262015-05-21 20:34
回复 13楼 wmf2014
不会啊。。。。如何屏蔽了99端口,那手动的登录ftp:99这个端口应该也登录不了啊。。。。。现在就是可以手动登录,不可以通过inet登录啊
#16
wmf20142015-05-21 21:32
回复 15楼 w360989426
你不是说只在局域网里端口99可上传下载并手动吗?局域网里的路由都是自由的,可能到外网时路由器就把端口关闭了。
#17
w3609894262015-05-21 23:02
回复 16楼 wmf2014
不是的哦。。。外网vpn连接也是可以的,只有手动登录下载复制上传,但是通过inet就不行。。。所以很有疑问啊
#18
w3609894262015-05-21 23:03
回复 16楼 wmf2014
局域网,外网都是可以手动上传下载
局域网inet上传下载行
外网inet上传下载不行
#19
w3609894262015-05-22 11:56
回复 7楼 lianyicq
#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2015-05-22 00:29:06
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status
03:39:13 192.168.0.200 [1112]sent /图片/订单原始文件/9598.tif 226 0
03:39:46 192.168.0.200 [1113]USER admin 331 0
03:39:46 192.168.0.200 [1113]PASS - 230 0
03:39:46 192.168.0.200 [1113]sent /图片/订单原始文件/9534.jpg 226 0
03:40:31 192.168.0.200 [1114]USER admin 331 0
03:40:31 192.168.0.200 [1114]PASS - 230 0
03:40:31 192.168.0.200 [1114]sent /图片/订单原始文件/9654.pdf 226 0
03:41:00 192.168.0.200 [1115]USER admin 331 0
03:41:00 192.168.0.200 [1115]PASS - 230 0
03:41:00 192.168.0.200 [1115]sent /图片/订单原始文件/9649.tif 226 0
03:41:40 192.168.0.200 [1116]USER admin 331 0
03:41:40 192.168.0.200 [1116]PASS - 230 0
03:41:40 192.168.0.200 [1116]sent /图片/订单原始文件/9655.rtf 226 0
03:42:01 192.168.0.200 [1117]USER admin 331 0
03:42:01 192.168.0.200 [1117]PASS - 230 0
03:42:01 192.168.0.200 [1117]sent /图片/订单原始文件/9622.tif 226 0
03:42:06 192.168.0.200 [1118]USER admin 331 0
03:42:06 192.168.0.200 [1118]PASS - 230 0
03:42:06 192.168.0.200 [1118]sent /图片/订单原始文件/9622.tif 226 0
03:43:27 192.168.0.200 [1119]USER admin 331 0
03:43:27 192.168.0.200 [1119]PASS - 230 0
03:43:27 192.168.0.200 [1119]sent /图片/订单原始文件/9547.pdf 226 0
03:51:22 192.168.0.1 [1120]USER admin 331 0
03:51:22 192.168.0.1 [1120]PASS - 230 0
03:51:34 192.168.0.1 [1121]USER admin 331 0
03:51:34 192.168.0.1 [1121]PASS - 230 0
03:51:53 192.168.0.1 [1122]USER admin 331 0


这是一份ftp的登录记录,从外网用ftp连接的话,这上面显示直接是从192.168.0.1这个网关登录的,看到了,明明操作了没有sent的记录是啥原因啊。。是不是和这个有关系?
#20
lianyicq2015-05-22 12:00
192.168.0.200相关的是手动用ftp时的记录,192.168.0.1相关的是inet的记录?
#21
w3609894262015-05-22 12:51
回复 20楼 lianyicq
=================================================inet登录
03:59:50 192.168.0.1 [1135]USER admin 331 0
03:59:50 192.168.0.1 [1135]PASS - 230 0
04:00:09 192.168.0.1 [1136]USER admin 331 0
04:00:09 192.168.0.1 [1136]PASS - 230 0
04:41:44 192.168.0.1 [1143]USER anonymous 331 0
04:41:44 192.168.0.1 [1143]PASS User@ 530 1326
04:41:44 192.168.0.1 [1144]USER admin 331 0
04:41:44 192.168.0.1 [1144]PASS - 230 0
==================================================手动登录
04:42:14 192.168.0.1 [1145]USER admin 331 0
04:42:14 192.168.0.1 [1145]PASS - 230 0
04:42:28 192.168.0.1 [1145]CWD / 250 0
04:42:58 192.168.0.1 [1145]CWD /图片 250 0
04:42:58 192.168.0.1 [1145]CWD /图片/报价文件 250 0
04:42:59 192.168.0.1 [1145]CWD /图片/报价文件 250 0
04:42:59 192.168.0.1 [1145]CWD /图片/报价文件 250 0
04:43:00 192.168.0.1 [1145]sent /图片/报价文件/4.tif 426 64
04:43:00 192.168.0.1 [1145]CWD /图片/报价文件 250 0
04:43:05 192.168.0.1 [1145]CWD /图片/报价文件 250 0
04:43:07 192.168.0.1 [1145]sent /图片/报价文件/1.xlsx 226 0
大神帮忙看看啊
#22
lianyicq2015-05-22 13:00
看活动记录,第一个用户名和密码INET已经登录了,能不能执行FTP的其命令,比如dir
#23
w3609894262015-05-22 13:03
回复 10楼 风吹过b
不能执行其它的命令,。。。。
#24
w3609894262015-05-22 13:04
回复 22楼 lianyicq
这实在是奇怪啊。。按照这个看。。路由器应该没有封掉99端口啊
#25
lianyicq2015-05-22 13:05
今,明两天上不了网。有时间再帮你想想
如果能用VPN,直接共享
#26
w3609894262015-05-22 13:06
回复 25楼 lianyicq
谢谢拉。。我被这个问题搞了1个多月了。。。麻烦了
#27
w3609894262015-05-22 17:05
回复 25楼 lianyicq
2.两种模式的比较

     从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

    主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

    被动模式只需要服务器端开放端口给客户端连接就行了。

    3.不同工作模式的网络设置

    我在实际项目中碰到的问题是,FTP的客户端和服务器分别在不同网络,两个网络之间有至少4层的防火墙,服务器端只开放了21端口, 客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。

    由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是,在ftp服务器配置被动模式下开放随机端口在 50000-60000之间(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端50000-60000之间的端口端。

    主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段。


    4.如何设置 工作模式?

    哈哈,有人可能会问FTP服务器如何设置工作模式?实时上FTP服务器一般都支持主动和被动模式,连接采用何种模式是有FTP客户端软件决定。


是不是主动模式和被动模式的原因?那问题来了如何设置另外一种模式
#28
wmf20142015-05-22 17:17
没有主动被动模式一说。
tcp/ip的连接就是服务器在某一端口listen,由客户端发起连接请求,是否通过并建立连接的主动权在服务器方。你这个如果手动通过网页建立ftp连接成功,而inet控件不成功,可能要检查inet设置,另外如果网速不给力也会造成连接失败。
#29
w3609894262015-05-22 21:42
回复 28楼 wmf2014
没有。。不是设置问题。。。我inet控件vpn下载ftp:\192.168.0.109\这个地址下的是可以的。。这个地址默认的端口是21,不存在这个问题。。。但99这个端口就存在这个问题这是为什么
#30
w3609894262015-05-22 22:11
回复 28楼 wmf2014
Private Sub cmdUpFolder_Click()
    'If the itc is ready then move up one directory and refresh the remote files list
    If ITCReady(True) Then
        ITC.Execute , "CDUP"

        Do Until ITCReady(False)
            DoEvents: DoEvents: DoEvents: DoEvents
        Loop
        lstRemoteFile.Clear
        ITC.Execute , "DIR"
        lblStatus = "Connected"

    End If
End Sub
在vpn下连接上执行代码。。。。
等待一段时间出现这个错误
只有本站会员才能查看附件,请 登录
#31
w3609894262015-05-22 22:47
回复 28楼 wmf2014
外网通过vpn用cuteftp这个软件访问ftp:\\192.168.0.109:99是可以的,也可以下载上传。。。。是不是很奇怪。。为什么inet控件不行?是不是代理设置的问题
#32
w3609894262015-05-25 16:06
我还没有结贴。。。怎么自动结贴了??
#33
lianyicq2015-05-25 16:48
回复 27楼 w360989426
CMD下FTP命令缺省也是主动模式,显然FTP服务器是运行在主动模式下的。FTP服务器设置看来没有问题。主动模式下要求客户端的高位端口开放,我还是认为在开发环境下运行的程序,服务器在连接高位端口时被阻止。
查了INET控件的一些介绍,MSDN上没看到,但其它地方指出不能工作在被动模式下,如果需要被动模式只能用其它办法代替,比如第三方控件或API。
找了一个API的例子,附件中,你看看能不能行
只有本站会员才能查看附件,请 登录
#34
w3609894262015-05-25 17:23
以下是引用lianyicq在2015-5-25 16:48:04的发言:

CMD下FTP命令缺省也是主动模式,显然FTP服务器是运行在主动模式下的。FTP服务器设置看来没有问题。主动模式下要求客户端的高位端口开放,我还是认为在开发环境下运行的程序,服务器在连接高位端口时被阻止。
查了INET控件的一些介绍,MSDN上没看到,但其它地方指出不能工作在被动模式下,如果需要被动模式只能用其它办法代替,比如第三方控件或API。
找了一个API的例子,附件中,你看看能不能行

哎。。。看来是控件本身的原因啊。。。。算了。。我把端口全部改成21了。。。。
#35
w3609894262015-05-25 17:25
回复 33楼 lianyicq
还是谢谢你了啊。。。废了这么大的周折。。
#36
wmf20142015-05-25 17:48
ftp还真让服务器反过来连接客户端啊,我out了。
1