Перейти к содержанию
    

Советую все зе уточнить задание, а то можно вляпаться по крупному.

Мне кажется заказчик хочет не направление файла определить, а вклиниться в поток передачи данных и анализировать эти самые данные на предмет информации, которая пробегает. Простого решения не будет, как тут сказали, возможно подсунуть свой хаб в разрыв USB, который будет прозрачно качать информацию и сливать на сторону данные. Но то что это будет недешево, тоже нужно осознавать. Вручную протокол хаба на микроконтроллере не так просто сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы отметить что ЗАКЗЧИК хочет определять направление передачи ФАЙЛА,

а не пакета.

 

Так же хотелось бы отметить, что через контроллируемый порт могут идти самые

разные пакеты. (я подключил к порту хаб и насовал в него разнообразных устройств,

клавиатуры, COM порты еще чего нибудь.)

 

Для решения этой задачи нам надо понимать, что подразумевается под файлом.

Если файл на USB FLASH то надо отдетектировать подключение такого устройства,

сесть на протокольный уровень обмена, восстановить когда будет запрос файла

(это очень не тривиальная задача, поскольку в протоколе обмена команды чтение файла нет,

а есть только чтение секторов и когда это чтение секторов есть чтение файла, а не например чтение FAT таблицы

или чтения содержимого директории) и толко при чтении файла зажечь лампочку.

 

В связи с этим вопрос,

мы ограничиваемся в работе только с устройствами типа FLASH и HDD,

причем работающие только через стандартный драйвер MSD.

 

(Если будет подключено устройство, работающее не через стандартный

драйвер я не представляю как определить чтение именно ФАЙЛА)

 

И что ЗАКАЗЧИК подразумевает под файлом.

 

Советую все зе уточнить задание, а то можно вляпаться по крупному.

 

NickS, я отвечу на вопросы по порядку, в котором Вы спрашиваете.

1. Я хочу определять направление передачи ФАЙЛА, а не пакета.

2. Под словом Файл подразумевается любой системный информативный файл, который произвел на свет пользователь и который перемещается на внешний носитель информации. Задача не ограничивается специфическим файлом. Можно добавить, что размер файла в мегабайтах должен превышать 2 мегабайта, например, чтобы было ясно, что он не пуст.

3. "мы ограничиваемся в работе только с устройствами типа FLASH и HDD" - Если я правильно понял вопрос, то ответ - Да. Я предполагаю, что через стандартный драйвер (эту информацию я проверю и уточню). Внешнее устройство, которое получает на себя информацию имеет свой внутренний жесткий диск - какой я пока не знаю, но предполагаю, что работает через стандартный драйвер.

 

Мне кажется заказчик хочет не направление файла определить, а вклиниться в поток передачи данных и анализировать эти самые данные на предмет информации, которая пробегает. Простого решения не будет, как тут сказали, возможно подсунуть свой хаб в разрыв USB, который будет прозрачно качать информацию и сливать на сторону данные. Но то что это будет недешево, тоже нужно осознавать. Вручную протокол хаба на микроконтроллере не так просто сделать.

 

baken , я бы хотел определить именно направление ПРИ ПЕРЕСЫЛКЕ ИНФОРМАТИВНОГО ФАЙЛА, созданного в операционной системе. Мне не нужно анализировать информацию. Также мне нужно получать никакой индикации при любом другом движении пакетов. Если пакеты двигаются даже в нужном мне направлении при стыковке внешнего устройства (hdd) к компьютеру, я не должен получать сигнал, так как это не то что меня интересует.

Изменено пользователем grad100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

baken , я бы хотел определить именно направление ПРИ ПЕРЕСЫЛКЕ ИНФОРМАТИВНОГО ФАЙЛА, созданного в операционной системе. Мне не нужно анализировать информацию. Также мне нужно получать никакой индикации при любом другом движении пакетов. Если пакеты двигаются даже в нужном мне направлении при стыковке внешнего устройства (hdd) к компьютеру, я не должен получать сигнал, так как это не то что меня интересует.

