wireshark -X lua_script:LmpWiresharkDissector.lua
# Sends a server list request, static date
echo -ne "0000009000000001009bee15b40520da0800001c000000" | xxd -ps -r | cat > /dev/udp/116.203.125.175/8700
# The following gets the hex representation of the current ticks (=one ten millionth of a second) since 0001-01-01
printf %016x `echo $((($(date --utc +%s) - $(date +%s --utc --date "0001-01-01")) * 10000000))`
# Converts big-endian hex to little-endian hex (https://km.kkrach.de/p_bash_conversion/)
be2le() {
[ -z "$1" -o "$1" = "-h" ] && echo "be2le: Converts zero-padded big-endian hex numbers to little-endian" && return 0
echo "$1" | grep -o .. | tac | echo "$(tr -d '\n')"
}
# Combined
echo -ne "000000900000000100$(be2le $(printf %016x $(echo $((($(date --utc +%s) - $(date +%s --utc --date "0001-01-01")) * 10000000)))))00001c000000" | xxd -ps -r | cat> /dev/udp/127.0.0.1/8700
# or 00001d000000 for 0.29.0
Type Frag Seq PayLen Payload
........ . ....... ........ ........ ........ ------
Bin 10000001 0 0000000 00000000 00000000 00000000
Hex 8 1 0 0 0 0 0 0 0 0
echo -ne "\x81\x00\x00\x00\x00" >/dev/udp/116.203.125.175/8700