вторник, 22 марта 2011 г.

Про netcat и ncat

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

1) echo -ne "\x01\x02\x03\x04" | ncat -i 1000 -x output.hex address port
2) cat output.hex

Как можно догадаться \x01\x02\x03\x04 - это байты, которые отправляются в устройство, где \xHH - число в шестнадцатеричном представлении.

Комментариев нет:

Отправить комментарий