ngrep

ngrep
Deweloperzy Jordana Rittera
Wersja stabilna
1.47 / 7 września 2017 ; 5 lat temu ( 7 września 2017 )
Magazyn
Napisane w C
System operacyjny Linux , Solaris , illumos FreeBSD , NetBSD , OpenBSD , Mac OS X , dodatkowe systemy *NIX , Windows
Typ Analizator pakietów
Licencja W stylu BSD
Strona internetowa https://github.com/jpr5/ngrep

ngrep ( network grep ) to analizator pakietów sieciowych napisany przez Jordana Rittera . Ma interfejs wiersza poleceń i opiera się na bibliotece pcap i bibliotece wyrażeń regularnych GNU .

ngrep obsługuje logikę Berkeley Packet Filter ( BPF ) do wybierania źródeł sieciowych, miejsc docelowych lub protokołów, a także umożliwia dopasowywanie wzorców lub wyrażeń regularnych w ładunku danych pakietów przy użyciu składni GNU grep , pokazując dane pakietów w sposób przyjazny dla człowieka.

ngrep to aplikacja typu open source, a kod źródłowy jest dostępny do pobrania z witryny ngrep w serwisie GitHub . Można go kompilować i przenosić na wiele platform, działa w wielu systemach operacyjnych typu UNIX : Linux , Solaris , illumos , BSD , AIX , a także działa w systemie Microsoft Windows .

Funkcjonalność

Ngrep jest podobny do tcpdump , ale ma możliwość wyszukiwania wyrażenia regularnego w ładunku pakietu i wyświetlania pasujących pakietów na ekranie lub konsoli. Pozwala użytkownikom zobaczyć cały niezaszyfrowany ruch przesyłany przez sieć, przełączając interfejs sieciowy w tryb rozwiązły .

ngrep z odpowiednią składnią filtra BPF, może być używany do debugowania interakcji protokołów zwykłego tekstu, takich jak między innymi HTTP , SMTP , FTP , DNS , lub do wyszukiwania określonego ciągu znaków lub wzorca przy użyciu składni wyrażeń regularnych grep .

Ngrep może być również używany do przechwytywania ruchu w sieci i przechowywania plików zrzutu pcap lub do odczytywania plików generowanych przez inne aplikacje sniffer, takie jak tcpdump lub wireshark .

ngrep ma różne opcje lub argumenty wiersza poleceń. Strona man ngrep w systemach operacyjnych typu UNIX pokazuje listę dostępnych opcji.

Używając ngrepa

W tych przykładach zakłada się, że używanym interfejsem sieciowym jest eth0 .

  • Przechwytuje ruch sieciowy przychodzący/wychodzący do/z interfejsu eth0 i wyświetla parametry zgodnie z metodami HTTP (TCP/80) GET lub POST
 ngrep -l -q -d eth0 -i "^GET |^POST" tcp i port 80 
  • Przechwytuje ruch sieciowy przychodzący /outgoing to/from eth0 i wyświetl ciąg HTTP (TCP/80) User-Agent ngrep
 -l -q -d eth0 -i "User-Agent: " tcp i port 80 
  • Przechwytywanie ruchu sieciowego przychodzącego/wychodzącego do/z eth0 interfejs i pokaż zapytania i odpowiedzi DNS (UDP/53)
 ngrep -l -q -d eth0 -i "" udp i port 53 

Bezpieczeństwo

Przechwytywanie surowego ruchu sieciowego z interfejsu wymaga specjalnych uprawnień lub uprawnień administratora na niektórych platformach, zwłaszcza w systemach typu Unix. Domyślnym zachowaniem ngrep jest utrata uprawnień na tych platformach, działających pod określonym nieuprzywilejowanym użytkownikiem.

Podobnie jak tcpdump, możliwe jest również użycie ngrep do określonego celu przechwytywania i wyświetlania komunikacji innego użytkownika lub komputera lub całej sieci.

Uprzywilejowany użytkownik uruchamiający ngrep na serwerze lub stacji roboczej podłączony do urządzenia skonfigurowanego z funkcją dublowania portów na przełączniku , routerze lub bramie lub podłączony do dowolnego innego urządzenia używanego do przechwytywania ruchu sieciowego w sieci LAN , MAN lub WAN , może oglądać wszystkie niezaszyfrowane informacje związane z identyfikatorami logowania, hasłami lub adresami URL oraz zawartością stron internetowych przeglądanych w tej sieci.

Obsługiwane protokoły

Zobacz też

Linki zewnętrzne