[Debutant] Arduino Dino & sécurité

Bon me revoilà ... entre temps j'ai découvert la différence entre serial.print et serial.write :*

Bref avec ce bout de code :

void loop(){
  
    // read packet, handle ping and wait for a tcp packet:
    dat_p=es.ES_packetloop_icmp_tcp(buf,es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf));
    
    if (buf[IP_PROTO_P]==IP_PROTO_UDP_V){ 
      // Serial.println(buf[IP_PROTO_P]);
       if (buf[IP_PROTO_P]==IP_PROTO_UDP_V){
      
      udp_length=buf[39]-8; // calculate UDP data lenght
           
      for (int i = 0; i < udp_length; i++)
       {
         Serial.write(buf[42+i]);
        }
       Serial.println(); 
       Relay_Control();
       Status_Reply();
       es.ES_make_udp_reply_from_request(buf,reply,8,12345); 
       buf[IP_PROTO_P]=0;
    } }   
} // end loop

je recupère sur mon moniteur serie:

/1/push1°°°°,f°°?°°°
/1/push1/°°°°,f°°°°°°
/1/push1/z°°,f°°°°°°

ou "°" représente un caractère carré que je n'arrive pas à reproduire pour le forum.
Moi ce qui m'intéresse c'est "/1/push1" et "/1/push1/z"

Vous pensez que je dois travailler au niveau chaine de caractère ou affiner le trappage de ma trame UDP ?
D'avance merci