GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan Perintah tshark Wireshark untuk Port Kustom dan File Teks

Wireshark adalah penganalisis paket sumber terbuka yang digunakan untuk analisis jaringan.

Itu dapat menangkap, membedah, dan memecahkan kode berbagai protokol.

Dalam tutorial ini kita akan membahas beberapa skenario bermasalah dan cara menggunakan alat baris perintah wireshark untuk menganalisis paket.

Skenario 1:Menggunakan Port non-standar dengan tshark untuk Analisis

Wireshark dapat membedah dan memecahkan kode protokol tertentu (terdapat dalam pesan payload) berdasarkan nomor port yang ditetapkan untuk protokol tersebut, yang disimpan dalam file preferensinya.

Misalkan tshark sedang membedah paket ldap, dan nomor port default untuk server ldap adalah 389. Jika sebuah pesan memiliki nomor port 389 baik di port sumber atau port tujuan, tshark akan memahami bahwa itu adalah pesan ldap dan akan mendekodekannya dengan benar.

Tetapi jika ldap dikonfigurasi pada beberapa nomor port lain, kita perlu secara eksplisit menentukan nomor port ke alat tersebut. Kita dapat melakukannya menggunakan salah satu dari dua metode berikut:

Nomor Port Hardcode dalam File Preferensi

Metode pertama adalah membuat daftar semua nomor port lain yang ingin Anda konfigurasikan di file preferensi wireshark.

File preferensi Wireshark adalah ~/.wireshark/preferences.

Berikut ini adalah bagian ldap dari file preferensi ~/.wireshark/preferences:

Jika Server LDAP Anda dikonfigurasi pada nomor port 400, cukup tambahkan nomor port ke nilai yang ada seperti yang ditunjukkan di bawah ini:

# Set the port for LDAP operations
ldap.tcp.port: 389,400

# Set the port for LDAP operations over SSL
ldap.ssl.port: 636,400

# Set the TCP port for messages (if other than the default of 646)
ldp.tcp.port: 646,400

# Set the UDP port for messages (if other than the default of 646)
ldp.udp.port: 646,400

Gunakan tshark Command Line -o Option

Tentukan informasi port menggunakan opsi -o. Formatnya harus persis dengan cara yang sama seperti yang tercantum dalam file preferensi seperti yang ditunjukkan pada contoh.

# tshark -r ../temp.pcap  -o ldap.tcp.port:389

Mari kita gunakan protokol diameter sebagai contoh. Jika Anda tidak memberikan informasi port ke tshark, itu tidak akan membedah bagian payload, karena no port tidak ada di file preferensi.

