GNU/Linux >> Belajar Linux >  >> Linux

Pemecahan Masalah Jaringan dari Command-Line dengan TShark

Salah satu cara untuk mengoptimalkan pengambilan paket adalah dengan menggunakan alat antarmuka baris perintah, dan dari semua alat yang dapat Anda temukan, TShark adalah salah satu yang harus Anda coba. TShark setara dengan Wireshark GUI, yang menyediakan informasi berharga tentang lalu lintas yang ditangkap di jaringan Anda.

Satu hal yang membuat ini hebat adalah bahwa alih-alih mengklik beberapa tombol dan menggali berbagai menu, Anda dapat mengetik hanya satu perintah untuk mendapatkan informasi yang Anda butuhkan.

Baca terus dan jangan pernah membuang waktu untuk menganalisis tangkapan paket Anda lagi!

Prasyarat

Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki yang berikut ini.

  • Mesin Linux – Tutorial ini menggunakan Ubuntu 20.04 LTS, tetapi semua distribusi Linux akan berfungsi.
  • Pengguna non-root dengan hak istimewa sudo.
  • Wireshark diinstal pada mesin Anda.

Menginstal TShark di Ubuntu

TShark tidak terinstal di distro Linux Anda secara default, jadi sebelum Anda dapat memanfaatkannya, mulailah tutorial ini dengan menginstal TShark di komputer Anda.

Dengan menggunakan manajer paket, Anda dapat menginstal di sebagian besar distribusi Linux dan sistem operasi BSD. Tetapi untuk demo ini, Anda akan menginstal menggunakan pengelola paket APT.

1. Jalankan apt update perintah di bawah ini untuk memastikan manajer paket Anda mutakhir. Perintah ini memperbarui daftar paket sistem Anda dan versinya saat ini.

sudo apt update -y

2. Selanjutnya, jalankan apt install perintah di bawah ini untuk menginstal alat baris perintah TShark di mesin Anda.

sudo apt install tshark -y

3. Jalankan tshark --version di bawah ini perintah untuk memastikan alat tersedia di sistem Anda.

tshark --version

Anda akan mendapatkan output seperti di bawah ini. Pada tulisan ini, versi saat ini adalah 3.4.8, tetapi versi Anda mungkin berbeda.

4. Terakhir, jalankan tshark --help perintah di bawah ini untuk melihat semua perintah yang tersedia. Perintah

tshark --help

Anda dapat menggunakan banyak perintahnya, seperti yang ditunjukkan di bawah ini, untuk mendapatkan informasi tentang data yang diambil di jaringan Anda. Output ini hanya menunjukkan sejumlah kecil dari perintah yang tersedia. Anda akan mempelajari penggunaan dasar dari beberapa perintah ini di bagian berikut.

Menangkap Semua Paket dari Antarmuka Jaringan

Sekarang setelah Anda menginstalnya, Anda dapat menangkap paket dan menganalisis data jaringan yang diambil. Anda dapat mengambil data jaringan menggunakan antarmuka tertentu, tetapi sebelum mengambil data, Anda harus memulai dan menentukan antarmuka jaringan tempat Anda akan mengambil data.

1. Jalankan tshark perintah untuk membuat daftar semua antarmuka jaringan yang tersedia (-D ) yang dapat ditemukan T-shark, bahkan yang lama dan tidak aktif.

sudo tshark -D 

Anda akan melihat daftar antarmuka yang tersedia di sistem Anda, seperti yang ditunjukkan di bawah ini. Jika Anda memiliki beberapa kartu jaringan yang terpasang di sistem Anda, selalu jalankan perintah tshark -D sebelum memulai dan menentukan antarmuka.

2. Selanjutnya, jalankan ip link perintah di bawah ini (pada sistem Linux dan BSD) untuk mendaftar semua antarmuka jaringan yang aktif. Anda harus memilih antarmuka jaringan yang aktif untuk digunakan.

Meskipun TShark mencantumkan semua antarmuka jaringan di sistem Anda, tidak semuanya mungkin aktif pada saat itu.

sudo ip link show 

Dalam kebanyakan kasus, Anda akan menggunakan antarmuka jaringan, seperti kartu ethernet. Dalam contoh ini, catat eth0, seperti yang ditunjukkan di bawah ini, untuk menangkap paket.