Такое впечатления, что начальнику охраны поручили охранять не только движимое добро фирмы, но и файлы, созданные на рабочем месте. Причем приносить можно, а вот выносить нет.

:biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

baken , я бы хотел определить именно направление ПРИ ПЕРЕСЫЛКЕ ИНФОРМАТИВНОГО ФАЙЛА, созданного в операционной системе. Мне не нужно анализировать информацию. Также мне нужно получать никакой индикации при любом другом движении пакетов. Если пакеты двигаются даже в нужном мне направлении при стыковке внешнего устройства (hdd) к компьютеру, я не должен получать сигнал, так как это не то что меня интересует.

 

Да а как Вы определите направление движения файла при работе с флешкой. Почитайте стандарт Mass storage. Флешка общается с виндой при помощи блоков по 512 байт, разобраться что происходит на самом деле, чтение, запись или удаление, можно только если пропускать все пакеты через себя, распатронивать каждый, и смотреть какая там команда Read или Write. Но даже это не гарантирует результата, так как винда может копаться в каталоге флешки, а выглядеть это будет как запись в нее, а может винда просто сняла флаг чтения. На практике это означает выброс 32 блоков по 512 байт от винды во флешку. Никто там по одному биту не пишет. И даже по 512 не пишет. А сразу по 4К, для FAT32, а каталог может состоять из 32 секторов по 4К, и все ради одного бита. И как определить направление файлов, если не пропускать это все через себя и не анализировать каждый пакет?

Ну а если мы анализируем информацию и строим у себя копию FAT чтобы понять, что там происходит, тут до чтения самой информации шажок. Это как ракеты в Чехии. Никто нападать не собирается, но базу строит:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поддерживаю baken-а, без анализа полностью потока данных, вы не получите тот результат, который описали, то что Вам предлагают сделать на МК аппаратно, то слегка парни не в теме, и т.к. выходит очень нетривиальное решение и непонятно зачем, напишите все же для чего нужна такая ерундовина со светодиодом, т.к. позможно есть более простые решения того зачем Вы это хотите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такое впечатления, что начальнику охраны поручили охранять не только движимое добро фирмы, но и файлы, созданные на рабочем месте. Причем приносить можно, а вот выносить нет.

 

rtfcnf , низко берете :biggrin:

В Большом адронном коллайдере работает протонный синхротрон и протонный суперсинхротрон , создают протоны. БАК повышает энергию протонов еще в 16 раз и сталкивает их между собой 30 млн раз в секунду. Четыре главных детектора производят в секунду более чем 100 терабайт данных. Так вот, 7 тысяч сверхпроводящих магнитов направляют пучки протонов по кольцевому туннелю, и фокусируют их до толщины волоса. Далее, переход в компактный мюонный соленоид на котором ведется поиск частиц типа бозонов Хиггса. Установка содержит пять огромных цилиндрических слоев детекторов и концевые крышки. Такой детектор предназначен для поиска определенных кварков и антикварков, чтобы понять, чем обусловлено таинственное отсутствие антивещества во Вселенной.

Диски детектора регистрируют ключе­вые частицы, называемые мюонами. Вот здесь нам нужно знать, что запись при регистрации - ПРОИЗОШЛА! :smile3046:

 

Да а как Вы определите направление движения файла при работе с флешкой. Почитайте стандарт Mass storage. Флешка общается с виндой при помощи блоков по 512 байт, разобраться что происходит на самом деле, чтение, запись или удаление, можно только если пропускать все пакеты через себя, распатронивать каждый, и смотреть какая там команда Read или Write. Но даже это не гарантирует результата, так как винда может копаться в каталоге флешки, а выглядеть это будет как запись в нее, а может винда просто сняла флаг чтения. На практике это означает выброс 32 блоков по 512 байт от винды во флешку. Никто там по одному биту не пишет. И даже по 512 не пишет. А сразу по 4К, для FAT32, а каталог может состоять из 32 секторов по 4К, и все ради одного бита. И как определить направление файлов, если не пропускать это все через себя и не анализировать каждый пакет?

