TCPFLOW - Analisis dan Debug Lalu Lintas Jaringan di Linux
- 2551
- 351
- Dr. Travis Bahringer
Tcpflow adalah alat berbasis baris perintah gratis, open source, yang kuat untuk menganalisis lalu lintas jaringan pada sistem seperti Unix seperti Linux. Ini menangkap data yang diterima atau ditransfer melalui koneksi TCP, dan menyimpannya dalam file untuk analisis selanjutnya, dalam format yang berguna yang memungkinkan untuk analisis protokol dan debugging.
Baca juga: 16 Alat Pemantauan Bandwidth Terbaik untuk Menganalisis Penggunaan Jaringan di Linux
Ini sebenarnya adalah alat seperti tcpdump karena memproses paket dari kawat atau dari file yang disimpan. Itu mendukung ekspresi penyaringan kuat yang sama yang didukung oleh rekannya. Satu -satunya perbedaan adalah bahwa TCPFlow menempatkan semua paket TCP ke dalam urutan dan merakit setiap aliran dalam file terpisah (file untuk setiap arah aliran) untuk analisis nanti.
Set fiturnya mencakup sistem plug-in canggih untuk mendekompresi koneksi HTTP terkompresi, membatalkan pengkodean MIME, atau memohon program pihak ketiga untuk pasca pemrosesan dan banyak lagi.
Ada banyak kasus penggunaan untuk TCPFLOW yang termasuk untuk memahami aliran paket jaringan dan juga dukungan untuk melakukan forensik jaringan dan membocorkan konten sesi HTTP.
Cara menginstal tcpflow di sistem linux
Tcpflow tersedia dalam repositori resmi distribusi GNU/Linux utama, Anda dapat menginstalnya menggunakan Paket Manajer seperti yang ditunjukkan.
$ sudo apt install tcpflow #debian/ubuntu $ sudo yum instal tcpflow #centos/rhel $ sudo dnf instal tcpflow #fedora 22+
Setelah menginstal TCPFLOW, Anda dapat menjalankannya dengan hak istimewa superuser, jika tidak gunakan Perintah sudo. Perhatikan bahwa itu mendengarkan antarmuka jaringan aktif (misalnya ENP0S3).
$ sudo tcpflow TCPFLOW: Mendengarkan di ENP0S3
Secara default TCPFLOW menyimpan semua data yang ditangkap dalam file yang memiliki nama dalam formulir (ini mungkin berbeda jika Anda menggunakan opsi tertentu seperti cap waktu).
Sumberip.SourcePort-Destip.Destport 192.168.043.031.52920-216.058.210.034.00443
Sekarang mari kita lakukan daftar direktori untuk melihat apakah aliran TCP telah ditangkap dalam file apa pun.
$ ls -1 Total 20 -RW-R-R--. 1 root root 808 Sep 19 12:49 192.168.043.031.52920-216.058.210.034.00443 -RW-R-R--. 1 root root 59 Sep 19 12:49 216.058.210.034.00443-192.168.043.031.52920
Seperti yang kami sebutkan sebelumnya, setiap aliran TCP disimpan dalam file sendiri. Dari output di atas, Anda dapat melihat bahwa ada tiga file transkrip, yang mengindikasikan TCPFlow dalam dua arah yang berlawanan, di mana IP sumber dalam file pertama dan IP tujuan dalam file kedua dan sebaliknya.
File pertama 192.168.043.031.52920-216.058.210.034.00443 berisi data yang ditransfer dari host 192.168.043.031 (Localhost tempat tcpflow dijalankan) melalui port 52920, untuk menyelenggarakan 216.058.210.034 (host jarak jauh) melalui port 443.
Dan file kedua 216.058.210.034.00443-192.168.043.031.52920 berisi data yang dikirim dari host 216.058.210.034 (host jarak jauh) melalui port 443 untuk menyelenggarakan 192.168.043.031 (Localhost tempat tcpflow dijalankan) melalui port 52920.
Ada juga sebuah Xml Laporan yang Dihasilkan, yang berisi informasi tentang program seperti bagaimana itu dikompilasi, dan komputer dijalankan dan catatan setiap koneksi TCP.
Seperti yang mungkin Anda perhatikan, TCPFLOW menyimpan file transkrip di direktori saat ini secara default. Itu -Hai
Opsi dapat membantu Anda menentukan direktori output di mana file transkrip akan ditulis.
$ sudo tcpflow -o tcpflow_files $ sudo ls -l tcpflow_files Total 32 -RW-R-R--. 1 root root 1665 Sep 19 12:56 157.240.016.035.00443-192.168.000.103.45986 -RW-R-R--. 1 root root 45 Sep 19 12:56 169.044.082.101.00443-192.168.000.103.55496 -RW-R-R--. 1 root root 2738 Sep 19 12:56 172.217.166.046.00443-192.168.000.103.39954 -RW-R-R--. 1 root root 68 Sep 19 12:56 192.168.000.102.00022-192.168.000.103.42436 -RW-R-R--. 1 root root 573 Sep 19 12:56 192.168.000.103.39954-172.217.166.046.00443 -RW-R-R--. 1 root root 4067 19 Sep 12:56 192.168.000.103.45986-157.240.016.035.00443 -RW-R-R--. 1 root root 38 Sep 19 12:56 192.168.000.103.55496-169.044.082.101.00443 -RW-R-R--. 1 root root 3159 19 Sep 12:56 Laporan.xml
Anda juga dapat mencetak isi paket stdout Saat diterima, tanpa menyimpan data yang ditangkap ke file, menggunakan -C
Bendera sebagai berikut.
Untuk menguji ini secara efektif, buka terminal kedua dan jalankan a ping, atau menelusuri internet. Anda harus dapat melihat detail ping atau detail penelusuran Anda ditangkap oleh TCPFlow.
$ sudo tcpflow -c
Dimungkinkan untuk menangkap semua lalu lintas di port tertentu, misalnya port 80 (Http). Dalam hal lalu lintas HTTP, Anda akan dapat melihat header HTTP diikuti oleh konten semua di stdout atau dalam satu file jika -C
sakelar dilepas.
$ sudo tcpflow port 80
Untuk menangkap paket dari antarmuka jaringan tertentu, gunakan -Saya
Bendera untuk menentukan nama antarmuka.
$ sudo tcpflow -i eth0 port 80
Anda juga dapat menentukan host target (nilai yang diterima adalah alamat IP, nama host atau domain), seperti yang ditunjukkan.
$ sudo tcpflow -c host 192.68.43.1 atau $ sudo tcpflow -c host www.Google.com
Anda dapat mengaktifkan semua pemrosesan menggunakan semua pemindai dengan -A
bendera, ini setara dengan -e
Semua beralih.
$ sudo tcpflow -a atau $ sudo tcpflow -e semua
Pemindai tertentu juga dapat diaktifkan; Pemindai yang tersedia termasuk MD5, HTTP, NetViz, TCPDemux dan Wifiviz (Run tcpflow -h Untuk melihat informasi terperinci tentang setiap pemindai).
$ sudo tcpflow -e http atau $ sudo tcpflow -e md5 atau $ sudo tcpflow -e netviz atau $ sudo tcpflow -e tcpdemux atau $ sudo tcpflow -e wifiviz
Contoh berikut menunjukkan cara mengaktifkan semua pemindai kecuali tcpdemux.
$ sudo tcpflow -a -x tcpdemux
TCPFLOW biasanya mencoba memasukkan antarmuka jaringan ke dalam mode promiscuous sebelum menangkap paket. Anda dapat mencegah ini menggunakan -P
bendera seperti yang ditunjukkan.
$ sudo tcpflow -p -i eth0
Untuk membaca paket dari file PCAP TCPDUMP, gunakan -R
bendera.
$ sudo tcpflow -f file.PCAP
Anda dapat mengaktifkan mode verbose menggunakan -v
atau -d 10
pilihan.
$ sudo tcpflow -v atau $ sudo tcpflow -d 10
Penting: Satu batasan tcpflow adalah bahwa, pada saat ini ia tidak memahami fragmen IP, sehingga data yang ditransmisikan sebagai bagian dari koneksi TCP yang mengandung fragmen IP tidak akan ditangkap dengan benar.
Untuk informasi lebih lanjut dan opsi penggunaan, lihat tcpflow Halaman Manusia.
$ man tcpflow
TCPFlow Github Repository: https: // github.com/simsong/tcpflow
Itu saja untuk saat ini! Tcpflow adalah perekam aliran TCP yang kuat yang berguna untuk memahami aliran paket jaringan dan melakukan forensik jaringan, dan banyak lagi. Cobalah dan bagikan pemikiran Anda tentang hal itu dengan kami di komentar.
- « Cara mengunduh trek mp3 dari video youtube menggunakan youtube-DL
- Cara mencari tahu jenis file di Linux »