Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
Нужен "снифер" для RS-232/485 (страница 1)

Версия для печати (настроить)
Страницы: 1 2

Новая тема | Написать ответ

Подписаться

Автор Тема:   Нужен "снифер" для RS-232/485
Прибытков Д.Н.
Junior Member

Сообщений: 17
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 10 Апреля 2003 11:01ИнфоПравкаОтветитьIP

Уважаемые коллеги!
Требуется помощь: подскажите, где найти программу для "подслушивания", записи и анализа потока данных по RS-232/485 (обмен PC <--> контроллер). Что-то вроде "снифера" для анализа и взлома протоколов обмена контроллеров (информацию по протоколу не дают, а разобраться нужно). Может быть Вам попадались подобные программы. Для лок. сети разных "сниферов" есть достаточно много, а для COM-порта еще не попадался.

С уважением, Прибытков Д.

------------------

Порядок
Наполеон

Сообщений: 735
Откуда: Москва
Регистрация: Август 2001

написано 10 Апреля 2003 11:42ИнфоПравкаОтветитьIP

Прибытков Д.Н.
Junior Member

Сообщений: 18
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 10 Апреля 2003 13:31ИнфоПравкаОтветитьIP

Спасибо!
Небольшой вопрос: т.е. если мне надо разобраться с обменом между PC и контроллером по 485, то я могу взять ноутбук, подключить ему на COM переходник 232/485, поставить Portmon, подключиться параллельно к линии 485 и ловить весь трафик (как на локалке), так?

Добавление от 10 Апреля 2003 15:28:

Коллеги! Я еще сам покопался и нашел вот тут:
ссылка

Может быть, кроме меня это еще кому-нибудь нужно. Задача-то известная: производитель к-л прибора (например, контроллера или теплосчетчика) не дает протокол, навязывая свой софт (как правило дорогой и глючный).

Порядок
Наполеон

Сообщений: 737
Откуда: Москва
Регистрация: Август 2001

написано 10 Апреля 2003 15:48ИнфоПравкаОтветитьIP

подключить ему на COM переходник 232/485
Зачем такие проблемы? Вы перехватываете информацию из COM-порта на локалке. А по Вашей схеме можно использовать обыкновенный Hyper Terminale.

Typhoon
unregistered
написано 12 Апреля 2003 19:36  ПравкаОтветитьIP

На www.bolid.ru в утилитах есть хорошая прога.

Мощицкий Павел
Moderator

Сообщений: 44
Откуда: Израиль, Бат-Ям
Регистрация: Январь 2003

написано 13 Апреля 2003 11:27ИнфоПравкаОтветитьIP

Typhoon
А можно поконкретнее? С ссылкой на конкретную прогу на конкретной странице?

GREEN from KPZ
Member

Сообщений: 49
Откуда: Istra
Регистрация: Июнь 2001

написано 15 Апреля 2003 12:41ИнфоПравкаОтветитьIP

Typhoon
она без ихнего преобразователя не работает... если разговор про "прог"/"упрог"
Прибытков Д.Н.
можно поконкретнее что за девайс? охранка? доступ?

Прибытков Д
unregistered
написано 17 Апреля 2003 00:05  ПравкаОтветитьIP

Управляющие контроллеры.

Порядок
Наполеон

Сообщений: 750
Откуда: Москва
Регистрация: Август 2001

написано 17 Апреля 2003 09:46ИнфоПравкаОтветитьIP

Прибытков Д
Не понимаю, что Вам мешает перехватить на самой PC. Или роль PC выполняет микроконтроллер? Тогда возникают вопросы: он PC-совместимый и если да, то какая ОС на нем стоит?

Прибытков Д.Н.
Junior Member

Сообщений: 19
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 17 Апреля 2003 11:52ИнфоПравкаОтветитьIP

Есть задача:
Разобрать протокол обмена между группой теплосчетчиков СПТ-960 ("Логика", СПБ), подключенных к PC через COM-порт (по RS-232, а далее через переходник по "токовой петле"), и программой DDE-сервером ("Логика"). Данный сервер опрашивает по COM-порту счетчики, принимает от них информацию и по DDE передает данные основному приложению для просмотра/обработки/архивации. Все работает под WIN98. Протокол обмена по DDE опубликован, а через COM-порт - нет (есть только кое-какие отрывочные сведения). Вопрос: как мне на этой же машине перехватить и записать в файл трафик, идущий через COM. Т.е. через DDE запрашиваем к-л параметр и фиксируем запрос и ответ, далее анализируем.
Писать VxD я не умею.
Цель: разобраться с протоколом обмена и написать свою программу для прямого обмена данными с приборами (без DDE и чужих программ), т.к. сервер от "Логики" имеет ряд проблем и глюков.

Коллеги! Кто знает, подскажите, как это можно сделать при помощи Portmon.

Asher
unregistered
написано 17 Апреля 2003 14:10  ПравкаОтветитьIP

