NGREP - Penganalisis paket rangkaian untuk Linux

NGREP - Penganalisis paket rangkaian untuk Linux

Ngrep (Rangkaian Grep) adalah penganalisis paket rangkaian yang sederhana namun berkuasa. Ini adalah alat seperti GREP yang digunakan pada lapisan rangkaian - ia sepadan dengan lalu lintas melalui antara muka rangkaian. Ia membolehkan anda menentukan ungkapan biasa atau heksadesimal yang dilanjutkan untuk dipadankan dengan muatan data (maklumat atau mesej sebenar dalam data yang dihantar, tetapi bukan metadata yang dihasilkan secara automatik).

Alat ini berfungsi dengan pelbagai jenis protokol, termasuk IPv4/6, TCP, UDP, ICMPv4/6, IGMP serta mentah pada beberapa antara muka. Ia beroperasi dengan cara yang sama dengan alat sniffing paket tcpdump.

Pakej ngrep tersedia untuk dipasang dari repositori sistem lalai dalam pengagihan linux arus perdana menggunakan alat pengurusan pakej seperti yang ditunjukkan.

$ sudo apt pemasangan ngrep $ sudo yum memasang ngrep $ sudo dnf pemasangan ngrep 

Selepas memasang ngrep, Anda boleh mula menganalisis lalu lintas di rangkaian Linux anda menggunakan contoh berikut.

1. Perintah berikut akan membantu anda memadankan semua permintaan ping pada antara muka kerja lalai. Anda perlu membuka terminal lain dan cuba ping mesin terpencil yang lain. The -q Bendera Beritahu ngrep Untuk bekerja secara diam -diam, tidak mengeluarkan sebarang maklumat selain tajuk paket dan muatan mereka.

