Avviso: se il debug richiede solo una singola connessione e non è necessario eseguire il debug in modo specifico degli eventi di connessione / disconnessione ...
Potresti usare netcat
(o nc
su alcuni sistemi).
Hai impostato la tua applicazione per aprire, ad esempio, la porta 12345 (apribile dall'utente). Quindi si utilizza netcat per aprire, ad esempio, la porta 123 (con privilegi solo utenti) e inoltrare i dati alla porta 12345.
# sudo nc -l 123 | nc localhost 12345
La prima metà del comando esegue netcat nc
e dice di ascoltare -l
sulla porta 123
. La pipe reindirizza i dati dalla prima istanza di netcat a un'altra. Il secondo comando si collega alla tua applicazione e inoltra i dati attraverso.
Si noti che non appena si esegue questo comando, la seconda istanza di netcat si connetterà all'applicazione. Se la tua applicazione inizierà a spingere immediatamente i dati, vorrai connettere il tuo client molto rapidamente e dovrai fare attenzione a come i dati vengono memorizzati nel buffer.
Se vuoi che il client sia in grado di disconnettersi e riconnettersi senza dover riavviare netcat, esegui invece:
# sudo nc -lk 123 | nc localhost 12345
Il -k
indica a netcat di continuare a essere eseguito se il client si disconnette dalla porta 123.
Ancora una volta, ci sono dei limiti con questo metodo, dato che si sta rinunciando in gran parte al controllo del lato della connessione delle cose facendo in modo che netcat lo gestisca per te. D'altra parte, è molto veloce e facile da configurare e abbattere, se è tutto ciò che serve.