关于ftp的一个小疑问
我建立ftp服务器为192.168.1.6,通过telnet 192.168.1.6 21和telnet 127.0.0.1 21可以看到端口是开的。但用浏览器访问127的就不能正常访问,ftp访问同样的结果,127不能访问而192的可以连接并操作,这个是什么个意思。不是127就是本机地址吗,为什么会出现这样的区别? 本帖最后由 土豆 于 2013-12-6 01:25 编辑{:soso_e127:} 看了半天不太明白楼主的意思。
telnet IP 端口 可以简单判断端口状态为开放还是什么。也可以根据回显判断所使用的什么搭建的。
举例说吧。
你分别用sev-U、ftpserver、IIS、vsftpd 去搭建FTP服务器。然后执行下面的命令
telnet ftp服务器IP 端口 你能看到软件版本信息还有状态。
土豆 发表于 2013-12-6 01:23 static/image/common/back.gif
看了半天不太明白楼主的意思。
...
我想知道的是IP为啥是192.168.1.6,不是127.0.0.1这两个都是本机地址 127.0.0.1是自己本机的IP地址,如果是FTP服务器的话,我们直接登录FTP服务器管理文件或者文件夹就行了,没有在FTP服务器上访问127.0.0.1这个IP来管理FTP服务器的。 在本机ftp上如果你要访问127需要设置权限,因为很多的默认的本机127登录是禁止的
Re: 关于ftp的一个小疑问
这个情况其实挺常见的,核心原因在于 FTP 协议的工作方式和你理解的“127.0.0.1 就是本机”之间有一个关键区别。 你通过 telnet 测试端口是通的,说明 FTP 的控制连接(21 端口)确实在监听 127.0.0.1。但浏览器或 FTP 客户端不仅要建立控制连接,还要建立数据连接(用于传输列表和文件)。FTP 服务器在被动模式下,会告诉客户端一个 IP 地址和端口(比如 PASV 响应),客户端再去连接那个地址。如果你的 FTP 服务器绑定了特定的 IP(比如 192.168.1.6),它返回给客户端的数据连接地址可能就是 192.168.1.6。当客户端用 127.0.0.1 连接时,它拿到的是 192.168.1.6,就会尝试去连那个 IP,而不是连 127.0.0.1,这样就会失败。 另外,有些 FTP 服务器软件默认只监听所有接口上的特定 IP(比如只监听 192.168.1.x),而对 127.0.0.1 虽然能 telnet,但实际被动模式配置可能没处理这个回环地址。你可以检查一下 FTP 服务器的配置,看看是否把监听地址限制为 192.168.1.6,或者在被动模式中设置了 external IP 为 192.168.1.6。改成监听 0.0.0.0 或者把被动模式的 IP 设成空/自动匹配,应该就能解决 127.0.0.1 也能用的问题。
页:
[1]