Python 如何在ftplib中捕获块级操作?

Python 如何在ftplib中捕获块级操作?,python,ftp,ftplib,Python,Ftp,Ftplib,我们都知道ftp以块大小传输上传和下载文件。我正在用python编写一个脚本,以了解哪个块大小会增加内部网络的吞吐量。超时的块数,需要重新发送的块数,等等。在我尝试的ftplib中 ftp.set_debuglevel(2) 但是,这不会捕获块级操作,只记录了更高级别的文件传输操作。如何在ftplib或ftp中捕获块级操作 这是我试过的代码 from ftplib import FTP ftp = FTP('server.name') ftp.login() ftp.set_debugleve

我们都知道ftp以块大小传输上传和下载文件。我正在用python编写一个脚本,以了解哪个块大小会增加内部网络的吞吐量。超时的块数,需要重新发送的块数,等等。在我尝试的ftplib中

ftp.set_debuglevel(2)
但是,这不会捕获块级操作,只记录了更高级别的文件传输操作。如何在ftplib或ftp中捕获块级操作

这是我试过的代码

from ftplib import FTP
ftp = FTP('server.name')
ftp.login()
ftp.set_debuglevel(2)
ftp.cwd('/path/')
ftp.retrbinary('RETR file.zip', open('file.zip', 'wb').write)
ftp.quit()

更新:也添加wireshark标记,如果可以用于此目的。

,问题应该有帮助;还可以查看@Ben谢谢中的storbinary。但是,它不会捕获我要查找的超时块数、需要重新发送的块数等必要的细节,因为它只在正确且完整地接收到块时调用“回调”函数。我正在寻找的可能不可能与ftplib提供的更高级别的功能。这就是为什么我添加了wireshark标记来捕获数据包级别的过滤信息。