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

Утилита для тестирования и отладки связи по Ethernet.

Приветствую!

Нужна утилита, способная выступать в качестве TCP клиента и сервера. Что-то вроде вот этого https://www.hw-group.com/software/hercules-setup-utility

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

Есть кто-то знает программу, способную отображать принятые TCP пакеты в hex формате, подскажите, пожалуйста!

Заранее благодарен!

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


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

Давно пользуюсь "TCP/UDP Net Assistant" http://cmsoft.cn/reslink.php?id=277

Умеет TCP-клиент и TCP-сервер и UDP. Hex и ASCII. Удобен в работе. Постоянно обновляется.

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


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

https://sourceforge.net/projects/y-a-terminal/

TCP/UDP клиен/сервер

СОМ порт терминал.

Сохранение логов, настройка интерфеса,. Дофига всяких плюшек и настроек.

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


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

В 25.10.2019 в 15:48, dimka76 сказал:

https://sourceforge.net/projects/y-a-terminal/

TCP/UDP клиен/сервер

СОМ порт терминал.

Сохранение логов, настройка интерфеса,. Дофига всяких плюшек и настроек.

1)а как в этой программе отправить бинарные данные?

2) как в этой программе отправлять данные, например раз в 650 мс? Есть отправка циклическая?

3) как в этой программе в конец пакета автоматически добавить и отправить CRC?

 

в сетингах указал тип данных  Terminal Type: Binary, отправляю два байта  fa 15, улетает - 66 61 20 31 35. Это текст - ни какого бинаря.

строку отправил, через минуту другую. в окне всего одна длинная строка (слеплена из 2-х). Т.е. эта программа не разделяет строки на пакеты по времени....

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

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

Ну это так, на вскидку отзыв.... Всё таки эта программа для отладки текстовых протоколов, а не бинарных. Программа TCP Port Toolkit - как раз для бинарных, типа MODBUS TCP. В тулките можно автоматом добавлять в конец пакета crc (расчитанное по любому алгоритму, сам пишешь расчет црц, язык простой, есть примеры ,есть готовые макросы для распростаненых расчетов, в том числе и для CRC16 Modbus)

 

ps для тестирования MODBUS ищи не TCP клиента и сервера, а программу для тестирования MODBUS. Таких программ полно.  Там галочками отметишь тип пакета, адрес устройства, адрес регистра, битики во флаговых регистрах.... жамкнешь сенд - слепится правильный пакет с crc.... на вскидку Modbus Tester.

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


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

1 hour ago, juvf said:

1)а как в этой программе отправить бинарные данные?

2) как в этой программе отправлять данные, например раз в 650 мс? Есть отправка циклическая?

3) как в этой программе в конец пакета автоматически добавить и отправить CRC?

Не знаю.

У меня в таких функция не было необходимости.

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


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

Все очень просто. Для запуска сервера пишем:

nc -l localhost -p 1234

для запуска клиента:

nc localhost 1234

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

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


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

Мне в своё время очень помогли этим советом.

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


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

4 минуты назад, Eddy_Em сказал:

Все очень просто. Для запуска сервера пишем:


nc -l localhost -p 1234

для запуска клиента:


nc localhost 1234

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

Цитата

"nc" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

у ТС пример виндовый.

во вторых.... даже если на линуксе... этот способ только для Вуаля, т.е. для текста. Как бинарные данные передавать?

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


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

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

Мне это бывает нужно очень часто (т.к. всякие железяки данные отдают на веб-морды именно так; да и управление происходит через сокеты), поэтому сделал себе сниппет для работы с сокетами.

Кстати, netcat тоже умеет - надо лишь через фифо слать данные. А читать их можно, пропуская через hexdump. Но таки свое написать займет от силы вечер, зато будет надежно работать.

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

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


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

29 минут назад, Eddy_Em сказал:

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

Ну-ну... Китайские товарищи из http://cmsoft.cn/reslink.php?id=277 уже не первый год пилят свой "TCP/UDP Net Assistant". А там делов-то - на вечер всего!  :new_russian:

Дураки наверно?... :sarcastic_hand:

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


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

А вот не надо распылять свои силы. ТСу нужно совсем элементарную вещь сделать. Пишется она реально за один вечер. А уж потом можно и рюшечками обвешивать...

P.S. По поводу китайцев могу лишь одно сказать: я ни разу не видел качественного китайского кода, зато их быдлокод - постоянно!

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


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

14 минут назад, Eddy_Em сказал:

А вот не надо распылять свои силы. ТСу нужно совсем элементарную вещь сделать. Пишется она реально за один вечер. А уж потом можно и рюшечками обвешивать...

...и потом, когда при отладке девайса вдруг начинает иногда глючить -  ещё много вечеров гадается - где же баг??? в отлаживаемом девайсе или в написанном за один вечер?

Не надо тут сказки рассказывать - чай не дети тут читают чтоб белое чёрным называть. Кое-как написать за вечер может и можно, но и работать оно будет также - кое как.

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

 

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


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

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

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

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

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

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

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

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

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

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