Зачем VxD? Нужен 1 провод и любой терминал.
Просто подцепить второй COM паралельно первому и (Tx основного на Rx второго) и в любой терминальной программе выставив соответствующую скорость порта накопить статистику запросов. Потом соединить Rx'ы и собрать статистику ответов.Возможно терминал потребуется не любой, а чтобы все символы показывал, не отбрасывая NULL и спецсимволы)
P.S. Кстати вам все равно работу с COM портом писать, так что можете сразу и потренироваться с получением потока с порта и сохранением в массив(файл, ...)
P.P.S. Если надо могу дать пример приема всего байтового потока в массив.

Прибытков Д.Н.
Junior Member

Сообщений: 22
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 17 Апреля 2003 14:40ИнфоПравкаОтветитьIP

Зачем VxD? Нужен 1 провод и любой терминал.
Чтобы ловить трафик на той же самой машине (как снифером на локалке).
Просто подцепить второй COM паралельно первому...
Спасибо за совет, я, в принципе собирался именно так и попробовать. Исходя из того, что запросы/ответы, как правило, идут циклически (периодически повторяются) должно что-то получиться.

Небольшое сомнение: потянет ли нормально передатчик RS-232 2 приемника вместо одного. На невысоких скоростях вроде бы должно сработать.

Пришлите, пожалуйста, пример, заранее благодарен pribytkov_d@mail.ru

Добавление от 17 Апреля 2003 14:48:

А лучше всего синхронно писать входящий и исходящий потоки одновременно через 2 COM-порта (если есть 2 свободных). И кроме того, фиксировать временные интервалы между принятыми/передаными байтами. Так можно получить полный анализ протокола.
Кр. того, вместо простого терминала нужна программа, показывающая байты одновременно и в символьном виде (с учетом разных сущ. кодировок) и как HEX.

[Это сообщение изменил Мощицкий Павел (изменение 17 Апреля 2003 17:26).]

Asher
unregistered
написано 17 Апреля 2003 14:53  ПравкаОтветитьIP

To Прибытков Д.Н.
Побродил по сайту, почитал Выши постинги и, как следствие, P.S. и P.P.S. снимаю.

Прибытков Д.Н.
Junior Member

Сообщений: 23
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 17 Апреля 2003 14:56ИнфоПравкаОтветитьIP

Простите, не понял, о чем речь... Пример можете прислать?

Asher
unregistered
написано 17 Апреля 2003 15:10  ПравкаОтветитьIP

Порт тянет однозначно, я так свои программы отлаживаю.
По поводу 2-х свободных: можно и так, но только если они на другом компьютере то надо про земли не забывать, а временные интервалы элементарно можно фиксировать с достаточно высокой точностью (до 1 мс) через GetTickCount(). Если же нужна совсем большая точность, то можно позаморачиваться с QueryPerformanceFrequency() и QueryPerformanceCounter()

Хотя по моему мнению если у теплосчетчиков токовая петля, то по идее каждый прибор должен являться ретранслятором потока байт (в целях гальванической развязки и независимости нагрузочной способности токового выхода от количества приборов на линии) и, как следствие, на COM порт должен приходить суммарный поток ВСЕХ запросов и ВСЕХ ответов, в промежутках между запросами. В таком случае можно обойтись одним дополнительным портом.
Достаточно писать просто НЕХ поток а смотреть потом любым НЕХ редактором, да хоть ДОС-Навигатором.
И сильно сомневаюсь что если использован символьный протокол потребуется работа с кодировками, вероятность на 99.9% что используемые символы - латиница
P.S. я пишу под Win32 и соответственно работа с портом реализована через Win32API, а Вы я смотрю пишете под DOS

Добавление от 17 Апреля 2003 15:33:

Письмо отправил. Ждите.

Добавление от 17 Апреля 2003 15:48:

Там в коде порядком лишнего, если будет мешать разбираться отпишите мне, я на досуге все лишнее выкошу.

Прибытков Д.Н.
Junior Member

Сообщений: 24
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 17 Апреля 2003 16:02ИнфоПравкаОтветитьIP

Спасибо!
Пишу в основном под DOS (BP7.0), под Win немного.

У теплосчетчиков сеть сложная. Приборы соединены друг с другом по кольцу (т.е. каждый с двумя соседними) при помощи 2х токовых петель (прием/передача). Т.е. принимает от предыдущего и передает следующему (а что-то себе оставляет). Как они там между собой общаются - их проблемы. Один из приборов является "шлюзовым" (роутером?) для всех остальных. Именно он связан с PC по 2-м "токовым петлям" (ИРПС). Для преобразования RS-232/ИРПС имеется переходник (адаптер). Т.е. обмен фактически идет по схеме "точка-точка".

А когда кольцо рвется - вот тогда имеем большие проблемы - все дохнет. Каждый прибор в кольце (их м.б. до 32 шт.) может одновременно работать "шлюзом", т.е. с одним "кольцом" могут работать одновременно до 32 PC. В свою очередь, каждый PC может одновременно быть подключен к 8-и "шлюзовым" приборам, т.е. кольцам, т.к. переходник (адаптер) является еще и 8-канальным мультиплексором (ставится в слот ISA). Такое вот монстровое сооружение, называется "СП-сеть". У нас всего 2 кольца - 8 шт. и 2 шт. А мороки с ними поимели уже - выше крыши... Про СП-сеть и приборы СПТ есть отдельная тема в конференции.

