Articles

Introduktion til `ngrep`

*Nik-hjælpeprogrammet ngrep giver dig mulighed for at søge og filtrere netværkspakker. Meget gerne den velkendte grep værktøj giver brugerne mulighed for at søge tekst placeret i filer og stdin/stdout, ngrep udfører lignende opgaver mod operativsystemets netværksgrænseflade. Med ordene fra sine manpages, ngrep

currently recognizes TCP, UDP and ICMP across Ethernet, PPP, SLIP, FDD and null interfaces, and understands bpf filter logic in the same fashion as more common packet sniffing tools, such as tcpdump(8) and snoop(1)

du skal blot føje ngrep et regulært udtryk og eventuelt et protokol -, interface-og bpf-filter, og du kan udskrive live netværkspakker til stdout, omdirigere (>) indholdet til en fil eller rør (|) til et andet værktøj. Her er nogle eksempler:

Installation

ngrep er beregnet til at blive brugt sammen med din standard kommandolinjeværktøj. Således er de fleste pakkelagre tilstrækkeligt opdaterede.

på MacOS, brug hjemmebryggeri:
brew install ngrep

på Debian – baserede systemer (f. eks Ubuntu), brug aptitude:
apt-get install ngrep

på CentOS, brug yum:
yum install ngrep

grundlæggende brug

  • ngrep -q 'HTTP'

denne kommando vil forespørge alle grænseflader og protokoller for en streng match på 'HTTP'. Flagget -q vil ‘stille’ output ved kun at udskrive pakkehoveder og relevante nyttelast. Det meste af tiden er det bedst at bruge ‘stille’ output; ellers kan du lige så godt bruge tcpdump til at fange alt. Jeg vil bruge -q i alle eksemplerne nedenfor, så ingen skærer og indsætter fra denne artikel og bliver oversvømmet med for meget data.

tilføjelse af tidsstempler

  • ngrep -qt 'HTTP'

brug flagget t til at udskrive et tidsstempel sammen med de matchede oplysninger. Brug T til at udskrive den tid, der er gået mellem på hinanden følgende kampe.

læsning fra pcap

  • ngrep -I network_capture.pcap -qt 'HTTP'

hvis du har en netværksoptagelsesfil i .pcap format, skal du bruge -I $FILE til at filtrere optagelsen i stedet for en netværksgrænseflade. Være praktisk, hvis du har en registrering af en netværksbegivenhed, og du skal foretage en hurtig analyse uden alle klokker og fløjter af wireshark.

skrivning til pcap

  • ngrep -O network_capture.pcap -q 'HTTP'

omvendt af ovenstående kommando, ved kun at bruge -O flag vil filtrere mod en netværksgrænseflade og kopiere de matchede pakker til en capture-fil i .pcap format.

læsning med byline

  • ngrep -q -Wbyline 'HTTP'

Linefeeds udskrives som linefeeds, hvilket gør outputtet smukt og mere læseligt.

almindelige BPF-filtre

en bpf angiver en rig syntaks til filtrering af netværkspakker baseret på oplysninger som IP-adresse, IP-protokol og portnummer.

IP-adresse

  • ngrep -q 'HTTP' 'host 192.168' matcher alle overskrifter, der indeholder strengen 'HTTP' sendt til eller fra ip-adressen startende med 192.168
  • ngrep -q 'HTTP' 'dst host 192.168' vil gøre som ovenfor, men i stedet matche en destinationshost
  • ngrep -q 'HTTP' 'src host 192.168' vil gøre som ovenfor, men i stedet matche en kildehost

IP-protokol

  • ngrep -q 'HTTP' 'tcp'
  • ngrep -q 'HTTP' 'udp'
  • ngrep -q 'HTTP' 'icmp'

portnummer

  • ngrep -q 'HTTP' 'port 80'

ret sejt! Der er mange primitiver til rådighed, men jeg behøver kun at bruge disse tre. Du kan kombinere primitiver ved hjælp af Boolske forbindelser and, or og not for virkelig at specificere, hvad din grepping.

oversigt

ngrep er et ret praktisk værktøj, der tillader søgning på netværksgrænseflader eller optagelser. Enhver bekendt med grep, tcpdump eller wireshark vil finde det meget værdifuldt for hurtige netværksanalyser.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.