ngrep-a Network Packet Analyzer for Linux

Ngrep (network grep) je jednoduchý, ale výkonný analyzátor síťových paketů. Jedná se o nástroj podobný grep aplikovaný na síťovou vrstvu-odpovídá provozu procházejícímu síťovým rozhraním. To vám umožní určit rozšířený regulární nebo hexadecimální výraz, aby odpovídala dat užitečné zatížení (skutečné informace nebo zprávy v přenášených dat, ale ne auto-generované metadata) paketů.

tento nástroj pracuje s různými typy protokolů, včetně IPv4 / 6, TCP, UDP, ICMPv4/6, IGMP a Raw na řadě rozhraní. Pracuje stejným způsobem jako tcpdump packet sniffing tool.

balíček ngrep je k dispozici pro instalaci z výchozích systémových repozitářů v běžných distribucích Linuxu pomocí nástroje pro správu balíčků, jak je znázorněno.

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

po instalaci ngrep můžete začít analyzovat provoz v síti Linux pomocí následujících příkladů.

1. Následující příkaz vám pomůže porovnat všechny požadavky ping na výchozím pracovním rozhraní. Musíte otevřít jiný terminál a pokusit se ping jiného vzdáleného počítače. Příznak -q říká ngrep, aby pracoval tiše, aby nevydával žádné jiné informace než hlavičky paketů a jejich užitečná zatížení.

stisknutím tlačítka Ctrl + C jej ukončíte.

2. Aby odpovídal pouze provozu směřujícímu k určitému cílovému místu, například “google.com’, spusťte následující příkaz a pokuste se k němu přistupovat z prohlížeče.

3. Pokud surfujete po webu, spusťte následující příkaz a sledujte, které soubory váš prohlížeč požaduje:.

4. Chcete-li zobrazit všechny aktivity překračující zdroj nebo cílový port 25 (SMTP), spusťte následující příkaz.

$ sudo ngrep port 25

5. Chcete-li sledovat jakýkoli síťový provoz syslog pro výskyt slova “chyba”, použijte následující příkaz.

 $ sudo ngrep -d any 'error' port 514

důležité je, že tento nástroj může převést názvy portů služby uložené v “/ etc / services ” (na unixových systémech, jako je Linux) na čísla portů. Tento příkaz je ekvivalentní výše uvedenému příkazu.

$ sudo ngrep -d any 'error' port syslog

6. Můžete také spustit ngrep proti HTTP serveru (port 80), bude odpovídat všem požadavkům na cílového hostitele, jak je znázorněno.

jak můžete vidět ve výše uvedeném výstupu všechny HTTP hlavičky přenosu jsou zobrazeny v jejich krvavé detailu. Je však těžké analyzovat, takže se podívejme, co se stane, když použijete režim -W byline.

7. Chcete-li vytisknout časové razítko ve tvaru RRRR/MM/DD HH:MM:SS.UUUUUU pokaždé, když je paket porovnán, použijte příznak-t.

8. Chcete-li zabránit uvedení monitorovaného rozhraní do promiskuitního režimu (kde zachycuje a čte každý síťový paket, který dorazí v plném rozsahu), přidejte příznak -p.

$ sudo ngrep -p -W byline port 80

9. Další důležitou možností je -N, což je užitečné v případě, že dodržujete surové nebo neznámé protokoly. Říká ngrep zobrazit číslo dílčího protokolu spolu s jednoznakovým identifikátorem.

$ sudo ngrep -N -W byline

další informace naleznete na manuálové stránce ngrep.

$ man ngrep

ngrep GitHub repository: https://github.com/jpr5/ngrep

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.