
Foto per gentile concessione di Michael_P
Questo articolo è stato scritto da Balakrishnan M
Tempo fa abbiamo esaminato 11 esempi su come utilizzare l'utilità editcap per acquisire dump di rete. In questo articolo, esaminiamo l'utilità mergecap e i comandi tshark.
Mergecap è uno strumento di combinazione di dump di pacchetti, che combina più dump in un unico file di dump. In base al timestamp, i pacchetti vengono scritti nel file di output in modo ordinato. Per impostazione predefinita, il file di output è scritto nel formato libpcap. Tuttavia, utilizzando le opzioni di mergecap, possiamo generare output in vari formati, inclusi quelli supportati dallo strumento wireshark.
mergecap è disponibile nel pacchetto wireshark. Assicurati che il pacchetto wireshark/ethereal sia installato per usare il mergecap.
Combina due file dump in un unico file output_dump
Combina i file di acquisizione input_dump1 e input_dump2 e li scrive nel file output_dump.
# mergecap -v input_dump1 input_dump2 -w output_dump
In questo esempio, input_dump2 contiene i pacchetti che vengono acquisiti dopo input_dump1. L'output_dump conterrà i pacchetti intput_dump2 all'inizio seguiti dai pacchetti intput_dump1.
# mergecap input_dump1 input_dump2 -w output_dump -a
Stampa il file di dump dell'output sull'output standard
Combina due file di dump di rete e stampa l'output sull'output standard invece di scrivere su un file.
# mergecap -v input1_dump input2_dump -w -
Stampa il file di output in un formato di incapsulamento specifico
Utilizzare l'opzione -T, per ottenere il file di output nel formato di incapsulamento desiderato, come mostrato di seguito.
# mergecap -v -T ether -w merge_cap capture1 capture2 capture3
3. Unisci pacchetti di una certa lunghezza
In questo esempio, output_dump contiene i pacchetti con una lunghezza massima di 100 byte.
# mergecap -v -s 100 dump1 dump2 dump3 -w output_dump
Tshark:strumento per l'acquisizione di pacchetti
Tshark è un potente strumento per acquisire pacchetti di rete, che possono essere utilizzati per analizzare il traffico di rete. Viene fornito con la distribuzione dell'analizzatore di rete wireshark.
Acquisisci continuamente l'acquisizione di rete
L'esempio seguente acquisirà i pacchetti di rete continuamente per 60 secondi. Dopo 60 secondi di acquisizione, si fermerebbe automaticamente. capture_out contiene i pacchetti che sono stati inviati in rete negli ultimi 60 secondi.
# tshark -q -w capture_out -a duration:60
Nell'esempio seguente i pacchetti verranno stampati sullo schermo e contemporaneamente scritti nel file di output.
# tshark -S -q -w capture_out -a duration:10
Acquisisci statistiche di rete utilizzando tshark
Per vedere quanti pacchetti stanno scorrendo nella rete per un intervallo specifico, usa il comando seguente.
# tshark -q -w capture_duration1 -a duration:1 -z io,stat,1
Acquisisci pacchetti di rete per un host specifico
Utilizzare l'esempio seguente per acquisire il flusso di pacchetti per un host particolare (pacchetti trasmessi e ricevuti). In questo esempio, possiamo vedere che per ogni secondo quanti pacchetti vengono trasmessi nella rete per l'host 192.168.1.185
# tshark -S -q -w capture_duration6 -a duration:6 -z io,stat,1,ip.addr==192.168.1.150 After capturing all the packets for 6 seconds duration, it will print the statistics as like the following, 145 packets dropped 19749 packets captured IO Statistics Interval: 1.000 secs Column #0: ip.addr==192.168.1.185 | Column #0 Time |frames| bytes 000.000-001.000 2733 545242 001.000-002.000 2991 583374 002.000-003.000 3310 650716 003.000-004.000 3236 641896 004.000-005.000 3518 690860 005.000-006.000 3310 654988 006.000-007.000 638 122812
Acquisisci pacchetti di rete su una porta specifica
Questo esempio acquisisce solo i pacchetti ssh.
# tshark -f “tcp port 22” -w capture_out
Acquisisci pacchetti di rete per una durata specifica
L'esempio seguente acquisirà i pacchetti per una durata specifica (5 secondi), passerà al file successivo quando la dimensione del file di acquisizione raggiunge una determinata dimensione (1000 KB).
# tshark -a filesize:1000 -a duration:5 -a files:5 -w ethcap1
Esempio di nome del file di acquisizione dell'output con dimensione:
ethcap1_00001_20090216174203 - 1000K ethcap1_00002_20090216174205 - 1000K ethcap1_00003_20090216174207 - 835K
Altri comandi di cattura di tshark
Utilizzare l'opzione -c, per acquisire i pacchetti fino a un determinato numero di pacchetti. L'esempio seguente crea il file ethcap1 solo con 10 pacchetti.
# tshark -c 10 -w ethcap1
Usa l'opzione -r per leggere i pacchetti di rete da un file compresso.
# tshark -r capture_dump.gz
Utilizzare l'opzione -r, per visualizzare solo tipi di pacchetti specifici. L'esempio seguente crea il file capture_dump solo con i pacchetti rtp nell'analizzatore di rete.
# tshark -R “rtp” -r capture_dump
Usa il filtro qui sotto per catturare i pacchetti TCP che fluiscono nella porta 1720.
# tshark -f “tcp port 1720”
L'esempio seguente acquisirà i pacchetti che arrivano alla porta 1720 o 1721.
# tshark -f “port 1720 or port 1721” -w capture_dump
Per impostazione predefinita, tshark utilizzerà il dispositivo eth0 per eseguire l'acquisizione dei pacchetti. Puoi anche specificare un adattatore Ethernet specifico usando l'opzione -i come mostrato di seguito.
# tshark -i eth1 -w -a duration:10 capture_dump
Questo articolo è stato scritto da Balakrishnan Mariyappan. Lavora in bk Systems (p) Ltd, ed è interessato a contribuire all'open source. The Geek Stuff accoglie con favore i tuoi suggerimenti e gli articoli degli ospiti.