GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Wireshark Tshark untuk Menentukan File, Waktu, Batas Pengambilan Buffer

Tutorial ini menjelaskan beberapa skenario praktis dan berguna dalam menggunakan perintah tshark.

Anda akan memahami cara menyimpan rekaman secara otomatis ke beberapa file, menyimpan rekaman secara otomatis berdasarkan batas waktu, menentukan ukuran buffer Anda sendiri untuk pengambilan, mengekstrak bidang tertentu dari pengambilan, dan menampilkan statistik untuk protokol tertentu dari pengambilan.

1. Simpan Otomatis Tangkapan ke Beberapa File

Misalnya di server produksi Anda, Anda ingin menangkap data lalu lintas untuk jangka waktu yang lama. Anda suka menggunakan tangkapan ini nanti untuk menganalisis data.

Dalam situasi itu, alih-alih menyimpan semua output dalam satu file, Anda mungkin ingin secara otomatis memecah tangkapan menjadi beberapa file berdasarkan ukuran yang Anda tentukan.

Contoh berikut akan menangkap lalu lintas jaringan menjadi 20 file, masing-masing berukuran 100 KB, dan kemudian pengambilan akan berhenti secara otomatis.

# tshark -b filesize:100 -a files:20 -w temp.pcap 
Running as user "root" and group "root". This could be dangerous. 
Capturing on eth0 
28 

# ls -lrt 
total 12 
-rw------- 1 root root 1088 Apr 10 16:02 capture_00001_20140410160213.pcap 
-rw------- 1 root root 1088 Apr 10 16:02 capture_00002_20140410160215.pcap

Di atas:

  • -b adalah opsi penyangga dering
  • filesize:100 menunjukkan bahwa ukuran maksimum file tangkapan keluaran adalah 100 KB
  • files:20 menunjukkan bahwa jumlah total file output yang harus dibuat adalah 20
  • -a menunjukkan berhenti otomatis

2. Simpan Otomatis Pengambilan Berdasarkan Batas Waktu

Contoh berikut akan menangkap lalu lintas jaringan ke beberapa file. Tapi, itu akan beralih ke file baru ketika ukuran file mencapai 10240 KB atau ketika 1 detik telah berlalu. Anda dapat menggunakan kondisi auto-stop yang sesuai.

# tshark -b filesize:10240 -b duration:1 -w temp.pcap 
Running as user "root" and group "root". This could be dangerous. 
Capturing on eth0 
34 

# ls -lrt 
-rw------- 1 root root 1863 Apr 10 16:13 temp_00001_20140410161312.pcap 
-rw------- 1 root root 1357 Apr 10 16:13 temp_00002_20140410161313.pcap 
-rw------- 1 root root 1476 Apr 10 16:13 temp_00003_20140410161314.pcap 
-rw------- 1 root root 1216 Apr 10 16:13 temp_00004_20140410161315.pcap

3. Tentukan Ukuran Buffer Tangkap

Skenario ini berguna saat Anda menghadapi paket yang jatuh selama pengambilan.

Dalam situasi tersebut, Anda dapat menentukan ukuran buffer pengambilan dalam MB menggunakan opsi -B. Ukuran tangkapan default adalah 1MB.

Ini digunakan oleh driver penangkap untuk menyangga data paket hingga data tersebut dapat ditulis ke disk. Jika Anda mengalami penurunan paket saat merekam, coba tambah ukuran ini.

# tshark -B 2 
2.	Running as user "root" and group "root". This could be dangerous. 
3.	Capturing on eth0 
4.	  0.000000 LannerEl_24:eb:40 -> Broadcast    ARP 60 Who has 10.30.59.101?  Tell 10.30.32.1 
5.	  0.064507 LannerEl_24:eb:40 -> Broadcast    ARP 60 Who has 10.70.11.143?  Tell 10.70.0.1 
6.	  0.067515 LannerEl_24:eb:40 -> Broadcast    ARP 60 Who has 10.70.11.143?  Tell 10.70.0.1 
7.	  0.089554 LannerEl_24:eb:40 -> Broadcast    ARP 60 Who has 10.30.50.212?  Tell 10.30.32.1 
8.	  0.183726 LannerEl_24:eb:40 -> Broadcast    ARP 60 Who has 10.30.36.86?  Tell 
10.30.32.1

4. Tangkap Menggunakan opsi “decode as”

Skenario ini berguna ketika Anda perlu menentukan bagaimana tipe lapisan harus dibedah.

Ini sama dengan opsi "decode as" wireshark, tetapi terkadang nilai pemilih yang ditentukan berbeda dari nilai yang ada dalam paket. Misalnya, sebuah paket diameter memiliki nomor port sumber dan tujuan yang berbeda dari 3868 (nomor port default), maka Anda perlu menentukan nilai ini ke tshark agar dapat membedahnya dengan benar.

