Сбой FTP-передачи с ошибкой 426

532
user630729

У меня есть сервер vsftpd, работающий на хосте RedHat, и приложение, которое использует FTP для передачи файлов на сервер и с него.

Некоторые передачи выполняются без проблем, но для некоторых файлов происходит сбой с ошибкой 426. Я попытался перенести файлы с помощью FileZilla вместо другого приложения (те же файлы, тот же клиентский компьютер, тот же пункт назначения, тот же пользователь), и это работает.

У меня нет контроля над клиентским приложением, поэтому я использовал WireShark, чтобы попытаться понять, что происходит.

No. Time Source Destination Protocol Length Info 59945 53.762728 [client ip] [ftp server] FTP 71 Request: RETR Batch.func 59950 53.763219 [ftp server] [client ip] TCP 74 20→52604 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=2261468899 TSecr=0 WS=128 59951 53.763284 [client ip] [ftp server] TCP 74 52604→20 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1 TSval=54157713 TSecr=2261468899 59957 53.763868 [ftp server] [client ip] TCP 66 20→52604 [ACK] Seq=1 Ack=1 Win=29312 Len=0 TSval=2261468900 TSecr=54157713 59958 53.763868 [ftp server] [client ip] FTP 126 Response: 150 Opening BINARY mode data connection for Batch.func (305415 bytes). 59959 53.763904 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59960 53.763936 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59961 53.763951 [client ip] [ftp server] TCP 66 52604→20 [ACK] Seq=1 Ack=2897 Win=131584 Len=0 TSval=54157713 TSecr=2261468900 59963 53.764080 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59964 53.764208 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59965 53.764230 [client ip] [ftp server] TCP 66 52604→20 [ACK] Seq=1 Ack=5793 Win=131584 Len=0 TSval=54157713 TSecr=2261468900 59966 53.764354 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59967 53.764492 [ftp server] [client ip] FTP-DATA 1018 FTP Data: 952 bytes 59968 53.764494 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59969 53.764516 [client ip] [ftp server] TCP 66 52604→20 [ACK] Seq=1 Ack=9641 Win=131584 Len=0 TSval=54157713 TSecr=2261468900 59970 53.764524 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59971 53.764526 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59972 53.764527 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59973 53.764541 [client ip] [ftp server] TCP 66 52604→20 [ACK] Seq=1 Ack=13985 Win=131584 Len=0 TSval=54157713 TSecr=2261468900 59977 53.764651 [client ip] [ftp server] TCP 66 52604→20 [FIN, ACK] Seq=1 Ack=13985 Win=131584 Len=0 TSval=54157713 TSecr=2261468900 59978 53.764705 [client ip] [ftp server] TCP 54 52604→20 [RST, ACK] Seq=2 Ack=13985 Win=0 Len=0 59980 53.764720 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59981 53.764734 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59982 53.764752 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59983 53.764760 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59984 53.764766 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59985 53.764774 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59986 53.764780 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59987 53.764788 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59988 53.764795 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59989 53.764802 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59991 53.764985 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59992 53.764987 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59993 53.765008 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59994 53.765015 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59995 53.765157 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59996 53.765173 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59997 53.765186 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 59998 53.765194 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 59999 53.765200 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 60000 53.765212 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 60001 53.765225 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 60002 53.765227 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 60003 53.765228 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 60004 53.765229 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 60005 53.765238 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 60006 53.765244 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 60007 53.765250 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 60008 53.765255 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 60009 53.765261 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 60010 53.765269 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 60015 53.765465 [ftp server] [client ip] FTP-DATA 1514 FTP Data: 1448 bytes 60016 53.765476 [client ip] [ftp server] TCP 54 52604→20 [RST] Seq=1 Win=0 Len=0 60017 53.765484 [ftp server] [client ip] FTP 91 Response: 426 Failure writing network stream. 60018 53.765504 [client ip] [ftp server] TCP 54 52602→21 [ACK] Seq=292 Ack=531 Win=130816 Len=0 60030 53.768012 [client ip] [ftp server] FTP 60 Request: QUIT 60036 53.768691 [ftp server] [client ip] FTP 68 Response: 221 Goodbye. 60037 53.768692 [ftp server] [client ip] TCP 60 21→52602 [FIN, ACK] Seq=545 Ack=298 Win=29312 Len=0 60038 53.768732 [client ip] [ftp server] TCP 54 52602→21 [ACK] Seq=298 Ack=546 Win=130816 Len=0 60042 53.768875 [client ip] [ftp server] TCP 54 52602→21 [FIN, ACK] Seq=298 Ack=546 Win=130816 Len=0 60045 53.769297 [ftp server] [client ip] TCP 60 21→52602 [ACK] Seq=546 Ack=299 Win=29312 Len=0 

Очевидно сервер начинает отправлять данные клиенту, но после нескольких пакетов клиент заканчивает передачу.

Есть ли какие-то настройки в vsftp, которые я мог бы изменить, чтобы это исправить?

Благодарю.

Журнал FileZilla для той же передачи файлов:

2017-09-29 08:22:15 9980 3 Command: TYPE I 2017-09-29 08:22:15 9980 3 Response: 200 Switching to Binary mode. 2017-09-29 08:22:15 9980 3 Command: PASV 2017-09-29 08:22:15 9980 3 Response: 227 Entering Passive Mode (172,16,10,192,218,176). 2017-09-29 08:22:15 9980 3 Command: RETR Batch.func 2017-09-29 08:22:15 9980 3 Response: 150 Opening BINARY mode data connection for Batch.func (305415 bytes). 2017-09-29 08:22:15 9980 3 Response: 226 Transfer complete. 2017-09-29 08:22:15 9980 3 Status: File transfer successful, transferred 305,415 bytes in 1 second 
0
Покажите нам файл журнала FileZilla и, если он у вас есть, файл журнала приложения. Martin Prikryl 6 лет назад 0
Все, что у меня есть в журнале приложения, это: Ошибка при выполнении команды FTP. Ошибка FTP: 426 Ошибка записи сетевого потока. Я добавил журналы FileZilla к своему вопросу. user630729 6 лет назад 0
возможно что-то с ascii vs бинарный режим передачи? https://stackoverflow.com/questions/6155905/in-what-situation-should-i-use-ascii-to-transfer-a-file-over-ftp-im-not-askin chloesoe 6 лет назад 0
@chloesoe Почему? Как бы режим передачи вызвал такого рода проблемы. Я считаю это маловероятным. Это скорее об активном / пассивном режиме. Или неверная настройка пассивного режима FTP-сервера. Martin Prikryl 6 лет назад 0
@Martin Prikyl; Это было дикое предположение, у меня было странное поведение в моем с режимом передачи. Если у меня проблема с FTP, я всегда думаю о таких проблемах. chloesoe 6 лет назад 0
@MartinPrikryl Я уже отправил журналы WireShark для приложения в моем вопросе. user630729 6 лет назад 0

0 ответов на вопрос

Похожие вопросы