Ну а если мы анализируем информацию и строим у себя копию FAT чтобы понять, что там происходит, тут до чтения самой информации шажок. Это как ракеты в Чехии. Никто нападать не собирается, но базу строит:)

 

baken ,

Много технической информации... я понял, что Вы утверждаете, что мое решение это - метод анализа информации и построение структуры FAT ( "... анализируем информацию и строим у себя копию FAT..." ).

Про Чехию вы сказали сильно! :biggrin:

 

Поддерживаю baken-а, без анализа полностью потока данных, вы не получите тот результат, который описали, то что Вам предлагают сделать на МК аппаратно, то слегка парни не в теме, и т.к. выходит очень нетривиальное решение и непонятно зачем, напишите все же для чего нужна такая ерундовина со светодиодом, т.к. позможно есть более простые решения того зачем Вы это хотите.

 

MAZZI, спасибо, что высказали свое мнение. Ваш голос услышан.

По поводу, нетривиального решения - я пока еще не понял какое окончательное будет решение. Пока, только только, благодаря участникам форума, стало понятно, что вообще нужно. А про "ерундовину со светодиодом", если Вам удобно рассматривать вариант "ерундовина без светодиода", то тоже приемлемо! Лишь бы была индикация к началу работы следующего модуля, который здесь не обсуждается.

Изменено пользователем grad100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

-- далее злостный offtopic

 

grad100, расскажите с самого начала, что доступно, и что требуется.

Пока выглядит все в самом лучше случае как попытка героически восстановить информацию, халатно потерянную из-за ошибочных предположений о предмете. То есть, неквалифицированно.

Ну или как попытка "втёмную" использовать разработчиков. То есть, требуется наказание.

 

Вклинившись между коллайдерным компьютером и его флэшкой (я далек от предположения, что высоконаучная тематика всего лишь сарказм) вы все равно не узнаете, записалась ли бесценная информация на флэшку или нет. Вы узнаете только о попытке. А об этом знает и сам компьютер. Которому, кстати, совсем не трудно попытаться прочитать записанное и убедиться, что запись произошла успешно, если софт для него доступен. А сомневаться в этом нет повода.

 

 

А пока снова старый анекдот:

 

Как-то Вождь всех народов товарищ Сталин смотрел очередной кинофильм перед выпуском его в массы. После просмотра Сталин раскурил свою трубку, попыхтел и, наконец, изрек:

– А что это у главного злодея усы, как у товарища Сталина? Это что, заговор? Товарищ Берия, расстрелять актера, гримера, сценариста и режиссера.

– Есть!

Насмерть перепуганный режиссер:

– А может быть, мы ему просто усы сбреем?

– …Или так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

grad100 непонятно зачем такие пляски с бубном ?

в Win вроде бы имеется возможность установить свой драйвер-фильтр на доступ/пересылку файлов или изменение папки - определяете тип диска-назначения - и не нужно никаких анализаторов потока USB, FAT и прочего геморроя.

что-то похожее есть у Sysinternals :

http://84.45.57.224/filemon-source-code_topic8215.html

http://forum.sysinternals.com/topic8038_page1.html

http://msdn.microsoft.com/en-us/library/Aa364417

Изменено пользователем ukpyr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

grad100 непонятно зачем такие пляски с бубном ?

в Win вроде бы имеется возможность установить свой драйвер-фильтр на доступ/пересылку файлов или изменение папки - определяете тип диска-назначения - и не нужно никаких анализаторов потока USB, FAT и прочего геморроя.

что-то похожее есть у Sysinternals :

http://84.45.57.224/filemon-source-code_topic8215.html

http://forum.sysinternals.com/topic8038_page1.html

http://msdn.microsoft.com/en-us/library/Aa364417

 

Потому что задача поставлена (моим заказчиком) таким образом, чтобы решение было не через операционную систему и чтобы оно вообще от нее независило.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Потому что задача поставлена (моим заказчиком) таким образом, чтобы решение было не через операционную систему и чтобы оно вообще от нее независило.