3. Terakhir, jalankan tshark berikut ini perintah untuk memilih antarmuka (-i ) dan menangkap paket langsung. Ganti interface dengan antarmuka yang Anda catat di langkah kedua.

sudo tshark -i interface

Setelah Anda mulai mengambil data, Anda akan melihat paket ditampilkan secara real-time, seperti yang ditunjukkan di bawah ini. Dan kapan saja, Anda dapat menekan Ctrl+C untuk berhenti menangkap paket.

Seperti alat penganalisis paket jaringan data populer lainnya, seperti tcpdump dan Wireshark, Tshark menggunakan pcap library (libpcap) untuk menangkap paket. Dalam hal ini, pustaka pcap digunakan untuk menangkap paket dari antarmuka eth0.

Seperti yang Anda lihat di bawah, ia mencetak bentuk dekode dari paket yang ditangkap, setiap baris dalam format yang dapat dibaca manusia ke output standar (stdout) di terminal Anda.

Menangkap Sejumlah Paket Tertentu

Misalkan Anda tertarik untuk menganalisis sejumlah paket tertentu. Jika demikian, alih-alih menangkap semua paket, tentukan jumlah paket yang akan diambil dan langsung dianalisis.

Untuk menangkap sejumlah paket tertentu, tambahkan -c opsi (menangkap jumlah paket) di tshark perintah.

Jalankan perintah berikut untuk mengambil 10 paket pertama (-c 10 ) untuk memeriksa apakah paket dirutekan ke tshark benar. Ganti 10 dengan jumlah paket pilihan Anda untuk diambil.

sudo tshark -i eth0 -c 10

Jika Anda lebih memilih untuk menangkap paket dan menekan tampilan paket, tambahkan -q pilihan sebagai gantinya. -q opsi ini berguna jika Anda hanya ingin melihat jumlah total paket yang diambil dan tidak ingin menggulir output di terminal Anda secara terus-menerus.

Jalankan perintah di bawah ini untuk menangkap paket sambil menekan (-q ) keluarannya.

sudo tshark -i eth0 -q

Segera setelah Anda menekan Ctrl+C, TShark mencetak jumlah total paket yang diambil di terminal. Di bawah, Anda dapat melihat total 84 paket ditangkap.

Menangkap Paket Tertentu dengan String Filter

Mungkin jumlah paket yang ditangkap terlalu besar, dan hampir tidak mungkin untuk mencari string tertentu hanya dengan menggunakan mata Anda. Dalam hal ini, Anda harus menggunakan filter untuk menangkap paket dengan string pilihan Anda.

Anda akan menggunakan ekspresi filter tangkapan TShark untuk memilih paket berdasarkan protokol, pasangan host/port sumber/tujuan, dan sebagainya. Misalnya, koneksi SSH Anda tidak berfungsi, dan Anda ingin mengambil paket yang terkait dengan koneksi SSH saja.

Jalankan perintah di bawah ini untuk menangkap dan memfilter paket (-f ) dengan tcp port 22 string.

sudo tshark -i eth0 -f "tcp port 22" -c 10

Jika filter string tidak cukup, Anda juga dapat menggunakan filter tampilan setelah menjalankan filter tangkap untuk mempersempit pencarian dan menganalisis paket tertentu. Filter tampilan memanfaatkan operator perbandingan (!==,===,==, dan seterusnya.) untuk menguji string, pola, atau urutan byte.

Anda juga dapat menggunakan operator Boolean (dan, atau, tidak) dan mengelompokkan dengan tanda kurung untuk menentukan ekspresi yang lebih kompleks.

Misalnya, setelah Anda menemukan alamat IP yang Anda gunakan untuk terhubung ke SSH, sekarang Anda ingin menggali lebih jauh ke dalam paket. Dalam hal ini, Anda akan menggunakan == (Sama (apa pun jika lebih dari satu)) operator, seperti yang ditunjukkan di bawah ini.

Jalankan tshark perintah di bawah ini untuk menangkap dan menampilkan 10 pertama paket yang difilter (-Y ) terkait dengan 69.28.83.134 Alamat IP.

sudo tshark -i eth0 -Y 'ip.addr == 69.28.83.134' -c 10

