LINUX.ORG.RU

Вот прям по ethernet, или же всё таки по TCP или UDP? Ты не вероятно не поверишь, но просто - написать на том же Qt эмулятор твоей железки. Это самое прямолинейное решение.

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

Begemoth ★★★★★
()

Сделай на том же Qt утилиту-сервер, которая будет эмулировать твою железку.

rumgot ★★★★★
()

Открыть VirtualBox, нажать Файл > Настройки > Сеть > Виртуальные сети хоста. И добавить новую сеть vboxnet0. В настройках виртуальной машины сменить NAT на Виртуальный адаптер хоста.

ZenitharChampion ★★★★★
()

Инкапсулируй протокол, напиши тесты протокола.

pon4ik ★★★★★
()

Напиши простейшую тулзу, эмулирующую сообщения от железки.

Zhbert ★★★★★
()
Ответ на: комментарий от Elyas

netcat + expect

Хороший вариант, правда у expect есть аналоги, например pexpect и прочие

I-Love-Microsoft ★★★★★
()

Как самый простой вариант Scapy.

xpahos ★★★★★
()

Я бы взяла пример из boost.asio echo сервера и встроила реализацию протокола железки. У тебя скорей всего tcp|udp, покажи сетевой код?

Lzzz
()

Пищу программу общается по ethernet с железкой запрос-ответ

эмулировать ответы без железки.

Надо не пищать, а свистеть двоичным кодом, как диды.

slackwarrior ★★★★★
()

Еще, если нужно Ethernet низкоуровнево, можно на Python Socket.SOCK_RAW заюзать. Я использовал такой метод для отладки одной Ethernet-балалайки

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Lzzz

Ты не в теме. Анекдот про «полчаса в модем двоичным кодом свистел». Что диды делают щас — это не важно, могут в сырой земле лежать, а соль в том, «как они это делали».

slackwarrior ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Это на любом языке реализуемо: https://stackoverflow.com/questions/35841275/sending-raw-packet-with-ethernet-header-using-go-language

В примере по ссылке даже Ethernet header с MAC адресами и типичным 0x08, 0x00. Контрольную сумму FCS не проблема тоже посчитать

Но как и предыдущие ответившие, не понимаю, достаточно ли ТС просто обычного UDP/TCP

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Begemoth

У ТС - «Пищу программу на qt,»

Если ТС уже пишет ethernet фреймы, то он это делает через raw сокеты. Вся остальная обвязка может быть на чем угодно.

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Я понимаю. ТС спросил и пропал, а мы гадаем, что у него за программа :-)

Begemoth ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.