I've got some binary commands (which I'm representing as hex) that I need to send to a remote device (it's an embedded data collection device) and observe the reply.
It's easy to connect to it with netcat
nc -v 192.168.200.34 19000
and it sits there happy as a clam.
The hex string I need to type in terminal and then send is something like:
02:45:31:38:03:34:43:0d:0a
Where 02 is STX, 03 is ETX and so on.
But when I type this into my netcat window (with or without spaces , with or without the colons) netcat transmits it as ascii.
All the literature is happy to tell me how to capture a hexdump from the remote device, but not how to transmit binary/hex data to the remote device.
Is this an easy thing to do, or am I missing something?
You can do it with command: echo -n -e "\x02\x45\x31\x38\x03\x34\x43\x0d\x0a" | nc [-u] <-ip-addr-> <-port-no->
-n
supresses outputting the trailing newline.-e
enables the interpretation of backslash escapes -> allowing us
to send hex codes.'x'
before each character specifies that the byte is in hexadecimal form.-u
switch to UDP traffic (optional)If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With