No Comments

Ngrep – Ein Netzwerkanalyse-Tool

Intro

Die Fehlerbehebung im Netzwerk erfordert häufig die Verwendung eines Sniffers, und viele Netzwerkadministratoren greifen automatisch nach tcpdump, was auf vielen Plattformen nützlich ist. Mit der zunehmenden Anzahl von Protokollen, die auf IP unterstützt werden, müssen Administratoren häufig die Nutzlast von Paketen genauer untersuchen, um sicherzustellen, dass Anwendungen oder Benutzer Informationen bereitstellen, die vom empfangenden IP-Stack erwartet werden.

ngrep ist ein Sniffer, der wie tcpdump verwendet werden kann, und bietet die zusätzliche Möglichkeit, die Nutzdaten des Pakets für bestimmte Übereinstimmungen zu “greifen”. Die reguläre Express-Unterstützung von ngrep, die versucht zu unterstützen, ähnelt der GNU-Version von grep, die viele erweiterte Funktionen wie das Drucken von Zeilen nach dem übereinstimmenden Ausdruck bietet.

ngrep ist verfügbar unter:

http://ngrep.sourceforge.net/

und erfordert libpcap, das auf der tcpdump-Website verfügbar ist:

http://www.tcpdump.org/

libpcap ist bereits auf Systemen installiert, auf denen tcpdump installiert ist. Die Installation von ngrep ist unkompliziert. In der Regel wird es durch Konfigurieren, Erstellen und Installieren ausgeführt. Da libpcap verwendet wird, wird eine Vielzahl von Schnittstellen und Betriebssystemen unterstützt.

Verwenden

ngrep kann wie tcpdump verwendet werden, um Pakete zu drucken, die einem bestimmten Protokoll entsprechen. Sie können beispielsweise Folgendes verwenden, um alle UDP-Pakete zu drucken:

ngrep ” udp

oder ICMP-Pakete mit:

ngrep ” icmp

Bestimmte Ports können verwendet werden. Beispielsweise verwendet das Domain Name System (DNS) TCP- oder UDP-Ports 53, also:

ngrep ” Port 53

zeigt alle DNS-Anfragen an, z. B. diese Anfrage für [http://www.mcWrite.net]

U 192.168.1.100:1034 -> 4.2.2.1:53

: …………[http://www.samag.com….].

#

U 4.2.2.1:53 -> 192.168.1.100:1034

: …………[http://www.mcwrite.net…………………………..!.%……….].

..A.ROOT-SERVERS.NET ………….. E.GTLD-SERVERS.X …………. Fk. ….. …… Jk ………… Kk ………… Ak ………… Mk …. …… Gk ……

…… C.k …………. I.k …………. B.k …………. D.

.kI …… o …) … i ……} ….. QE …………… C …. …. ‘> …. de …….. f ……

……… BY …). & ……… * …. re …….. “….). E … …………………. Y … $ ……..

..07 …. j ……………..;