Anda dapat melihat bahwa output di bawah ini hanya menampilkan paket yang terkait dengan 69.28.83.134 Alamat IP.

Menyimpan Paket yang Diambil ke File

Melihat paket yang diambil secara real-time memungkinkan Anda segera bertindak untuk pemecahan masalah. Tetapi mungkin Anda tidak punya waktu untuk memecahkan masalah saat ini. Jadi mengapa tidak menyimpan paket yang diambil ke file? Misalnya, koneksi SSH Anda telah berfungsi dengan baik, dan tiba-tiba koneksi tidak tersedia.

Menggulir paket di terminal tidak akan selalu memberikan informasi untuk memahami apa yang menyebabkan masalah. Dalam hal ini, Anda dapat menggunakan TShark untuk menyimpan paket yang diambil dan membaginya dengan teman atau kolega yang menurut Anda dapat membantu.

Jalankan perintah di bawah ini untuk menyimpan paket yang diambil ke file .pcap mengajukan. Perintah melakukan hal berikut:

  • Menyetel opsi buffer ring pengambilan (-b ), yang menampilkan mode banyak file. Dalam mode ini, TShark menulis paket yang diambil ke file bernomor. Setelah ukuran file pertama penuh, TShark pindah ke file berikutnya, dan seterusnya.
  • Menginstruksikan TShark untuk membuat 10 file (-a files:10 ) berisi paket-paket yang ditangkap dalam mode operasi buffer ring, setiap file berisi 1024 KB (1MB). Jika Anda tidak menambahkan files opsi, mode operasi buffer cincin akan berjalan selamanya sampai ruang disk Anda penuh atau kondisi berhenti terjadi.

Tidak ada batasan berapa banyak file yang dapat Anda gunakan dengan opsi ini. Tetapi perhatikan bahwa ukuran total semua file dalam mode operasi buffer cincin tidak dapat melebihi 2GB. Setelah batas ini tercapai, TShark menjeda dan menunggu hingga Anda mengosongkan sebagian ruang disk dengan menghapus beberapa file sebelum melanjutkan.

  • Menulis paket ke file (-w ), dalam hal ini, ata.pcap , saat Anda menjalankan pengambilan pada antarmuka tertentu (eth0 ).
sudo tshark -i eth0 -f "tcp port 22" -b filesize:1024 -a files:10 -w ata.pcap

TShark tidak menunjukkan kemajuan penulisan dan jumlah paket yang diambil secara terus-menerus saat menulis ke file. Anda hanya akan melihat jumlah paket yang diambil, seperti yang ditunjukkan di bawah ini.

Sekarang, tekan CTRL + C untuk menghentikan proses penulisan di beberapa titik. Anda akan memiliki file baru, seperti yang ditunjukkan di bawah, berisi paket yang diambil selama sesi.

Sekarang Anda dapat berbagi file ini dengan teman Anda dan melanjutkan debugging masalah bersama-sama!

Kesimpulan

Dalam tutorial ini, Anda belajar menginstal TShark di mesin Ubuntu. Anda juga belajar menambahkan filter untuk mencari paket tertentu yang diambil dan menulis paket yang diambil ke file.

Pada titik ini, Anda sudah memahami TShark dan opsi baris perintah dasarnya untuk mengelola paket. Sekarang Anda dapat mulai memecahkan masalah jaringan sendiri atau menjadikannya alasan untuk menjalin ikatan dengan beberapa teman!

Dengan pengetahuan baru ini, mengapa tidak menginstal Tshark bersama dengan Wireshark untuk Memantau Paket di AWS EC2? Atau mungkin Mengukur Bitrate Streaming Video?


Linux
  1. Pemikiran tentang Memantau perubahan file dengan Linux melalui jaringan

  2. 5 perintah pemecahan masalah jaringan Linux

  3. Bagaimana Melacak Waktu Dari Baris Perintah?

  1. Kelola koneksi jaringan dari baris perintah Linux dengan nmcli

  2. Bagaimana cara me-restart Linux (Ubuntu) dari baris perintah?

  3. Tentukan nama jaringan nirkabel dari baris perintah di Linux

  1. Jadikan peralihan dari Mac ke Linux lebih mudah dengan Homebrew

  2. Di balik layar dengan wadah Linux

  3. Pindai jaringan lokal dengan arp-scan di ubuntu