I am using pyftpdlib
as a python ftp server and filezilla as a client: some of my colleagues can't upload any files while I have absolutely no issues.
I checked filezilla debug logs and found one weird behavior I don't understand
Command: PASV
Trace: CFtpControlSocket::OnReceive()
Response: 227 Entering passive mode (185,125,25,44,207,87).
Trace: CFtpRawTransferOpData::ParseResponse() in state 2
Trace: CControlSocket::SendNextCommand()
Trace: CFtpRawTransferOpData::Send() in state 4
Trace: Binding data connection source IP to control connection source IP 10.8.8.15
10.8.8.15
is my vpn address: is it normal I get my vpn ip in this part of the logs ?
stranger, when a colleague can't upload to the ftp, he gets
Command: PASV
Trace: CFtpControlSocket::OnReceive()
Response: 227 Entering passive mode (185,125,25,44,207,87).
Trace: CFtpRawTransferOpData::ParseResponse() in state 2
Trace: CControlSocket::SendNextCommand()
Trace: CFtpRawTransferOpData::Send() in state 4
Trace: Binding data connection source IP to control connection source IP 127.0.0.1
It seems weird to me that filezilla binds data connection to 127.0.0.1 and this I think it explains why upload fails.
How comes this behavior occurs ?
Furthermore: I don't understand from where the problem comes from: is it a client/server/network issue ?
FYI: the only config directives I edited on pyftpdlib are :
permit_foreign_addresses: True
use_sendfile: False
ac_in_buffer_size: 1000000
ac_out_buffer_size: 500000
EDIT: When using WinSCP
, the behavior seems more consistent
. 2021-06-11 09:02:52.363 Début de l'envoi de C:\Users\pouet\Downloads\181015_13_Venice Beach Drone_11.mp4
> 2021-06-11 09:02:52.363 TYPE I
< 2021-06-11 09:02:52.377 200 Type set to: Binary.
> 2021-06-11 09:02:52.377 PASV
< 2021-06-11 09:02:52.393 227 Entering passive mode (185,125,25,44,250,39).
> 2021-06-11 09:02:52.393 STOR 181015_13_Venice Beach Drone_11.mp4
. 2021-06-11 09:02:52.393 Connexion à 185.125.25.44:64039...
. 2021-06-11 09:02:52.408 Data connection opened
< 2021-06-11 09:02:52.408 150 File status okay. About to open data connection.
you can see that the client tries to connect to the right ip/port, when filezilla behaves a little different (connects to my network iface ??)
Commande : TYPE I
Suivi : CFtpControlSocket::OnReceive()
Réponse : 200 Type set to: Binary.
Suivi : CFtpRawTransferOpData::ParseResponse() in state 1
Suivi : CControlSocket::SendNextCommand()
Suivi : CFtpRawTransferOpData::Send() in state 2
Commande : PASV
Suivi : CFtpControlSocket::OnReceive()
Réponse : 227 Entering passive mode (185,125,25,44,211,253).
Suivi : CFtpRawTransferOpData::ParseResponse() in state 2
Suivi : CControlSocket::SendNextCommand()
Suivi : CFtpRawTransferOpData::Send() in state 4
Suivi : Binding data connection source IP to control connection source IP 192.168.1.66
Commande : STOR 181015_13_Venice Beach Drone_11.mp4
Suivi : CTransferSocket::OnConnect
Suivi : First EAGAIN in CTransferSocket::OnSend()
Suivi : CFtpControlSocket::OnReceive()
Réponse : 150 File status okay. About to open data connection.
Suivi : CFtpRawTransferOpData::ParseResponse() in state 4
Suivi : CControlSocket::SendNextCommand()
Suivi : CFtpRawTransferOpData::Send() in state 5
Suivi : Made progress in CTransferSocket::OnSend()
EDIT2:
Logs attached :