teljes csomag péntek: ngrep

a mai bejegyzéshez röviden áttekintem a neat parancssori eszközt ngrep. Ez egy nagyon hasznos eszköz, amely mindig kéznél van néhány igazán gyors PCAP elemzéshez. Valójában elég funkciógazdag, és lehetővé teszi a csomagok dömpingelését is. Vessünk egy pillantást néhány funkcióra:

egyszerűen fogalmazva, az ngrep egy olyan eszköz, amely grep képességeket biztosít a hálózati rétegben. ngrep használható a packet capture (“PCAP”) fájlok vizsgálatára, valamint az élő forgalom rögzítésére egy helyi felületen. Az elemzők normál vagy hexadecimális kifejezéseket adhatnak meg a csomagokhoz, a Berkeley Packet Filter (“BPF”) szintaxisát szippantáskor, és az eszköz számtalan forgalmi típust ismer fel. Nem rossz egy kis parancssori eszköz!

Íme egy példa a helyi forgalom megfigyelésére:

ngrep eth0

képernyőkép a parancs kimenetéről ngrep eth0

a parancs futtatása után az eszköz azt mondja nekünk, hogy a megadott felületen figyeli. Minden rögzített ” # ” egy fogadott csomag. Mindenféle szűrés vagy kimeneti opció nélkül lényegében csak megerősítjük a csomagokat, amelyek egy interfészen keresztül érkeznek. Adjunk hozzá még néhány lehetőséget:

ngrep -d eth0 port 80

képernyőkép az ngrep-d eth0 port parancs kimenetéről 80

a fenti példában a 80-as porton adtuk meg a forgalmat, nyilvánvalóan HTTP forgalmat keresve. Ezután kinyitottam a http://www.firefox.com – et, amit az első csomagokból tisztán láthatunk. Most, ez egy kicsit ismerősebbnek tűnik!

Megjegyzés megkaptuk a várt mezőket Az ilyen típusú forgalomtól, beleértve a felhasználói ügynököt, a HTTP módszert, az src/dst IP-ket stb. Ez azonban még mindig egy kicsit zavaros. Még nem egyeztünk meg. Használjuk a regex erejét, hogy valóban olyan adatokat adjunk nekünk, amelyek különösen érdekelhetnek minket:

ngrep -d eth0 '^GET' port 80

a fenti parancsban folytattam a eth0 interfész és a 80-as port megfigyelését, azonban ezúttal megadtam a ^GET regexet, arra kérve az eszközt, hogy csak olyan sorokat adjon nekem, ahol a GET az első három karakter — lényegében csak a HTTP GET kérésekre összpontosítva. Itt van a kimenetünk:

képernyőkép a parancs kimenetéről ngrep-d eth0 ‘^GET ‘ port 80

sokkal tisztább! Kértem, hogy yahoo.com, amely rengeteg más csomagot érintett, de csak egy GET kérés egyeztetett. Vegye figyelembe a többi ” # ” karaktert a forgalom körül. Ezek további csomagok, amelyeket megfigyeltek, de figyelmen kívül hagytak, mert nem egyeztek meg a megadott mintával. Valójában eltávolíthatjuk azokat ,amelyek -q jelzéssel rendelkeznek.

ngrep a kimenet helyi PCAP fájlba is menthető a -O kapcsolóval. Lehet, hogy ez nem a leginkább funkciókban gazdag csomagrögzítő eszköz, de minden bizonnyal gyors és egyszerű módja a forgalom gyors megragadásának!

ngrep with PCAPs

most, hogy néhány rövid és édes opciót áttekintettünk az élő forgalom megfigyelésére, ugyanezt a logikát alkalmazhatjuk a korábbi PCAP fájlokra is. Íme egy példa:

ngrep -I http.cap '^GET' port 80

a http.cap mintafájlt a Wireshark SampleCaptures oldaláról húztam le ehhez a teszthez. Itt van a kimenetünk:

képernyőkép a kimenet parancs ngrep-I http.cap ‘^GET ‘ port 80

figyelje meg, hogy az eszköz továbbra is megjeleníti a környező csomagokat, de csak olyan részleteket adunk meg, amelyek megfelelnek a regexünknek. Megvizsgálhatjuk egy egyszerű szövegszűrő alkalmazását is, hogy megtaláljuk a csomag hasznos adatait, amelyek megfelelnek egy érdekes szónak. Ugyanazt a http-t fogom keresni.cap keresi a Linux szót:

#> ngrep -I http.cap 'Linux' port 80 -q | wc -l
99

a-q kimenet használatával figyelmen kívül hagyjuk azokat a csomagokat, amelyek nem egyeznek. wc -l – re vezettem, hogy megszámoljam, hány csomagban van Linux. Nézzük meg az első néhány sort:

ngrep -I http.cap 'Linux' port 80 -q | head

képernyőkép a kimenet parancs ngrep-I http.cap ‘Linux’ port 80-q / head

vegye figyelembe, hogy a hash jelek eltűntek, és egy sor egyezést kaptunk. Pontosan erre a célra használom gyakran az ngrep-et; gyorsan meghatározza, hogy az engem érdeklő tartalom a PCAP-n belül van-e. Lehetnek azonban bukások is. Vegye figyelembe a következő parancsot:

ngrep -I dhcp.pcap

az ngrep-I dhcp kimenetének képernyőképe.pcap

vegye figyelembe, hogy ebben az esetben, ahol nem feltétlenül van ASCII szövegünk, nyers adatnak tűnik. Ez az, ahol egy bizonyos protokoll-önvizsgálat, például a Wireshark által kínált, rendkívül hasznos lesz. Azonban dobhatunk ngrep a-x zászlót, hogy megkapjuk a nyers hexadecimális kimenetet:

ngrep -I dhcp.pcap -x

az ngrep-I dhcp kimenetének képernyőképe.pcap-x

itt van a Wireshark összehasonlítás céljából:

képernyőkép egy DHCP-kérési csomagról a Wireshark-ban

nyilvánvaló, hogy nem olyan tiszta, azonban ez nem biztos, hogy a legjobb felhasználás a ngrep számára. Ez azonban legalább egy hatékony eszköz mind a történelmi, mind az élő forgalom ellenőrzésére, és olyan szűrőket biztosít, amelyek csak a lényegre nagyítanak. Mivel script-képes, mi is cső ngrep kimenet számtalan más eszközök, beleértve a potenciálisan grep magát! ngrep használható a NOB-k listájának keresésére is, potenciálisan gyors győzelmeket találva.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.