я вот читаю переписку, никак в толк не возьму, какое отношение имеет SYN,ACK,FIN к конкретному протоколу FTP. Это касается любых пакетов передаваемых по Ethernet в плк, возможно это чем то поможет
я вот читаю переписку, никак в толк не возьму, какое отношение имеет SYN,ACK,FIN к конкретному протоколу FTP. Это касается любых пакетов передаваемых по Ethernet в плк, возможно это чем то поможет
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Как же без ACK? пакет №6321 - ACK от ПЛК, затем фтп шлет FIN,PSH,ACK.
SysSockShutdown делаю, после нескольких секунд без изменения буфера (как в бибке oscat.de по умолчанию)
SysSockRecv постоянно повторяется и смотрю буфер - приходят только первые 536 байт на прошивке 2.17. На остальных прошивках приходят все байты, кроме последнего пакета. На всех прошивках программа в ПЛК не меняется, фтп сервер тот же. А от прошивки зависит приходящее число байт.
То есть на прошивке 2.17 появился ответ ACK, которого не было на прошлых прошивках, но такое ощущение, что теперь PSH перестал работать, то есть не пробрасывает данные в клиентское приложение.
Последний раз редактировалось Атаман; 15.05.2017 в 14:57.
Все серверы фтп, которые я пробовал, последнюю порцию данных пересылают одновременно с флагом FIN в пакете, как пишут в интернетах для ускорения обмена. И этот пакет не приходил. Эмуляция фтп сервера с помощью программы Hercules показала, что без передачи данных вместе с пакетом FIN - всё приходит полностью. Это было до прошивки 2.17. На прошивке 2.17 наоборот приходит только первый пакет.
Последний раз редактировалось Атаман; 15.05.2017 в 14:57.
вот лабораторная, расписывается нечто подобное. На Вашем последнем скрине концовка вроде верная, за исключением что 46.50 посылает разрыв соединения, так может дело в пользовательском коде
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
потому что они оба перед этим подтвердили бит FIN, но не их задача знать закрыл пользователь сокет или нет
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Во первых хотелось бы увидеть проект и ПО для эмуляции, к-е Вы используете. Чтобы повторить у нас.
Разница между 2.14 и 2.17 - MTU увеличили.
Малые пакеты проходят?
Тролль-наседка, добрый, нежный и ласковый
ftp сервер: https://filezilla-project.org/download.php?type=server или ftp server в windows 8.1.
ftp клиент во вложении.
Также эмулировал работу ftp server через hercules: http://www.hw-group.com/products/hercules/index_en.html
C ним проходили любые пакеты и маленькие и большие на прошивке 2.14, лог в первом посте. У Hercules не было пакетов с 3мя флагами: FIN, PSH, ACK.
ни чего в этом такого нет, что разработчик пытается совершенствовать код, добавляем различную подстраховку. Про разные версии прошивки имело бы смысл упоминать, еслиб на какой то из них всё работало, а так то ведь ни на одной не принимается файл до конца, насколько я понял. Изначально моя мысль была, что фтп и тсп стоят на разных уровнях сетевой модели и прошивка ни чего не знает, по какому протоколу программист передает данные по сети, если такая проблема присутствует при передаче файла (как набора байт) с фтп-сервера, значит она бы проявила себя и при загрузке другого контента, хтмл например, иначе проблема в коде
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран