Systemverwaltungshandbuch: IP Services

Überwachen der Paketübertragungen mit dem Befehl snoop

Mit dem Befehl snoop können Sie den Status der Datenübertragungen überwachen. snoop erfasst Netzwerkpakete und zeigt deren Inhalte in dem von Ihnen geforderten Format an. Pakete können entweder direkt nach dem Empfang angezeigt oder in einer Datei gespeichert werden. Wenn der Befehl snoop in eine Datei schreibt, sind Paketverluste aufgrund hoher Auslastung während der Verfolgung unwahrscheinlich. snoop wird dann zum Auswerten des Dateiinhalts verwendet.

Zum Erfassen von Paketen, die im promiskuitiven Modus von der Standardschnittstelle empfangen oder gesendet werden, müssen Sie die Rolle eines Netzwerkmanagers annehmen oder sich als Superuser anmelden. snoop kann nur die Daten in einer Zusammenfassung anzeigen, die auf der höchsten Protokollebene bleiben. Beispielsweise kann ein NFS-Paket nur NFS-Informationen anzeigen. Die zu Grunde liegenden RPC-, UDP-, IP- und Ethernet Frame-Informationen werden unterdrückt, können aber angezeigt werden, wenn eine der verbose-Optionen gewählt wird.

Arbeiten Sie regelmäßig mit dem Befehl snoop, um sich mit seinem normalen Systemverhalten vertraut zu machen. Hilfe zur Analyse von Paketen finden Sie in den aktuellen Weißbüchern und RFCs, suchen Sie den Rat eines Experten in den jeweiligen Bereichen, z. B. NFS oder NIS. Weitere Informationen zur Syntax von snoop und den gültigen Optionen finden Sie in der Manpage snoop(1M)

ProcedureSo prüfen Sie Pakete von allen Schnittstellen

  1. Nehmen Sie auf dem lokalen Host die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Drucken Sie Informationen zu den Schnittstellen, die an das System angehängt sind.


    # ifconfig -a
    

    In der Regel verwendet der Befehl snoop das erste nicht-Loopback-Gerät, normalerweise die primäre Netzwerkschnittstelle.

  3. Beginnen Sie die Paketerfassung durch Eingabe von snoop ohne zusätzliche Argumente. Siehe Beispiel 8–19.

  4. Drücken Sie Strg-C, um den Prozess zu unterbrechen.


Beispiel 8–19 Ausgabe des Befehls snoop

Der allgemeine snoop-Befehl bei einem Dual-Stack-Host eine Ausgabe wieder, die etwa der Folgenden entspricht.


% snoop
Using device /dev/hme (promiscuous mode)
farhost.remote.com -> myhost       RLOGIN C port=993 
    myhost -> farhost.remote.com   RLOGIN R port=993 Using device /dev/hme
router5.local.com -> router5.local.com ARP R 10.0.0.13, router5.local.com is
    0:10:7b:31:37:80
router5.local.com -> BROADCAST     TFTP Read "network-confg" (octet)
farhost.remote.com -> myhost       RLOGIN C port=993 
    myhost ->   nisserve2          NIS C MATCH 10.0.0.64 in ipnodes.byaddr
nisserve2 ->    myhost             NIS R MATCH No such key
    blue-112 -> slave-253-2        NIS C MATCH 10.0.0.112 in ipnodes.byaddr
myhost -> DNSserver.local.com      DNS C 192.168.10.10.in-addr.arpa. Internet PTR ?
DNSserver.local.com  myhost        DNS R 192.168.10.10.in-addr.arpa. Internet PTR 
   niserve2.
.
.
farhost.remote.com-> myhost        RLOGIN C port=993 
    myhost -> farhost.remote.com   RLOGIN R port=993 fe80::a00:20ff:febb:
.
fe80::a00:20ff:febb:e09 -> ff02::9 RIPng R (5 destinations)

Die in dieser Ausgabe erfassten Pakete zeigen einen Bereich mit einer Remote-Anmeldung, einschließlich Lookup-Vorgängen an die NIS- und DNS-Servern zur Auflösung der Adresse. Darüber hinaus sind regelmäßig auftretende ARP-Pakete von lokalen Router und Advertisement-Nachrichten der Link-lokalen IPv6-Adresse an in.ripngd enthalten.