И сильно сомневаюсь что если использован символьный протокол потребуется работа с кодировками, вероятность на 99.9% что используемые символы - латиница
Согласен!

Asher
unregistered
написано 17 Апреля 2003 16:27  ПравкаОтветитьIP

Честно говоря думал что кольцо организованно так:

PC-->СПТ-->СПТ-->...
^-<--СПТ<--СПТ<--...

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

А у Вас, если често, я не понял как это они соединены ;(
У меня получается что у каждого прибора должно быть разъемов вагон и маленькая тележка, и, если это не коммутатор/маршрутизатор , то общий базар должен по всей сети гулять. Ужас полный. А делать из каждого коммутатор/маршрутизатор по моему черезчур дорого.

Мощицкий Павел
Moderator

Сообщений: 45
Откуда: Израиль, Бат-Ям
Регистрация: Январь 2003

написано 17 Апреля 2003 17:30ИнфоПравкаОтветитьIP

ALL
Давайте научимся пользоваться сервисными возможностями конференции - UBB код .

Прибытков Д.Н.
Junior Member

Сообщений: 25
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 17 Апреля 2003 23:03ИнфоПравкаОтветитьIP

Приборы соединяются между собой именно так:

------>-| |---->-| |------>-| |-------
------------------<----------------------

Точную схему см. здесь: ссылка

Приборы действительно работают как роутеры. Производителем декларируется, что при отключении питания к-л прибора в кольце при помощи "падающего" реле создается обходная цепь и вроде как все это должно нормально работать. Реле там есть и даже щелкает, однако все дохнет: отключенный прибор продолжает "видиться", однако "пропадают" работающие. Приборы сложные и дорогие.
У всего этого сооружения есть только 1 достоинство, которое и оказалось решающим для нас: расстояние между соседними приборами - до 4 км. Если "растянуть" кольцо в линию, можно покрыть большую дальность. Другие приборы сами по себе (без модемов) этого не могут. Однако "Логикой" такие приборы уже давно сняты с производства, а у новых есть только RS-485. Теперь ломаем голову, как заменить 10 шт. старых приборов, которые начали рассыпаться от старости, т.к. аналогов больше нет.

Добавление от 17 Апреля 2003 23:15:

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

Порядок
Наполеон

Сообщений: 753
Откуда: Москва
Регистрация: Август 2001

написано 18 Апреля 2003 00:49ИнфоПравкаОтветитьIP

Прибытков Д.Н.
а у новых есть только RS-485
Хм. Значит Вы собираетесь протянуть сети RS-485 на интервалы по 4 км. А общая длина: 10*4=40 км.
производитель не дает никакой информации ни по протоколам обмена
И при этом не имеет собственной визуальной проги типа SCADA на PC? Кто же такое покупать будет, что-то не верится. А кто знает, может у них вообще протокол смешанный и зависит, например, от объема передаваемой инфы. При нештатной ситуации начинка транспортного протокола изменится и все, а Вы будете, благодаря программам шпионам, знать только верхушку айсберга. Не стал бы я такого кота в мешке покупать.

Прибытков Д.Н.
Junior Member

Сообщений: 26
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 18 Апреля 2003 08:46ИнфоПравкаОтветитьIP

"Кота" мы давно уже купили - еще в 1996 г. Визуальная программа у них есть, но отвратительная. Об этом в подробностях см. соотв. тему "Проблема с программой СПСеть для СПТ 961": http://forum.skunksworks.net/Forum10/HTML/000015.html

В том-то и проблема: сейчас мы ничем не можем заменить рассыпающиеся старые приборы, т.к. новых аналогов нет, т.е. нужно менять все кольцо (10 шт. сразу). А на что менять - это пока непонятно. RS-485 больше чем на 1,2 км не тянет. Коммутируемые линии АТС - никак не устраивает из-за отвратительного качества, кр. того, приборы с телефонным модемом, вопреки обещаниям производителя, работать не желают.
Остается вариант с мультипортовой платой RS-232 и модемами для физических линий ("прозрачными") для прямого подключения приборов ("веером" или "звездой") по порту RS-232. Но это тоже реально не подходит - дорого (20 шт. модемов, 2 мультипортовые платы!), кр. того целых 10 пар нам наши связисты не дадут.

Существующие приборы протянут от силы 1-2 года, потом сдохнут совсем. Вот и приходится перебирать разные варианты в поисках решения.

Порядок
Наполеон

Сообщений: 754
Откуда: Москва
Регистрация: Август 2001

написано 18 Апреля 2003 09:43ИнфоПравкаОтветитьIP

Прибытков Д.Н.
RS-485 больше чем на 1,2 км не тянет
Но это тоже реально не подходит - дорого
А как Вы относитесь к Ethernet? Если по витой паре и в металлорукаве, то вполне возможно. Только опять дорого.

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики
Страницы: 1 2

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика