aboutsummaryrefslogtreecommitdiff
path: root/tools/hex.sh
blob: 78cd8fa38c9d74a63ed399d37c19dd01893ac0a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash

#
# Script to send convert HEX string into binary and send it to specified local port
#
# Example usage:
#
#   hex.sh 5039 3e52505631393535352b343533383431382d303733393531383530303032303231323b49443d393939393b2a37423c0d0a
#

if [ $# -lt 2 ]
then
  echo "USAGE: $0 <host> <port> <hex>"
  echo "If only <port> and <hex> are present, <host> defaults to localhost."
  exit 1
fi

host="$1"; port="$2"; hex="$3";

if [ $# -eq 2 ]
then
    host="localhost"; port="$1"; hex="$2";
fi

send_hex_udp () {
  echo "$hex" | xxd -r -p | nc -u -w 0 "$host" "$port"
}

send_hex_tcp () {
  echo "$hex" | xxd -r -p | nc "$host" "$port"
}

send_text_udp () {
  echo -n -e "$hex" | nc -u -w 0 "$host" "$port"
}

send_text_tcp () {
  echo -n -e "$hex" | nc "$host" "$port"
}

send_hex_tcp "$host" "$port" "$hex"

exit $?