$ sudo ngrep -q '."ICMP ' Antara muka: ENP0S3 (192.168.0.0/255.255.255.0) Penapis: (ICMP) dan ((ip || ip6) || (vlan && (ip || ip6))) Padankan: . I 192.168.0.104 -> 192.168.0.103 8: 0] ... ~ og [... J .. !"#$%& '()*+,-./01234567 i 192.168.0.103 -> 192.168.0.104 0: 0] ... ~ og [... J .. !"#$%& '()*+,-./01234567 i 192.168.0.104 -> 192.168.0.103 8: 0] ... OG [.. !"#$%& '()*+,-./01234567 i 192.168.0.103 -> 192.168.0.104 0: 0] ... og [.. !"#$%& '()*+,-./01234567 

Anda boleh tekan Ctrl + c untuk menamatkannya.

2. Untuk dipadankan hanya trafik pergi ke tapak destinasi tertentu, misalnya 'Google.com ', Jalankan arahan berikut, kemudian cuba mengaksesnya dari penyemak imbas.

$ sudo ngrep -q '."Tuan rumah Google.com ' Antara muka: ENP0S3 (192.168.0.0/255.255.255.0) Penapis: (Hos Google.com) dan ((ip || ip6) || (vlan && (ip || ip6))) Padankan: . T 172.217.160.174: 443 -> 192.168.0.103: 54008 [AP] ...;.(... rzr ... $ ... s = ... l.Q+r.U ... 4 ... g.J ... i,.L ...: y.A, ... C 5> [E -mel dilindungi] t 172.217.160.174: 443 -> 192.168.0.103: 54008 [AP] ... l .. !,0HJ ... 0.%F .. !... l | ... pl ... x ... t ... t.2dc ... y ... ~ y; [dilindungi e -mel] 

3. Jika anda melayari web, maka jalankan arahan berikut untuk memantau fail mana penyemak imbas anda meminta:.

$ sudo ngrep -q '^get .* Http/1.[01] ' Antara muka: ENP0S3 (192.168.0.0/255.255.255.0) penapis: ((ip || ip6) || (vlan && (ip || ip6))) perlawanan: ^get .* Http/1.[01] t 192.168.0.104: 43040 -> 172.217.160.174: 80 [AP] Dapatkan / http / 1.1 ... Host: Google.com ... ejen pengguna: pautan (2.13; Linux 4.17.6-1.EL7.Elrepo.x86_64 x86_64; GNU C 4.8.5; teks) ... terima:*/*... menerima bahasa: en,*; q = 0.1 ... menerima pengekodan: gzip, deflate, bzip2 ... menerima-charset: US-Ascii, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, I SO-8859-13, ISO-8859-14, ISO-8859-15, ISO -8859-16, Windows-1250, Windows-1251, Windows-1252, Windows-1256, Windows-1257, CP437, CP737, CP850, CP852, CP866, X-CP866-U, X-MAC, X-MAC-CO , X-KAM-CS, KOI8-R, KOI8-U, KOI8-RU, TCVN-5712, VISCII, UTF-8 ... Sambungan: Keep-Alive .. 

4. Untuk melihat semua sumber penyebaran aktiviti atau pelabuhan destinasi 25 (SMTP), jalankan arahan berikut.

$ sudo ngrep port 25 

5. Untuk memantau mana-mana trafik syslog berasaskan rangkaian untuk berlakunya perkataan "Ralat", Gunakan arahan berikut.

 $ sudo ngrep -d sebarang 'ralat' port 514 

Yang penting, alat ini boleh menukar nama port perkhidmatan yang disimpan dalam "/Etc/perkhidmatan" (pada sistem seperti Unix seperti Linux) ke nombor port. Perintah ini bersamaan dengan arahan di atas.

$ sudo ngrep -d mana -mana 'ralat' port syslog 

6. Anda juga boleh menjalankan NGREP terhadap Http pelayan (port 80), ia akan sepadan dengan semua permintaan ke hos destinasi seperti yang ditunjukkan.

$ sudo ngrep port 80 antara muka: ETH0 (64.90.164.72/255.255.255.252) Penapis: IP dan (port 80) #### t 67.169.59.38: 42167 -> 64.90.164.74:80 [AP] Dapatkan / http / 1.1 ... ejen pengguna: Mozilla/4.0 (serasi; MSIE 6.0; X11; Linux I 686) Opera 7.21 [en] ... Host: www.Darkridge.com ... terima: teks/html, aplikasi ion/xml; q = 0.9, Aplikasi/XHTML+XML; Q = 0.9, imej/png, imej/jpeg, imej/gi f, imej/x-xbitmap, */ *; q = 0.1 ... Terima-Charset: ISO-8859-1, UTF-8, UTF-16, *; Q = 0.1 ... menerima pengekodan: deflate, gzip, x-gzip, identiti, *; q = 0 ... cookie: sq msessid = 5272f9ae21c07eca4dfd75f9a3cda22e ... cookie2: $ version = 1 ... Chunked, identiti, treler ... ## 

Seperti yang dapat anda lihat dalam output di atas semua penghantaran HTTP Headers dipaparkan dalam perincian gory mereka. Sukar untuk menghuraikan, jadi mari kita lihat apa yang berlaku apabila anda memohon -W mod BYLINE.

$ sudo ngrep -w byline port 80 antara muka: ETH0 (64.90.164.72/255.255.255.252) Penapis: IP dan (port 80) #### t 67.169.59.38: 42177 -> 64.90.164.74:80 [AP] Dapatkan / http / 1.1. Ejen pengguna: Mozilla/4.0 (serasi; MSIE 6.0; X11; Linux i686) Opera ... Host: www.Darkridge.com. Terima: Teks/HTML, Aplikasi/XML; Q = 0.9, Aplikasi/XHTML+XML; Q = 0.9 ... Terima-Charset: ISO-8859-1, UTF-8, UTF-16, *; Q = 0.1. Menerima pengekodan: deflate, gzip, x-gzip, identiti, *; q = 0. Cookie: sqmsesssid = 5272F9AE21C07ECA4DFD75F9A3CDA22E. Cookie2: $ versi = 1. Cache-Control: No-cache. Sambungan: Keep-Alive, TE. TE: Deflate, Gzip, Chunked, Identity, Trailer. 

7. Untuk mencetak a Timestamp dalam bentuk Yyyy/mm/dd hh: mm: ss.Uuuuuu Setiap kali paket dipadankan, gunakan -t bendera.

$ sudo ngrep -t -w byline port 80 Antara muka: ENP0S3 (192.168.0.0/255.255.255.0) Penapis: (port 80) dan ((ip || ip6) || (vlan && (ip || ip6))) #### t 2018/07/12 16:33:19.348084 192.168.0.104: 43048 -> 172.217.160.174: 80 [AP] Dapatkan / http / 1.1. Hos: Google.com. Ejen pengguna: pautan (2.13; Linux 4.17.6-1.EL7.Elrepo.x86_64 x86_64; GNU C 4.8.5; teks). Terima: */ *. Menerima bahasa: en,*; q = 0.1. Menerima Pengekodan: GZIP, DEFLATE, BZIP2. Terima-Charset: US-ASCII, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, UTF-8. Sambungan: Keep-Alive. 

8. Untuk mengelakkan meletakkan antara muka yang dipantau ke dalam mod rambang (di mana ia memintas dan membaca setiap paket rangkaian yang tiba secara keseluruhannya), tambahkan -p bendera.

$ sudo ngrep -p -w byline port 80 

9. Pilihan penting lain ialah -N yang berguna sekiranya anda memerhatikan protokol mentah atau tidak diketahui. Ia memberitahu ngrep Untuk memaparkan nombor sub-protokol bersama-sama dengan pengecam watak tunggal.

$ sudo ngrep -n -w byline 

Untuk maklumat lanjut, lihat ngrep halaman lelaki.

$ man ngrep 

repositori ngrep github: https: // github.com/jpr5/ngrep

Itu sahaja! Ngrep (Rangkaian Grep) adalah penganalisis paket rangkaian yang memahami logik penapis BPF dalam fesyen tcpdump yang sama. Kami ingin mengetahui pendapat anda mengenai ngrep di bahagian komen.