GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è il modo più semplice per annusare i dati sul traffico TCP su Linux?

Aggiornamento:

Come indicato da Michal nei commenti:Dalla versione 1.3 di tcpflow viene utilizzata l'opzione -e per specificare il nome dello scanner. Quindi viene stampato l'errore "Nome scanner non valido '8983'". Il comando corretto è

sudo tcpflow -i any -C -J port 1234

(anche -J è stato cambiato in -g nell'ultima versione)

Grazie a yves per avermi indicato "tcpflow". Ecco la riga di comando:

tcpflow -i any -C -e port 1234  # as root, or with sudo

Questo fa tutto quello che voglio

  • mostra i dati byte per byte man mano che arrivano
  • non mostra altri metadati
  • ascolta su tutte le interfacce (quindi cattura i dati provenienti dall'interno e dall'esterno della macchina)

Il file "-C " gli dice di eseguire il dump nella console anziché in un file. Il file "-e " abilita i colori in modo che client->server e server->client siano visivamente distinti.

Ho installato tcpflow semplicemente facendo

sudo apt-get install tcpflow

socat è lo strumento che stai chiedendo. Può fungere da proxy:

$socat -v TCP-LISTEN:4444 TCP:localhost:1234
hello

quindi la tua applicazione deve connettersi alla porta 4444 invece di connettersi direttamente alla 1234

L'opzione -v consente a socat di stampare tutto ciò che riceve sullo standard error (stderr).

Aggiornamento:

Se socat non è disponibile sulla tua macchina, puoi comunque emularlo in questo modo con netcat:

$netcat -l -p 4444 | tee output_file | netcat localhost 1234

avvertimenti:questa opzione è unidirezionale. la seconda istanza netcat stamperà qualsiasi risposta dal tuo server sullo standard output. Puoi ancora farlo:

$mkfifo my_fifo
$netcat -l -p 4444 < my_fifo | tee output_file | netcat localhost 1234 > my_fifo

Prova Wireshark. È un eccellente analizzatore di protocollo destinato sia a Linux che a Windows.


Linux
  1. Cosa rende Linux il sistema operativo sostenibile

  2. Qual è il modo più semplice per rilevare la pressione dei tasti in Python 3 su una macchina Linux?

  3. Qual è il modo più semplice per creare un pacchetto virtuale in debian?

  4. Qual è il modo corretto per visualizzare la velocità della CPU su Linux?

  5. Qual è il modo corretto per aprire una serie di porte in iptables

Cos'è il comando Linux Watch + Esempi

Come modificare i file PDF in Linux nel modo più semplice possibile

Che cos'è la shell in Linux?

Qual è il comando kill in Linux?

Qual è il modo più semplice per liberare spazio su un disco rigido?

Qual è il modo più semplice per visualizzare i dati da stdout come grafico?