# tshark -r capture.pcap -d sctp.port==3869,diameter   
82 212.059173 192.168.105.20 -> 192.168.105.30 DIAMETER 262 cmd=Capabilities-ExchangeRequest(257) flags=R--- appl=Diameter Common Messages(0) h2h=204a16 e2e=67700000 
 83 212.059330 192.168.105.30 -> 192.168.105.20 SCTP 62 SACK 
 84 212.078804 192.168.105.30 -> 192.168.105.20 DIAMETER 294 cmd=Capabilities-ExchangeAnswer(257) flags=---- appl=Diameter Common Messages(0) h2h=204a16 e2e=67700000 
 85 212.080569 192.168.105.30 -> 192.168.105.20 DIAMETER 146 cmd=Device-WatchdogRequest(280) flags=R--- appl=Diameter Common Messages(0) h2h=5542a29 e2e=63d00002 
 86 212.084960 192.168.105.20 -> 192.168.105.30 SCTP 62 SACK 
 87 212.084998 192.168.105.20 -> 192.168.105.30 DIAMETER 178 SACK cmd=Device-WatchdogAnswer(280) flags=---- appl=Diameter Common Messages(0) h2h=5542a29 e2e=63d00002 
 88 212.100324 192.168.105.30 -> 192.168.105.20 DIAMETER 146 cmd=Device-WatchdogRequest(280) flags=R--- appl=Diameter Common Messages(0) h2h=5542a2a e2e=63d00003 
 89 212.101629 192.168.105.20 -> 192.168.105.30 DIAMETER 178 SACK cmd=Device-WatchdogAnswer(280) flags=---- appl=Diameter Common Messages(0) h2h=5542a2a e2e=63d00003 
 90 212.110997 192.168.105.30 -> 192.168.105.20 SCTP 62 SACK 
 91 212.119855 192.168.105.30 -> 192.168.105.20 DIAMETER 146 cmd=Device-WatchdogRequest(280) flags=R--- appl=Diameter Common Messages(0) h2h=5542a2b e2e=63d00004

5. Ekstrak Bidang Tertentu

Misalnya, skenario ini berguna saat Anda ingin mengekstrak bidang tertentu dari paket protokol diameter.

Anda sudah tahu cara mengambil data untuk layanan yang berjalan pada port non-standar menggunakan perintah tshark.

Saat ini tshark mendukung opsi ini untuk beberapa set protokol.

Anda juga dapat melakukan hal yang sama menggunakan opsi -V, dan menggabungkan dengan skrip cepat atau perintah grep. Namun, metode yang ditunjukkan di bawah ini lebih cepat untuk file yang sangat besar.

# tshark  -q -r capture.pcap -R diameter -z diameter,avp,257,Origin-Host 
Running as user "root" and group "root". This could be dangerous. 
frame='82' time='212.059176' src='192.168.105.20' srcport='35132' dst='192.168.105.30' dstport='3868' proto='diameter' msgnr='0' is_request='1' cmd='257' req_frame='82' ans_frame='0' resp_time='0.000000' Origin-Host='backend.eap.testbed.aaa' 
frame='84' time='212.078807' src='192.168.105.30' srcport='3868' dst='192.168.105.20' dstport='35132' proto='diameter' msgnr='0' is_request='0' cmd='257' req_frame='82' ans_frame='84' resp_time='0.019631' Origin-Host='gw.eap.testbed.aaa' 
frame='126' time='225.283773' src='192.168.105.40' srcport='2844' dst='192.168.105.30' dstport='3868' proto='diameter' msgnr='0' is_request='1' cmd='257' req_frame='126' ans_frame='0' resp_time='0.000000' Origin-Host='opendiam.eap.testbed.aaa' 
frame='130' time='225.295815' src='192.168.105.30' srcport='3868' dst='192.168.105.40' dstport='2844' proto='diameter' msgnr='0' is_request='0' cmd='257' req_frame='126' ans_frame='130' resp_time='0.012042' Origin-Host='gw.eap.testbed.aaa' 
=== Diameter Summary === 
requset count:	2 
answer count:	2 
req/ans pairs:	2

6. Tampilkan Statistik untuk Protokol Tertentu

Anda juga dapat menampilkan statistik dari file yang dibuat untuk protokol tertentu.

Misalnya, berikut ini mencetak statistik dari file yang diambil untuk protokol HTTP

# tshark  -q -r a.pcap -R http -z http,tree 
Running as user "root" and group "root". This could be dangerous. 

=================================================================== 
 HTTP/Packet Counter           value	        rate	     percent 
------------------------------------------------------------------- 
 Total HTTP Packets               7       0.000375                
  HTTP Request Packets            4       0.000214          57.14% 
   GET                            4       0.000214         100.00% 
  HTTP Response Packets           3       0.000161          42.86% 
   2xx: Success                   2       0.000107          66.67% 
    200 OK                        2       0.000107         100.00% 
   3xx: Redirection               1       0.000054          33.33% 
    302 Found                     1       0.000054         100.00% 
   5xx: Server Error              0       0.000000           0.00% 
  Other HTTP Packets              0       0.000000           0.00% 

Linux
  1. Cara Menggunakan Perintah Tar di Linux

  2. Bagaimana Cara Menggunakan Jenis File Di Vim?

  3. Bagaimana cara menggunakan chmod untuk mengubah izin file?

  1. Cara menggunakan autofs untuk memasang share NFS

  2. Cara Menghapus File Root Mail (Kotak Surat) di Linux

  3. Cara menggunakan Perintah tshark Wireshark untuk Port Kustom dan File Teks

  1. Cara menggunakan CherryTree untuk mencatat

  2. Cara Menggunakan Perintah md5sum di Linux

  3. Linux:Bagaimana cara menggunakan file sebagai input dan output secara bersamaan?