ngrep - Linux üçin tor paket analizatory


Ngrep (tor grep) ýönekeý, ýöne güýçli tor paket analizatory. Tor gatlagynda ulanylýan grep ýaly gural - tor interfeýsinden geçýän traffige gabat gelýär. Paketleriň maglumat ýüklerine (iberilýän maglumatlardaky hakyky maglumat ýa-da habar, ýöne awtomatiki usulda döredilen metadata däl) gabat gelýän giňeldilen yzygiderli ýa-da alty sanly aňlatmany kesgitlemäge mümkinçilik berýär.

Bu gural, IPv4/6, TCP, UDP, ICMPv4/6, IGMP, şeýle hem birnäçe interfeýsde Çig ýaly dürli protokollar bilen işleýär. Tcpdump paketini ýuwmak guraly bilen birmeňzeş işleýär.

“Ngrep” bukjasy, görkezilişi ýaly paket dolandyryş guralyny ulanyp, esasy Linux paýlanyşynda esasy ulgam ammarlaryndan gurmak üçin elýeterlidir.

$ sudo apt install ngrep
$ sudo yum install ngrep
$ sudo dnf install ngrep

Ngrep guranyňyzdan soň, Linux toruňyzdaky traffigi aşakdaky mysallardan peýdalanyp analiz edip bilersiňiz.

1. Aşakdaky buýruk, deslapky iş interfeýsindäki ähli ping haýyşlaryna laýyk gelmäge kömek eder. Başga bir terminaly açmaly we başga bir uzak enjamy sokmaga synanyşmaly. -q baýdagy ngrep-ä ýuwaş işlemegi, paket sözbaşylaryndan we ýük göterijilerinden başga hiç hili maglumat çykarmazlygy tabşyrýar.

$ sudo ngrep -q '.' 'icmp'

interface: enp0s3 (192.168.0.0/255.255.255.0)
filter: ( icmp ) and ((ip || ip6) || (vlan && (ip || ip6)))
match: .

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  

Inateatyrmak üçin Ctrl + C basyp bilersiňiz.

2. Diňe belli bir sahypa gidýän traffige gabat gelmek üçin, mysal üçin google.com, aşakdaky buýrugy işlediň, soňra brauzerden girmäge synanyşyň.

$ sudo ngrep -q '.' 'host google.com'