ProcedureSo erfassen Sie die Ausgabe des Befehls snoop in einer Datei

  1. Nehmen Sie auf dem lokalen Host die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Erfassen Sie eine snoop-Sitzung in einer Datei.


    # snoop -o filename
    

    Beispiel:


    # snoop -o /tmp/cap
    Using device /dev/eri (promiscuous mode)
    30 snoop: 30 packets captured

    In diesem Beispiel wurden 30 Pakete in einer Datei namens /tmp/cap erfasst. Dieser Datei kann sich in jedem Verzeichnis mit ausreichend Speicherplatz befinden. Die Anzahl der erfassten Pakete wird in der Befehlszeile angezeigt. Anschließend können Sie jederzeit Strg-C drücken, um die Erfassung abzubrechen.

    snoop erzeugt eine spürbare Netzwerklast auf dem Host-Computer, die zu einer Verzerrung der Ergebnisse führen kann. Um die tatsächlichen Ergebnisse anzuzeigen, führen Sie snoop von einem dritten System aus.

  3. Zeigen Sie die Ausgabe des Befehls snoop in der Datei an.


    # snoop -i filename
    

Beispiel 8–20 Inhalt einer Datei zur Erfassung der Ausgabe des Befehls snoop

Die folgende Ausgabe zeigt verschiedene Informationen an, die Sie als Ausgabe des Befehls snoop -i erhalten könnten.


# snoop -i /tmp/cap
1   0.00000 fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 
    ICMPv6 Neighbor advertisement
2   0.16198 farhost.com   -> myhost     RLOGIN C port=985 
3   0.00008 myhost -> farhost.com       RLOGIN R port=985 
10  0.91493    10.0.0.40 -> (broadcast)  ARP C Who is 10.0.0.40, 10.0.0.40 ?
34  0.43690 nearserver.here.com  -> 224.0.1.1  IP  D=224.0.1.1 S=10.0.0.40 LEN=28, 
      ID=47453, TO =0x0, TTL=1
35  0.00034  10.0.0.40 -> 224.0.1.1    IP  D=224.0.1.1 S=10.0.0.40 LEN=28, ID=57376, 
     TOS=0x0, TTL=47  

ProcedureSo prüfen Sie Pakete zwischen einem IPv4-Server und einem Client

  1. Richten Sie ein von einem Hub getrenntes snoop-System ein, das entweder mit dem Client oder dem Server verbunden ist.

    Das dritte System (das snoop-System) prüft den gesamten zwischengeschalteten Verkehr, so dass die snoop-Verfolgung widerspiegelt, was tatsächlich in der Leitung geschieht.

  2. Nehmen Sie auf dem snoop-System die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  3. Geben Sie den snoop-Befehl mit den gewünschten Optionen ein, und speichern Sie die Ausgabe in einer Datei.

  4. Prüfen und analysieren Sie die Ausgabe.

    Informationen zur snoop-Erfassungsdatei finden Sie unter RFC 1761, Snoop Version 2 Packet Capture File Format.

ProcedureSo überwachen Sie den IPv6-Netzwerkverkehr

Mit dem snoop-Befehl können Sie auch nur IPv6-Pakete anzeigen.

  1. Nehmen Sie auf dem lokalen Knoten die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Erfassen Sie IPv6-Pakete.


    # snoop ip6
    

    Weitere Informationen zum Befehl snoop finden Sie in der Manpage snoop(1M).


Beispiel 8–21 Anzeigen von ausschließlich IPv6-Netzwerkverkehr

Das folgende Beispiel zeigt eine typische Ausgabe, wenn der Befehl snoop ip6 auf einem Knoten ausgeführt wird.


# snoop ip6
fe80::a00:20ff:fecd:4374 -> ff02::1:ffe9:2d27 ICMPv6 Neighbor solicitation
fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor 
      solicitation
fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor 
      solicitation
fe80::a00:20ff:febb:e09 -> ff02::9      RIPng R (11 destinations)
fe80::a00:20ff:fee9:2d27 -> ff02::1:ffcd:4375 ICMPv6 Neighbor solicitation