1

Temat: Hex <> string w locie

Dzień Dobry.

Potrzebuję napisać skrypt w bash pod OpenWRT, który będzie w locie tłumaczył string ASCII wysłany przez telnet z mojego laptopa na ciąg hex, który otrzyma urządzenie IoT w mojej sieci i zwróci odpowiedź w odwrotny sposób tymi samymi kanałami.

Geneza jest taka, że korzystam z programu 3-ciego w OS Windows do wysyłania znaków hex do IoT, bo telnetem nie wyślę znaków hex, poza tym chcę się czegoś nowego nauczyć i uprosić swoje czynności. 

Wobec powyższego, czy ktoś pomógłby mi stworzyć lub nakreślić zgrubnie strukturę i polecenia, które umożliwią mi zbudowanie skryptu, który pod OpenWRT:

1. Zestawi połączenie TCP/IP socket z urządzeniem IoT podając adress:port (lub nawiążę jeśli będzie taka potrzeba nowe połączenie)
2. Na porcie na routerze będzie nasłuchiwała usługa na połączenie z telnet z mojego laptopa i jeśli takowe otrzyma
3. Zapiszę przychodzący string ASCII z telnet do pliku "in.txt"
4. Zgodnie ze słownikiem (plik inbound) przetłumaczy string ASCII na hex np. "START" na "0x53 0xe3 0xa2 0x94 0xe5"
5. Zapisze w pliku "in.txt" symbol [TAB] plus przetłumaczony ciąg w HEX
6. Wyśle ciąg hex do IoT za pomocą Ad1.
7. Otrzyma odpowiedź w hex z AD2. i zapiszę w pliku "out.txt"
8. Przetłumaczy w lecie korzystając z drugiego słownika "outboud" z hex na string ASCII np. z "0x01" na "OK"
9. W pliku "out.txt" doda znak [TAB] plus przetłumaczony ciąg znaków ASCII
10.  Za pomocą AD2. zostanie zwrócona odpowiedź i przetłumaczona odpowiedź, którą będę widział w telnecie


Ktoś pomoże, albo zna podobne gotowe narzędzie/usługę pod Windows/Linux?

Wiem, że będę musiał użyć poleceń "nc" lub "netcat" dla AD2, ale jak tłumaczyć w locie zgodnie z plikiem inboud/outbaund komunikację nie wiem, a potem ją wysyłać do AD1. nie mam pomysłu. Byłbym wdzięczy za każdą pomoc.

Pozdrawiam, Krzysiek

2

Odp: Hex <> string w locie

https://unix.stackexchange.com/question … ith-client czy coś podobnego. Tylko pełny nc a nie ten z busyboxa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez oneiro 2024-08-05 17:15:22)

Odp: Hex <> string w locie

Dzięki Cezary, to załatwi mi Ad2. czyli zestawienie połączenia laptop - OpenWRT.

Tłumaczenie ASCII na hex powinienem znaleźć natomiast jak ogarnąć AD1. tj jak wysyłać i odbierać hex do IoT?  Też nc/netcatem?

4

Odp: Hex <> string w locie

Ale co masz wysyłać - znaki asci typu 0x01 czy binarne 1? Tak czy siak - zapisujesz to do pliku w odpowiedniej postaci a później cat'em | nc cośtam wysłasz dalej w świat.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.