interface: enp0s3 (192.168.0.0/255.255.255.0)
filter: ( host google.com ) and ((ip || ip6) || (vlan && (ip || ip6)))
match: .

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>[email                                                                        

T 172.217.160.174:443 -> 192.168.0.103:54008 [AP]
  .............l.......!,0hJ....0.%F..!...l|.........PL..X...t..T.2DC..... ..y...~Y;[email 

3. Webde gezýän bolsaňyz, brauzeriňiziň haýsy faýllary soraýandygyna gözegçilik etmek üçin aşakdaky buýrugy işlediň :.

$ sudo ngrep -q '^GET .* HTTP/1.[01]'

interface: enp0s3 (192.168.0.0/255.255.255.0)
filter: ((ip || ip6) || (vlan && (ip || ip6)))
match: ^GET .* HTTP/1.[01]

T 192.168.0.104:43040 -> 172.217.160.174:80 [AP]
  GET / HTTP/1.1..Host: google.com..User-Agent: Links (2.13; Linux 4.17.6-1.el7.elrepo.x86_64 x86_64; 
  GNU C 4.8.5; text)..Accept: */*..Accept-Language: en,*;q=0.1..Accept-
  Encoding: gzip, deflate, bzip2..Accept-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-ce,x-
  kam-cs,koi8-r,koi8-u,koi8-ru,TCVN-5712,VISCII,utf-8..Connection: keep-alive.... 

4. activityhli işjeňlik kesiş çeşmesini ýa-da barmaly port 25 (SMTP) görmek üçin aşakdaky buýrugy işlediň.

$ sudo ngrep port 25

5.\ýalňyşlyk sözüniň ýüze çykmagy üçin islendik ulgam esasly syslog traffigine gözegçilik etmek üçin aşakdaky buýrugy ulanyň.

 
$ sudo ngrep -d any 'error' port 514

Möhümi, bu gural \/etc/services (Linux ýaly Unix ýaly ulgamlarda) saklanýan hyzmat port atlaryny port belgilerine öwrüp biler. Bu buýruk ýokardaky buýruga deňdir.

$ sudo ngrep -d any 'error' port syslog

6. Şeýle hem, ngrep-i HTTP serwerine (80-nji port) garşy işledip bilersiňiz, ähli islegleri görkezilişi ýaly barjak ýer eýesine laýyk getirer.

$ sudo ngrep port 80

interface: eth0 (64.90.164.72/255.255.255.252)
filter: ip and ( port 80 )
####
T 67.169.59.38:42167 -> 64.90.164.74:80 [AP]
  GET / HTTP/1.1..User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i
  686) Opera 7.21  [en]..Host: www.darkridge.com..Accept: text/html, applicat
  ion/xml;q=0.9, application/xhtml+xml;q=0.9, image/png, image/jpeg, image/gi
  f, image/x-xbitmap, */*;q=0.1..Accept-Charset: iso-8859-1, utf-8, utf-16, *
  ;q=0.1..Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0..Cookie: SQ
  MSESSID=5272f9ae21c07eca4dfd75f9a3cda22e..Cookie2: $Version=1..Connection:
  Keep-Alive, TE..TE: deflate, gzip, chunked, identity, trailers....
##

Aboveokardaky çykyşdan görnüşi ýaly, ähli HTTP sözbaşylary geçiriş jikme-jikliklerinde görkezilýär. Şeýle-de bolsa, derňemek kyn, şonuň üçin -W setir re modeimini ulananyňyzda nämeleriň bolýandygyny göreliň.

$ sudo ngrep -W byline port 80

interface: eth0 (64.90.164.72/255.255.255.252)
filter: ip and ( port 80 )
####
T 67.169.59.38:42177 -> 64.90.164.74:80 [AP]
GET / HTTP/1.1.
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686) Opera ...
Host: www.darkridge.com.
Accept: text/html, application/xml;q=0.9, application/xhtml+xml;q=0.9 ...
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1.
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0.
Cookie: SQMSESSID=5272f9ae21c07eca4dfd75f9a3cda22e.
Cookie2: $Version=1.
Cache-Control: no-cache.
Connection: Keep-Alive, TE.
TE: deflate, gzip, chunked, identity, trailers.

7. Wagt belgisini YYYY/MM/DD HH görnüşinde çap etmek üçin: MM: SS.UUUUUU her gezek bir paket gabat gelende -t baýdagyny ulanyň.

$ sudo ngrep -t -W byline port 80

interface: enp0s3 (192.168.0.0/255.255.255.0)
filter: ( port 80 ) and ((ip || ip6) || (vlan && (ip || ip6)))
####
T 2018/07/12 16:33:19.348084 192.168.0.104:43048 -> 172.217.160.174:80 [AP]
GET / HTTP/1.1.
Host: google.com.
User-Agent: Links (2.13; Linux 4.17.6-1.el7.elrepo.x86_64 x86_64; GNU C 4.8.5; text).
Accept: */*.
Accept-Language: en,*;q=0.1.
Accept-Encoding: gzip, deflate, bzip2.
Accept-Charset: us-ascii,ISO-8859-1,ISO-8859-2,ISO-8859-3,ISO-8859-4,ISO-8859-5,utf-8.
Connection: keep-alive.

8. Interfeýsiň tertipsiz tertibe salynmazlygy üçin (her bir tor paketini tutuşlygyna alýan we okaýan ýerinde), -p baýdagyny goşuň.

$ sudo ngrep -p -W byline port 80

9. Anotherene bir möhüm wariant, çig ýa-da näbelli protokollara gözegçilik edýän bolsaňyz peýdaly -N . Nngrep-de kiçi belgili kesgitleýji bilen birlikde kiçi protokol belgisini görkezmegi aýdýar.

$ sudo ngrep -N -W byline

Has giňişleýin maglumat üçin ngrep adam sahypasyna serediň.

$ man ngrep

ngrep Github ammary: https://github.com/jpr5/ngrep

Bu hemmesi! Ngrep (network grep), BPF süzgüç logikasyna şol bir moda tcpdump-de düşünýän tor paket analizatory. Ngrep baradaky pikirleriňizi teswirler bölüminde bilmek isleýäris.