Während ngrep ” tcp port 23 Telnet-Pakete druckt. (Um die geeigneten Ports zu ermitteln, überprüfen Sie / etc / services oder wenden Sie sich an die Internet Assigned Numbers Authority unter: http://www.iana.org/assignments/port-numbers.)

Zur Fehlerbehebung beim Microsoft-Browserverkehr für die NT-Domäne BIGWORLD können Sie Folgendes verwenden:

ngrep ” Port 138

U 192.168.1.101:138 -> 192.168.1.255:138

……. e …… EOFFENECEFFCDJCACACACACACACACAAA. ABACFPFPENFDECFCEPFHF

DEFFPFPACAB..SMB% ………………………… (………….. ….. (. V.

……… 9. MAILSLOTBROWSE …. ‘.. BIGWORLD ……….. @ ….. NUMBER8.

Aber um ngrep wirklich zu nutzen, nehmen Sie einfach den LILWORLD-Verkehr auf:

ngrep ‘LILWORLD’ Port 138

#####################################

U 192.168.1.101:138 -> 192.168.1.255:138

……. e …… EOFFENECEFFCDJCACACACACACACACAAA. ABACFPFPENFDECFCEPFHF

DEFFPFPACAB..SMB% ………………………… (………….. ….. (. V.

……… 9. MAILSLOTBROWSE …. ‘.. LILWORLD ……….. @ ….. NUMBER9.

Es kann sehr schwierig sein, dies mit tcpdump in einem größeren Netzwerk zu beheben.

Email

Das einfache Mail-Transport-Protokoll (SMTP) ist ein ASCII-basiertes Protokoll, daher kann ngrep bei der Fehlerbehebung bei SMTP-E-Mails hilfreich sein. Verwenden Sie beispielsweise Folgendes, um die aktuelle Zustellung zu überwachen und Absender und Empfänger zu drucken:

ngrep -iq ‘rcpt to | mail from’ tcp port 25

T 192.168.1.254:1043 -> 206.46.170.36:25 [AP]

MAIL Von: GRÖSSE = 42 ..

T +63.769851 192.168.1.254:1043 -> 206.46.170.36:25 [AP]

RCPT An: ..

T 192.168.1.254:1043 -> 206.46.170.36:25 [AP]

RCPT An: ..

Dies kann nützlich sein, um den Absender der zuletzt verwendeten E-Mail-Viren zu identifizieren, die Outlook-Adressbücher lesen und den Virus an andere Benutzer senden.

Version 3 des Post-Office-Protokolls (POP3) kann ähnlich wie SMTP getestet werden. Wenn es beispielsweise möglich ist, dass der Benutzer den Benutzernamen falsch schreibt:

ngrep ‘Benutzer’-Port 110

T 192.168.1.100:1889 -> 192.168.1.1:110 [AP]

Benutzertest ..

ICMP

Die meiste Fehlerbehebung bei ICMP kann mit den Ping-Befehlen erreicht werden, es gibt jedoch verschiedene Implementierungen von Ping. Beispielsweise füllen Microsoft-Betriebssysteme die ICMP-Nutzdaten mit dem Alphabet, sodass Sie feststellen können, ob es sich bei einem Ping-Host tatsächlich um einen Windows-Computer handelt mit:

ngrep -q ‘abcd’ icmp

I 192.168.1.100 -> 192.168.1.254 8: 0

…. abcdefghijklmnopqrstuvwabcdefghi

Netz

Das Hypertext Transport Protocol (HTTP) ist textbasiert und teilt alle Arten von Informationen zwischen Server und Client. Verwenden Sie beispielsweise Folgendes, um die Clientanwendung zu ermitteln, die auf dem Clienthost ausgeführt wird:

ngrep -iq ‘Benutzeragent’ TCP-Port 80

(HTTP fordert tatsächlich auch eine udp-Version, hat sich aber nie durchgesetzt.)

Dieser spezielle Fall zeigt, dass der Benutzer lynx verwendet:

T 192.168.1.254:1065 -> 64.4.43.7:80 [AP]

GET / HTTP / 1.0..Host: [http://www.hotmail.com..Accept:] text / html, text / plain,

Audio / Mod, Bild / *, Video / *, Video / MPEG, Anwendung / pgp, Anwendung /

pgp, application / pdf, message / partiell, message / external-body, applyat

ion / postscript, x-be2, application / andrew-inset, text / richtext, text / e

nriched..Accept: x-sun-Anhang, Audiodatei, Postscript-Datei, Standard

t, Mail-Datei, Sun-Deskset-Nachricht, Anwendung / X-Metamail-Patch, Text /

sgml, * / *; q = 0.01..Accept-Encoding: gzip, compress..Accept-Language: en

..Benutzer-Agent: Lynx / 2.8.3dev.18 libwww-FM / 2.14 ….

Natürlich kann die Version von HTTP, die verwendet wird, bestimmt werden, indem “HTTP” als Suchausdruck verwendet wird oder der Server mit “SERVER” als Ausdruck ausgeführt wird. Einige Angriffe auf Webserver versuchen, Dokumente mit Punkten als Dateinamen anzufordern, z. B. ../. ngrep kann auch Folgendes überprüfen:

ngrep ‘../’

T 192.168.1.100:1103 -> 10.1.1.1:80 [AP]

GET /../ HTTP / 1.0..Host: [http://www.somedomain.to..Accept:] Text / HTML, Text

/ plain, audio / mod, image / *, video / *, video / mpeg, anwendung / pgp, appl

ication / pgp, application / pdf, message / partiell, message / external-body,

anwendung / postscript, x-be2, anwendung / andrew-inset, text / richtext

, Text / angereichert. Akzeptieren: X-Sun-Anhang, Audiodatei, Postscript-Datei

, Standard, Mail-Datei, Sun-Deskset-Nachricht, Anwendung / x-Metamail-Patc

h, text / sgml, video / mpeg, bild / jpeg, bild / tiff, bild / x-rgb, bild / p

ng, Bild / x-xbitmap, Bild / x-xbm, Bild / gif. Akzeptieren: Anwendung / Beiträge

cript, * / *; q = 0.01..Accept-Encoding: gzip, compress..Accept-Language: e

n..Benutzer-Agent: Lynx / 2.8.4dev.7 libwww-FM / 2.14 ….

Dieselbe Technik kann verwendet werden, um zu bestimmen, was ein FTP-Server als seine Version meldet:

ngrep ‘220’ Port 21

T 209.155.82.18:21 -> 192.168.1.100:1105 [AP]

220 wcarchive.cdrom.com FTP-Server (Version DG-4.0.62 974200128) bereit

oder um Secure Shell zu untersuchen, die bei der ersten Installation schwer zu debuggen sein kann:

ngrep ‘SSH’-Port 22

T 192.168.1.1:22 -> 192.168.1.100:1023 [AP]

SSH-1.5-1.2.27.

##

T 192.168.1.100:1023 -> 192.168.1.1:22 [AP]

SSH-1.5-OpenSSH_2.1.1.

Ordentliche Eigenschaften von ngrep

Einige der netteren Funktionen von ngrep sind für Systemadministratoren offensichtlich, für Netzwerkadministratoren mit leichten Systemadministrationsaufgaben jedoch möglicherweise weniger offensichtlich. Schauen wir uns einige davon an:

* -A n – Die -A-Funktion druckt nach dem Spiel “n” Pakete aus. Dies kann beispielsweise nützlich sein, um mehrere Zeilen nach dem “to:” im Adressheader von smtp auszudrucken, um ein vollständigeres Bild des Headers zu erhalten.

* -l – Manchmal ist es notwendig, die Ausgabe von grep zur weiteren Verarbeitung an ein anderes Programm weiterzuleiten. Ein normales ngrep-Verhalten erscheint jedoch sporadisch, wenn es an das andere Programm weitergeleitet wird, da es zuerst seinen Puffer füllt, bevor übereinstimmende Pakete gedruckt werden. Bei Verwendung von -l wird die Ausgabe sofort gedruckt, anstatt darauf zu warten, dass der Puffer von ngrep vor dem Drucken gefüllt wird.

* -v – Das -v druckt alle Zeilen, die nicht mit dem Ausdruck übereinstimmen. Dies ist nützlich bei der ersten Fehlerbehebung, bei der eine Ursache noch nicht bekannt ist. Sie können jedoch davon ausgehen, dass sie nicht durch den Datenverkehr generiert wird, den Sie vom Remote-Host an den Host senden, während Sie auf den Host zugreifen. Wenn Sie beispielsweise eine Telnet-Verbindung zum Host herstellen, um mit der Fehlerbehebung zu beginnen, verwenden Sie:

ngrep -v ” Port 23

um den ganzen Verkehr außer Telnet zu sehen.

* -d – Mit -d können Sie das Gerät angeben, das Sie überwachen möchten. Der vollständige Pfad zum Gerätenamen ist nicht erforderlich. Somit:

ngrep -d le0 ”

hört le0 auf einer Solaris-Box.

Zusammenfassung

ngrep ist wie sein Cousin tcpdump praktisch für die Fehlerbehebung im Netzwerk. Mit der Möglichkeit, mit regulären Ausdrücken suchen zu können, lohnt es sich, ngrep zu Ihrer Netzwerk-Toolbox hinzuzufügen. Mit einem Gewicht von etwas mehr als 100 K ist es auch eine Überlegung wert für Ihre Notfall- und Netzwerkdiskettenverteilungen.

 

Das könnte dir auch gefallen

More Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Please enter a valid email address.

Menu
Sonderangebot

CLOUD HOSTING 30% OFF

CUPON CODE - CLOUDOFF
JETZT PRÜFEN
* GÜLTIG FÜR DIE ERSTEN MONATE
close-link