0

我正在尝试进行 python ftp 服务器和客户端连接,服务器文件在 Fedora VM 上运行(使用 VirtualBox),客户端在主机 Windows 10 上运行。服务器似乎正在运行,但客户端没有连接到服务器并在最后抛出 EOFerror。以下是代码和输出说明。

在来宾 VM Fedora 上运行的一个服务器文件

ftpserver.py

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
import socket

ip=socket.gethostbyname(socket.gethostname())
print(ip)
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/root", perm="elradfmw")
authorizer.add_anonymous("/root/pythonProgs/", perm="elradfmw")

handler =FTPHandler
handler.authorizer = authorizer

server = FTPServer((ip, 21), handler)
while True:

server.serve_forever()

在主机 Windows 10 上运行的一个客户端文件

ftpclient.py:

from ftplib import FTP
ftp = FTP()

ftp.connect("127.0.0.1",21)
ftp.login("user", "12345")
#ftp.cwd('directory_name') #replace with your directory
ftp.retrlines("LIST")

Fedora VM 上的 ifconfig 和 ftpserver 输出: Fedora VM 快照上的 ifconfig 和 ftpserver.py 输出

主机 Windows 10 上的 ftpclient.py 输出: 主机Windows 10 快照上的 ftpclient.py 输出

我也像这样为我的虚拟机 fedora完成了端口转发: port forwarding for fedora VM

这里有什么问题 ?我现在该怎么办 ?请帮忙!

4

0 回答 0