# tshark -r ../temp.pcap
Data (204 bytes)
0000  01 00 00 cc 00 00 01 2e 01 00 00 00 86 26 73 df   .............&s.
0010  dc 67 4a 66 00 00 01 07 40 00 00 2c 61 61 61 3a   .gJf....@..,aaa:
0020  2f 2f 31 30 2e 34 39 2e 31 31 2e 31 35 30 3a 34   //10.49.11.150:4
0030  38 37 38 3b 31 33 36 38 37 37 39 35 37 30 3b 32   878;1368779570;2
0040  00 00 01 08 40 00 00 22 68 73 73 2d 32 2e 68 73   ....@.."bss-2.bs
0050  73 62 6c 61 64 65 2e 72 61 6e 63 6f 72 65 2e 63   damadd.anduore.c
0060  6f 6d 00 00 00 00 01 28 40 00 00 1c 68 73 73 62   od.....(@...badb
0070  6c 61 64 65 2e 72 61 6e 63 6f 72 65 2e 63 6f 6d   pale.ramcoe.com
0080  00 00 01 29 40 00 00 20 00 00 01 0a 40 00 00 0c   ...)@.. ....@...
0090  00 00 28 af 00 00 01 2a 40 00 00 0c 00 00 13 89   ..(....*@.......
00a0  00 00 01 15 40 00 00 0c 00 00 00 01 00 00 01 04   ....@...........
00b0  40 00 00 20 00 00 01 02 40 00 00 0c 01 00 00 00   @.. ....@.......
00c0  00 00 01 0a 40 00 00 0c 00 00 28 af               ....@.....(.
    Data: 010000cc0000012e01000000862673dfdc674a6600000107...
    [Length: 204]

Saat Anda menggunakan opsi -R , itu bahkan tidak akan mencetak satu karakter pun.

# tshark -r ../temp.pcap  -V -R diameter
Running as user "root" and group "root". This could be dangerous.

Saat Anda memberikan informasi nomor port untuk diameter seperti yang ditunjukkan di bawah ini, perintah tshark akan bekerja seperti yang diharapkan dan menampilkan informasi yang sesuai.

# tshark -r ../temp.pcap -odiameter.tcp.ports:3868 -R diameter
Running as user "root" and group "root". This could be dangerous.
  1   0.000000 192.168.129.11 -> 192.168.129.68 DIAMETER cmd=Location-InfoRequest(302) flags=R--- appl=3GPP Cx(16777216) h2h=862673df e2e=dc674a66
  2   0.002474 192.168.129.68 -> 192.168.129.11 DIAMETER cmd=Location-InfoAnswer(302) flags=---- appl=3GPP Cx(16777216) h2h=862673df e2e=dc674a66

Skenario 2:Analisis hanya menggunakan Buffer Byte Paket

Jika Anda tidak memiliki file pcap, dan hanya memiliki buffer byte paket, gunakan metode ini.

Misalkan dalam file log server pengembangan Anda, Anda menemukan bytearray paket, dan Anda ingin menganalisisnya menggunakan tshark.

Pertama-tama, konversikan array byte ke dalam format hex, printf(%2X) sederhana akan melakukannya.

3c d9 2b 09 fb 24 00 26 b9 8c 89 a6 08 00 45 00
01 20 d6 cb 40 00 40 06 08 9c ac 10 81 0b ac 10
81 44 c4 96 0f 1c 0a 46 92 fc 64 6e 47 7b 80 18
00 36 32 36 00 00 01 01 08 0a 32 02 45 fa 04 e0
ba f4 01 00 00 ec 80 00 01 2e 01 00 00 00 86 26
73 de dc 67 4a 65 00 00 01 07 40 00 00 2c 61 61
61 3a 2f 2f 31 30 2e 34 39 2e 31 31 2e 31 35 30

Sekarang Anda ingin menyaring informasi dari output di atas. Hal pertama yang perlu Anda lakukan adalah mengatur offset untuk array byte ini dan menambahkan ini di setiap baris, Anda dapat menulis kode untuk mengotomatiskannya.

0000   3c d9 2b 09 fb 24 00 26 b9 8c 89 a6 08 00 45 00 
0010   01 20 d6 cb 40 00 40 06 08 9c ac 10 81 0b ac 10 
0020   81 44 c4 96 0f 1c 0a 46 92 fc 64 6e 47 7b 80 18 
0030   00 36 32 36 00 00 01 01 08 0a 32 02 45 fa 04 e0 
0040   ba f4 01 00 00 ec 80 00 01 2e 01 00 00 00 86 26 
0050   73 de dc 67 4a 65 00 00 01 07 40 00 00 2c 61 61 
0060   61 3a 2f 2f 31 30 2e 34 39 2e 31 31 2e 31 35 30 

Gunakan text2pcap dan ubah ini menjadi file pcap:

$ text2pcap a.txt a.pcap
Input from: a.txt
Output to: a.pcap
Wrote packet of 302 bytes at 0
Read 1 potential packet, wrote 1 packet

Gunakan tshark pada file pcap ini:

$ tshark -r a.pcap
  1   0.000000 172.16.129.11 -> 172.16.129.68 DIAMETER 302 cmd=Location-InfoRequest(302) flags=R--- appl=3GPP Cx(16777216) h2h=862673de e2e=dc674a65

Seperti yang Anda lihat pada output di bawah, kami baru saja mendekode bytearray menjadi sesuatu yang bermakna.

$ tshark -r a.pcap -V | grep AVP
    AVP: Session-Id(263) l=44 f=-M- val=aaa://10.20.11.140:4878;1368779570;1
    AVP: Destination-Realm(283) l=28 f=-M- val=pal.core
    AVP: Destination-Host(293) l=21 f=-M- val=192.11.121.35
    AVP: Origin-Host(264) l=20 f=-M- val=10.20.11.140
    AVP: Origin-Realm(296) l=19 f=-M- val=ffix

Linux
  1. Cara Menggunakan Awk dan Ekspresi Reguler untuk Memfilter Teks atau String dalam File

  2. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  3. Apa itu Perintah cURL Dan Bagaimana Cara Menggunakannya?

  1. Bagaimana saya menggunakan Ansible dan anacron untuk otomatisasi

  2. Cara menggunakan Ranger untuk menavigasi file dari baris perintah

  3. Cara Menggunakan Perintah Grep untuk Menemukan Teks di File

  1. Cara Membuat dan Menggunakan Fakta Kustom di Ansible

  2. Perintah Tail Linux:Apa Itu dan Bagaimana Cara Menggunakannya

  3. Cara Menggunakan Perintah SFTP untuk Mentransfer File