networking - Java/Minecraft - How to read/understand packets -


i have written packet sniffer in java , works perfect have text file integers , dont know how decode them. tried use : minecraft protocol, still can't decode packets...

output:

[client] 15 [client] 0 [client] 47 [client] 9 [client] 108 [client] 111 [client] 99 [client] 97 [client] 108 [client] 104 [client] 111 [client] 115 [client] 116 [client] 30 [client] 97 [client] 1 [client] 1 [client] 0   [server] 118 [server] 0 [server] 116 [server] 123 [server] 34 [server] 100 [server] 101 [server] 115 [server] 99 [server] 114 [server] 105 [server] 112 [server] 116 [server] 105 [server] 111 [server] 110 [server] 34 [server] 58 [server] 34 [server] 65 [server] 32 [server] 77 [server] 105 [server] 110 [server] 101 [server] 99 [server] 114 [server] 97 [server] 102 [server] 116 [server] 32 [server] 83 [server] 101 [server] 114 [server] 118 [server] 101 [server] 114 [server] 34 [server] 44 [server] 34 [server] 112 [server] 108 [server] 97 [server] 121 [server] 101 [server] 114 [server] 115 [server] 34 [server] 58 [server] 123 [server] 34 [server] 109 [server] 97 [server] 120 [server] 34 [server] 58 [server] 50 [server] 48 [server] 44 [server] 34 [server] 111 [server] 110 [server] 108 [server] 105 [server] 110 [server] 101 [server] 34 [server] 58 [server] 48 [server] 125 [server] 44 [server] 34 [server] 118 [server] 101 [server] 114 [server] 115 [server] 105 [server] 111 [server] 110 [server] 34 [server] 58 [server] 123 [server] 34 [server] 110 [server] 97 [server] 109 [server] 101 [server] 34 [server] 58 [server] 34 [server] 83 [server] 112 [server] 105 [server] 103 [server] 111 [server] 116 [server] 32 [server] 49 [server] 46 [server] 56 [server] 46 [server] 55 [server] 34 [server] 44 [server] 34 [server] 112 [server] 114 [server] 111 [server] 116 [server] 111 [server] 99 [server] 111 [server] 108 [server] 34 [server] 58 [server] 52 [server] 55 [server] 125 [server] 125   [client] 9 [client] 1 [client] 0 [client] 0 [client] 0 [client] 0 [client] 10 [client] 158 [client] 220 [client] 203   [server] 9 [server] 1 [server] 0 [server] 0 [server] 0 [server] 0 [server] 10 [server] 158 [server] 220 [server] 203 [server] -1   [client] -1 

i appreciate if has answer.

it seems no integer higher 255, single byte per line output. packet seeing might compressed, impossible without seeing configuration of minecraft user/server. if compressed - need unzip them before able analyze them.

to decoding, highly recommend wireshark. download , re-run network capture. compare decoded output of program. wireshark give meaning of each data member in packet.

edit: part of decoding unclear you? using pen , paper , windows calculator in programming mode here decoding of first packet:

15 - varint - length of packet 0  - varint - packet id - handshake 47 - varint - protocol version      following bytes length prefixed server address in utf-8: 9  - lenght 108 - l 111 - o 99  - c 97  - 108 - l 104 - h 111 - o 115 - s 116 - t      following 2 bytes server port in unsigned short format (i guess 7777) 30 97  1  - varint - next state 

last 2 bytes unclear me.

in short - each packet:

  1. find length of packet
  2. find packet type
  3. using packet type decode rest

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -