Ngrep-jak przeszukiwać ruch sieciowy w Linuksie-przykłady poleceń

Ngrep

ngrep lub network grep to program wiersza poleceń, który może być używany do analizy i wyszukiwania pakietów sieciowych dla danego wzorca regex lub ciągu znaków.

ngrep wykorzystuje bibliotekę pcap do przechwytywania pakietów sieciowych, a bibliotekę GNU do wyszukiwania regularnego.

ngrep jest jak tcpdump + grep.

w tym artykule omówimy kilka przykładów użycia polecenia ngrep do przeszukiwania pakietów sieciowych.

URL projektu:

zainstaluj ngrep na Ubuntu

$ sudo apt-get install ngrep

przykłady poleceń Ngrep

1. Przechwytywanie wszystkich pakietów

Ngrep bez żadnych opcji po prostu przechwyci wszystkie pakiety. Jest dość podobny do tcpdump. Zauważ, że musisz uruchomić ngrep z sudo (uprawnienia roota), aby mógł przechwytywać wszystkie pakiety.

$ sudo ngrep

sztuczka, aby wyświetlić listę wszystkich urządzeń

jeśli chcesz wyświetlić listę wszystkich urządzeń sieciowych, które ngrep może wywąchać, użyj następującego polecenia i naciśnij TAB wiele razy

$ ngrep -d 

wyjście wyglądałoby mniej więcej tak:

$ ngrep -dany enp1s0 lo

2. Przeszukaj ruch sieciowy w poszukiwaniu łańcucha

przykład follow przeszukuje ruch sieciowy w poszukiwaniu pakietów TCP, które mają numer portu 80 (HTTP) i zawierają tekst „User-Agent: „. Ten konkretny ciąg znaków jest obecny w pakietach żądań http.

$ sudo ngrep -d enp1s0 -i "User-Agent: " tcp and port 80

oto Przykładowe wyjście:

w powyższym poleceniu :
a) tcp i port 80 – jest filtrem bpf (Berkeley Packet Filter), który wącha Tylko pakiet TCP o numerze Portu 80
b) opcja „-d” określa interfejs do wąchania. enp1s0 w tym przypadku.
c) „User-Agent:” jest ciągiem znaków do wyszukiwania. Wyświetlane są wszystkie pakiety, które posiadają ten ciąg znaków.
d) „- i ” ignoruje wielkość liter dla szukanego wyrażenia lub wyrażenia regularnego

3. Przeszukuj pakiety sieciowe pod kątem żądań GET lub POST

$ sudo ngrep -d enp1s0 -i "^GET |^POST " tcp and port 80

oto Przykładowe wyjście

4. Przechwytywanie i wyszukiwanie pakietów dns

poniższy przykład filtruje pakiety UDP na porcie 53. Są to Pakiety dns używane przez aplikacje do rozdzielania nazwy hosta na adresy ip.

$ sudo ngrep -d enp1s0 -i "" udp and port 53

oto Przykładowe wyjście:

Ngrep w systemie Windows

zainstaluj Ngrep w systemie windows

wersję systemu windows można pobrać z następującego adresu url

wersja systemu Windows wykorzystuje bibliotekę przechwytywania pakietów Winpcap. Upewnij się więc, że najpierw pobierzesz i zainstalujesz winpcap przed użyciem ngrep.

Ngrep działa na windows tak samo jak linux / ubuntu.

powyższe przykłady używały prostych ciągów tekstowych jako terminu serch.
jednak ngrep obsługuje również wzorce regex.

wniosek

Ngrep jest pod pewnymi względami podobny do tcpdump i używa tej samej biblioteki przechwytywania pakietów o nazwie libpcap. Te sniffery pakietów są bardzo przydatne, gdy tworzysz niskopoziomowe aplikacje protokołu sieciowego i musisz sprawdzić, czy aplikacja generuje pakiety w odpowiednim formacie.

aby dowiedzieć się więcej o Tcpdump sprawdź ten post:
tcpdump Tutorial – Jak wąchać i analizować pakiety z wiersza poleceń

oprócz programowania gniazd, sniffery pakietów są również używane w bezpieczeństwie sieci i audycie. Służą one do monitorowania sieci pod kątem nietypowego ruchu i wczesnego wykrywania zagrożeń.

gdy jest używany z narzędziami do fałszowania arp, takimi jak ettercap, ngrep może być używany do wąchania danych innych hostów podłączonych do sieci.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.