#!/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 $?