Задача поставлена заказчиком неправильно, точнее - непрофессионально... Постановка задачи - это совместное "творчество" заказчика и разработчика. Чтобы этот процесс, в итоге, был успешным и технически реализуемым, оба должны быть профессионалами, каждый в своей области... В вашем случае, этого не заметно с обеих сторон... Так что, извините, но обсуждать тут нечего...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задача поставлена заказчиком неправильно, точнее - непрофессионально... Постановка задачи - это совместное "творчество" заказчика и разработчика. Чтобы этот процесс, в итоге, был успешным и технически реализуемым, оба должны быть профессионалами, каждый в своей области... В вашем случае, этого не заметно с обеих сторон... Так что, извините, но обсуждать тут нечего...

 

Благодаря именно этому обсуждению на этом форуме у меня уже сформировались несколько конкретных направлений. Если Вам неинтересно, не беда , потому что есть другие участники беседы, которые предложили свои варианты, некоторые свои услуги, а многие ответили мне на имейл. Процесс идет и я благодарен всем кто в нем учавствует.

Изменено пользователем grad100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Благодаря именно этому обсуждению на этом форуме у меня уже сформировались несколько конкретных направлений...

Извините, если мое высказывание показалось обидным... Но постановка задачи - это очень серьезная работа... Может быть 90%... как минимум 50% успеха...Хотите получить хороший, достойный и, самое главное, технически и финансово реализуемый результат - обращайтесь к профессионалам, либо становитесть им сами... ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извините, если мое высказывание показалось обидным... Но постановка задачи - это очень серьезная работа... Может быть 90%... как минимум 50% успеха...Хотите получить хороший, достойный и, самое главное, технически и финансово реализуемый результат - обращайтесь к профессионалам, либо становитесть им сами... ;)

Ваше высказывание не показалось мне обидным, я понял что вы привыкли работать в условиях, когда Вам "переводят" на технический язык уже сформированную задачу. А у нас это лишь только следующий этап.

По поводу профессионализма - я считаю, что это профессиональный форум и потому сделал запрос именно сюда и не ошибся. То что на первом этапе не все ясно, ничего страшного - "причешим".

Я професионал в другой сфере и нет необходимости изучать новое направление только лишь для того, чтобы объяснить условия поставленной задачи. Профессионалы не определяют условия задачи, а выполняют ее.

Изменено пользователем grad100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
... я понял что вы привыкли работать в условиях, когда Вам "переводят" на технический язык уже сформированную задачу... Профессионалы не определяют условия задачи, а выполняют ее.

Не правильно поняли. Профессионалы сначала пытаются понять смысл самой задачи - зачем все это делается, почему и для чего. Для каких целей. А потом уже вырабатывают решение ... Сейчас же фактически Вы предлагаете следующее: зачем - это не ваше дело, а как - мы уже без вас решили. Нужно только реализовать... Именно такой подход к разработке и является не профессиональным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..фактически Вы предлагаете следующее: зачем - это не ваше дело, а как - мы уже без вас решили. Нужно только реализовать... Именно такой подход к разработке и является не профессиональным.

 

..Мистер @Ark, не вдаваясь в конкретную тему, но, по вашему посту, рискну с вами не согласиться, слегка.

 

..Я потому только отношу себя к профессионалам, что деньги получаю за разработку.

С этой точки зрения, «зачем и для каких целей», меня не волнует вообще, ну, если, это не явно наркотики и торговля оружием.. :rolleyes:

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

 

..Другое дело, когда заказчик настаивает, «как». Это всегда занижает горизонт, однако, воздержавшись от вопроса «если ты такой умный, почему бы тебе не сделать самому», если вариант заказчика технически возможен, я соглашаюсь сделать, конечно, если устраивает сумма и сроки.

 

..Например, «слеплю на рассыпухе» драйвер верхнего ключа, когда заказчик настаивает на дешевизне Это будет работать. А если окажется не технологично, при массовом изготовлении, деталюшек много – такое прозрение заказчика уже не ко мне..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...