Monday 1 May 2017

Pcap Binary Options

Ich versuche, herauszufinden, die richtige Befehlssyntax. Ich habe eine pcap-Datei, und ich möchte grep verwenden, und grep nur, um alle uniq IP-Adressen aus ohne die Datei So nehmen wir an, dass die Datei heißt capture. pcap und ist in meinem Heimatordner, was sollte ich schreiben Dass die Regex kann d. d.d. d und diese Art und uniq müssen auch enthalten sein, aber es scheint, dass die pcap nicht gut reagiert mit grep, zum Beispiel mit der normalen Syntax der grep-Datei Word funktioniert nicht, wenn ich ausführen: Grep 239 ./capture. pcap Ich erhalte die Replay Binärdatei ./capture/pcap matches Gestellt Dec 15 13 at 20:02 Sehen Sie sich die - o Flagge für grep und sort - u anstelle von uniq (was nur auf vorsortiert funktioniert Daten). Bitte beachten Sie auch den Kommentar von psusi - ich don39t Arbeit mit pcap-Dateien, so dass ich don39t wissen, ob dies wirklich tut, was Sie brauchen, habe ich nur hinzugefügt, um generisch zu illustrieren, wie man grep, um mit binären Dateien zu arbeiten. Ndash steeldriver grep arbeitet auf text, die. pcap datei ist eine binäre datei, was bedeutet, mit grep nur du kannst nicht machen was du willst. Das. pcap-Dateiformat Mit der Verwendung von grep konnten Sie nur diese IP-s in der. pcap-Datei finden, die sich im Paketdatenbereich befinden. (Z. B. die Capture-Datei enthält die Pakete eines Webseiten-Downloads, wo die Webseite über IP-s ist) So kurz sein, mit grep nur Sie nicht tun können. Aber warum müssen Sie nur grep verwenden Ist dies eine Art von Hausaufgaben (Ich antwortete eine sehr ähnliche Frage vor 3 Tagen. DESCRIPTION Tcpdump druckt eine Beschreibung des Inhalts von Paketen auf einer Netzwerk-Schnittstelle, die mit dem booleschen Ausdruck der Beschreibung vorangestellt ist Durch einen Zeitstempel, der standardmäßig als Stunden, Minuten, Sekunden und Bruchteile einer Sekunde seit Mitternacht gedruckt wird. Er kann auch mit dem Flag - w ausgeführt werden, wodurch es die Paketdaten für eine spätere Analyse in einer Datei speichern kann , Und / oder mit dem Kennzeichen - r, das bewirkt, dass es aus einer gespeicherten Paketdatei liest, anstatt Pakete aus einer Netzwerkschnittstelle zu lesen, und es kann auch mit dem Flag - V ausgeführt werden, wodurch es eine Liste der gespeicherten Daten liest Tcpdump wird, falls es nicht mit dem Flag - c ausgeführt wird, fortfahren, Pakete zu erfassen, bis es durch ein SIGINT-Signal unterbrochen wird (erzeugt beispielsweise durch Eingabe von (Typischerweise mit dem Befehl kill (1) erzeugt, wenn es mit dem Kennzeichen - c ausgeführt wird, wird es Pakete erfassen, bis es durch ein SIGINT - oder SIGTERM-Signal oder die angegebene Anzahl von Zeichen unterbrochen wird Pakete verarbeitet wurden. Wenn tcpdump das Erfassen von Paketen beendet, werden Zählerstände von: Pakete erfasst (dies ist die Anzahl der Pakete, die tcpdump empfangen und verarbeitet hat) Pakete, die durch Filter empfangen werden (die Bedeutung davon hängt vom Betriebssystem ab, auf dem Sie tcpdump laufen und möglicherweise auf Wie das Betriebssystem konfiguriert wurde - wenn auf der Befehlszeile ein Filter angegeben wurde, zählt es auf einigen OSs Pakete, unabhängig davon, ob sie mit dem Filterausdruck übereinstimmen, und selbst wenn sie durch den Filterausdruck übereinstimmen, unabhängig davon, ob tcpdump hat Lesen und verarbeiten sie auf anderen Betriebssystemen nur Pakete, die durch den Filterausdruck übereinstimmen, unabhängig davon, ob tcpdump sie noch gelesen und verarbeitet hat, und auf anderen Betriebssystemen zählt sie nur Pakete, die durch den Filterausdruck übereinstimmen und von denen verarbeitet wurden Tcpdump) - Pakete, die von kernel gelöscht wurden (dies ist die Anzahl der Pakete, die aufgrund eines fehlenden Pufferplatzes durch den Paketerfassungsmechanismus in dem OS, auf dem tcpdump ausgeführt wird, fallengelassen wurden, falls das OS diese Informationen an Anwendungen sendet, wenn dies nicht der Fall ist, Es wird als 0 gemeldet). Auf Plattformen, die das Signal SIGINFO unterstützen, wie z. B. die meisten BSDs (einschließlich Mac OS X) und Digital / Tru64 UNIX, meldet es diese Zählungen, wenn es ein SIGINFO-Signal empfängt (erzeugt zB durch Eingabe Ihres Statuszeichens, T, obwohl auf einigen Plattformen, wie Mac OS X, das Statuszeichen nicht standardmäßig gesetzt ist, müssen Sie es mit stty (1) festlegen, um es zu verwenden) und wird weiterhin Pakete erfassen. Auf Plattformen, die das SIGINFO-Signal nicht unterstützen, kann dies mit dem Signal SIGUSR1 erreicht werden. Das Lesen von Paketen von einer Netzwerkschnittstelle erfordert möglicherweise, dass Sie über spezielle Berechtigungen verfügen. Weitere Informationen finden Sie in der Manpage pcap (3PCAP). Das Lesen einer gespeicherten Paketdatei erfordert keine speziellen Berechtigungen. - A Drucken Sie jedes Paket (abzüglich der Link-Header) in ASCII. Praktisch für die Erfassung von Webseiten. - b Drucken Sie die AS-Nummer in BGP-Paketen in ASDOT-Notation anstatt ASPLAIN-Notation aus. - B puffersize - buffer-size buffersize Setzt die Größe des Betriebssystem-Capture-Puffers auf buffersize. In Einheiten von KiB (1024 Bytes). - c count Beenden nach dem Empfangen von Zählpaketen. - C-Dateigröße Überprüfen Sie vor dem Schreiben eines Rohpakets in eine Sicherungsdatei, ob die Datei aktuell größer als die Dateigröße ist, und schließen Sie die aktuelle Sicherungsdatei und öffnen Sie eine neue. Savefiles nach der ersten Savefile wird den Namen mit dem - w-Flag, mit einer Nummer hinter ihm, beginnend bei 1 und weiter nach oben, angegeben. Die Einheiten der Dateigröße sind Millionen Byte (1.000.000 Byte, nicht 1.048.576 Bytes). - d Dump den kompilierten Paket-Matching-Code in einer menschlich lesbaren Form auf Standard-Ausgabe und Stop. - dd Dump-Paket-Matching-Code als C-Programm-Fragment. - ddd Dump-Paket-Matching-Code als Dezimalzahlen (mit einer Zählung vorangestellt). - D --list-interfaces Drucken Sie die Liste der im System verfügbaren Netzwerkschnittstellen aus, auf denen tcpdump Pakete erfassen kann. Für jede Netzwerkschnittstelle wird eine Zahl und ein Schnittstellenname, gefolgt von einer Textbeschreibung der Schnittstelle, ausgedruckt. Der Schnittstellenname oder die Nummer können an das Flag - i übergeben werden, um eine Schnittstelle anzugeben, auf der erfasst werden soll. Dies kann auf Systemen nützlich sein, die nicht über einen Befehl zum Auflisten verfügen (z. B. Windows-Systeme oder UNIX-Systeme ohne ifconfig - a). Die Nummer kann auf Windows 2000 und späteren Systemen nützlich sein, wobei der Schnittstellenname eine etwas komplexe Zeichenfolge ist. Das Flag - D wird nicht unterstützt, wenn tcpdump mit einer älteren Version von libpcap erstellt wurde, der die pcapfindalldevs () - Funktion fehlt. - e Drucken Sie den Link-Level-Header auf jeder Dump-Zeile. Dies kann beispielsweise zum Drucken von MAC-Layer-Adressen für Protokolle wie Ethernet und IEEE 802.11 verwendet werden. - E Verwenden Sie spiipaddr algo: Geheimnis für die Entschlüsselung IPsec ESP-Pakete, die adressiert adr und enthalten Security Parameter Index-Wert spi. Diese Kombination kann mit Komma oder Newline-Trennung wiederholt werden. Beachten Sie, dass das Setzen des Geheimnisses für IPv4 ESP-Pakete zu diesem Zeitpunkt unterstützt wird. Algorithmen können des-cbc sein. 3des-cbc. Blowfish-cbc. Rc3-cbc. Cast128-cbc. Oder keine. Die Voreinstellung ist des-cbc. Die Fähigkeit, Pakete zu entschlüsseln, ist nur vorhanden, wenn tcpdump mit aktivierter Kryptographie kompiliert wurde. Geheimnis ist der ASCII-Text für ESP-Geheimschlüssel. Wenn vorangestellt mit 0x, dann ein Hex-Wert gelesen werden. Die Option übernimmt RFC2406 ESP, nicht RFC1827 ESP. Die Option ist nur für Debugging-Zwecke, und die Verwendung dieser Option mit einem echten geheimen Schlüssel wird entmutigt. Indem Sie IPSec geheimen Schlüssel auf Kommandozeile stellen, machen Sie es für andere sichtbar, über ps (1) und andere Anlässe. Zusätzlich zu der obigen Syntax kann der Name der Syntaxdatei verwendet werden, um die Datei tcpdump zu lesen. Die Datei wird nach dem Empfang des ersten ESP-Pakets geöffnet, so dass alle speziellen Berechtigungen, die tcpdump erhalten hat, bereits aufgegeben worden sind . - f Drucken Sie ausländische IPv4-Adressen numerisch statt symbolisch aus (diese Option ist dazu gedacht, um ernsthafte Hirnschäden in Sun NIS-Server zu bekommen - in der Regel hängt es für immer die Übersetzung von nicht-lokalen Internet-Nummern). Der Test für fremde IPv4-Adressen erfolgt über die IPv4-Adresse und die Netzmaske der Schnittstelle, auf der das Capture durchgeführt wird. Wenn diese Adresse oder Netzmaske nicht verfügbar ist, entweder weil die Schnittstelle, auf der Capture ausgeführt wird, keine Adresse oder Netzmaske hat oder weil die Capture auf der Linux quotanyquot Schnittstelle durchgeführt wird, die auf mehr als einer Schnittstelle erfassen kann, diese Option Wird nicht korrekt funktionieren. - F-Datei Datei als Eingabe für den Filterausdruck verwenden. Ein zusätzlicher Ausdruck, der auf der Befehlszeile angegeben wird, wird ignoriert. - G rotationseconds Wenn angegeben, dreht sich die mit der Option - w angegebene Dump-Datei alle rotierenden Sekunden. Savefiles wird den Namen - w haben, der ein durch strftime (3) definiertes Zeitformat enthalten soll. Wenn kein Zeitformat angegeben ist, überschreibt jede neue Datei das vorherige. Bei Verwendung in Verbindung mit der Option - C werden Dateinamen in Form der Datei ltcountgt verwendet. - h --help Die tcpdump - und libpcap-Versionszeichenfolgen drucken, eine Benutzungsnachricht drucken und beenden. --version Druckt die tcpdump - und libpcap-Versionszeichenfolgen und beendet es. - H Versuch, 802.11s Draft Mesh Header zu erkennen. - i interface - interface interface An der Schnittstelle hören. Wenn nicht spezifiziert, sucht tcpdump die Systemschnittstellenliste für die niedrigste numerierte, konfigurierte Schnittstelle (ohne Loopback), die sich beispielsweise als eth0 herausstellen kann. Auf Linux-Systemen mit 2.2 oder späteren Kerneln kann ein Interface-Argument von jedem verwendet werden, um Pakete von allen Schnittstellen zu erfassen. Beachten Sie, dass Captures auf dem beliebigen Gerät nicht im Promiscuous-Modus durchgeführt werden. Wenn das Flag - D unterstützt wird, kann eine Schnittstellennummer, die von diesem Flag gedruckt wird, als Interface-Argument verwendet werden, wenn keine Schnittstelle auf dem System diese Nummer als Namen hat. - I --monitor-mode Setzen Sie die Schnittstelle im Quotmonitor-Modus, dies wird nur auf IEEE 802.11 Wi-Fi-Schnittstellen unterstützt und nur auf einigen Betriebssystemen unterstützt. Beachten Sie, dass der Adapter im Überwachungsmodus vom Netzwerk getrennt werden kann, mit dem er verbunden ist, sodass Sie keine Wireless-Netzwerke mit diesem Adapter verwenden können. Dies könnte den Zugriff auf Dateien auf einem Netzwerkserver oder das Auflösen von Hostnamen oder Netzwerkadressen verhindern, wenn Sie im Monitormodus erfassen und nicht mit einem anderen Netzwerk mit einem anderen Adapter verbunden sind. Dieses Flag wirkt sich auf die Ausgabe des Flags - L aus. Wenn - I nicht angegeben ist, werden nur diejenigen Link-Layer-Typen angezeigt, die nicht im Überwachungsmodus verfügbar sind, wenn - I angegeben ist, werden nur diejenigen Link-Layer-Typen angezeigt, die im Monitormodus verfügbar sind. --imediate-mode Capture im quadratischen Modusquot. In diesem Modus werden Pakete an tcpdump ausgeliefert, sobald sie ankommen, anstatt für die Effizienz gepuffert zu werden. Dies ist die Voreinstellung beim Drucken von Paketen anstatt beim Speichern von Paketen in einer Sicherungsdatei, wenn die Pakete nicht an eine Datei oder eine Pipe gedruckt werden. - j tstamptype --time-stamp-type tstamptype Setzt den Zeitstempeltyp für die Erfassung auf tstamptype. Die Namen, die für die Zeitstempeltypen zu verwenden sind, werden in pcap-tstamp (7) angegeben, nicht alle Typen, die dort aufgeführt sind, müssen für jede Schnittstelle gültig sein. - J --list-time-stamp-types Liste der unterstützten Zeitstempeltypen für die Schnittstelle und beenden. Wenn der Zeitstempeltyp nicht für die Schnittstelle eingestellt werden kann, werden keine Zeitstempeltypen aufgelistet. - time-stamp-precision tstampprecision Bei der Aufnahme die Zeitstempelgenauigkeit für die Aufnahme auf tstampprecision einstellen. Beachten Sie, dass die Verfügbarkeit von Präzisionszeitstempeln (Nanosekunden) und deren tatsächliche Genauigkeit plattform - und hardwareabhängig ist. Beachten Sie außerdem, dass beim Schreiben von Aufnahmen mit Nanosekundengenauigkeit in eine Savefile die Zeitstempel mit Nanosekundenauflösung geschrieben werden und die Datei mit einer anderen Magic-Nummer geschrieben wird, um anzuzeigen, dass die Zeitstempel in Sekunden und Nanosekunden nicht alle gelesenen Programme sind Pcap savefiles können diese Captures lesen. Wenn Sie eine Savefile lesen, konvertieren Sie Zeitstempel in die mit timestampprecision angegebene Genauigkeit. Und zeigen sie mit dieser Auflösung an. Wenn die angegebene Genauigkeit kleiner als die Präzision der Zeitstempel in der Datei ist, verliert die Konvertierung die Genauigkeit. Die unterstützten Werte für timestampprecision sind Micro für Mikrosekunden Auflösung und Nano für Nanosekunden Auflösung. Die Voreinstellung ist Mikrosekundenauflösung. - K --überprüfen Sie nicht Prüfsummen Versuchen Sie nicht, IP-, TCP - oder UDP-Prüfsummen zu überprüfen. Dies ist nützlich für Schnittstellen, die einige oder alle diese Prüfsummenberechnung in Hardware ausführen, sonst werden alle ausgehenden TCP-Prüfsummen als schlecht markiert. - l Bilden Sie stdout Linie gepuffert. Nützlich, wenn Sie die Daten während des Captures sehen möchten. Z. B. Oder Beachten Sie, dass unter Windows die Zeilenpufferung ungepuffert ist, so dass WinDump jedes Zeichen einzeln schreibt, wenn - l angegeben ist. - U ist ähnlich wie - l in seinem Verhalten, aber es wird dazu führen, dass die Ausgabe paketgepuffert wird, so dass die Ausgabe an stdout am Ende jedes Pakets geschrieben wird und nicht am Ende jeder Zeile, die auf allen Plattformen gepuffert wird , Einschließlich Windows. - L --list-data-link-types Auflistung der bekannten Daten-Link-Typen für die Schnittstelle, im angegebenen Modus und beenden. Die Liste der bekannten Datenverknüpfungstypen kann z. B. auf einigen Plattformen abhängen, eine Wi-Fi-Schnittstelle kann einen Satz von Datenverknüpfungstypen unterstützen, wenn sie sich nicht im Überwachungsmodus befindet (z. B. könnte sie nur fake-Ethernet-Header unterstützen) Oder 802.11-Header unterstützen, aber 802.11-Header mit Radioinformationen nicht unterstützen) und einen anderen Satz von Datenverbindungstypen im Überwachungsmodus (z. B. 802.11-Header oder 802.11-Header mit Radioinformationen nur im Überwachungsmodus). - m-Modul SMI-MIB-Modul-Definitionen aus dem Dateimodul laden. Diese Option kann mehrfach verwendet werden, um mehrere MIB-Module in tcpdump zu laden. - M secret Geheimnis als gemeinsames Geheimnis verwenden, um die in TCP-Segmenten gefundenen Auszüge mit der Option TCP-MD5 (RFC 2385) zu validieren, sofern vorhanden. - n Dont konvertieren Adressen (d. H. Host-Adressen, Port-Nummern, etc.) zu Namen. - N Dont Druck Domain Name Qualifizierung von Hostnamen. Z. B. Wenn Sie diese Flagge geben, dann wird tcpdump nic statt nic. ddn. mil drucken. - - number Eine optionale Paketnummer am Anfang der Zeile ausdrucken. - O --no-optimize Führen Sie das Paket-Matching-Code-Optimierungsprogramm nicht aus. Dies ist nur dann sinnvoll, wenn Sie einen Fehler im Optimierer vermuten. - p --no-promiscuous-mode Dont setzen Sie die Schnittstelle in promiscuous-Modus. Beachten Sie, dass die Schnittstelle aus einem anderen Grund möglicherweise im Promiscuous-Modus vorliegt, - p kann nicht als Abkürzung für Ether-Host oder Ether-Broadcast verwendet werden. - Q-Richtung --Richtung Richtung Sende - / Empfangsrichtung wählen, für die Pakete erfasst werden sollen. Mögliche Werte sind in, out und inout. Nicht auf allen Plattformen verfügbar. - q Schnell (leise) Ausgabe. Drucken Sie weniger Protokollinformationen, so dass die Ausgabezeilen kürzer sind. - r Datei Lesen von Paketen aus der Datei (die mit der Option - w oder mit anderen Programmen erstellt wurde, die pcap - oder pcap-ng-Dateien schreiben). Standard-Eingabe wird verwendet, wenn Datei ist -. - S --absolute-tcp-sequenz-nummern Drucke absolute, nicht relative, TCP-Sequenznummern. - s snaplen --snapshot-länge snaplen Snarf Snaplen-Byte von Daten von jedem Paket anstatt der Standard von 262144 Byte. Pakete, die aufgrund eines begrenzten Snapshots abgeschnitten wurden, werden in der Ausgabe mit proto angezeigt, wobei proto der Name des Protokollpegels ist, bei dem die Trunkierung aufgetreten ist. Beachten Sie, dass bei größeren Snapshots sowohl der Zeitaufwand für die Verarbeitung von Paketen erhöht wird als auch die Anzahl der Paketpufferungen sinkt. Dies kann dazu führen, dass Pakete verloren gehen. Sie sollten Snaplen auf die kleinste Zahl einschränken, die die Protokollinformationen, die Sie interessieren, erfassen wird. Wenn Sie snaplen auf 0 setzen, wird diese auf den Standardwert von 262144 gesetzt, um die Abwärtskompatibilität mit den älteren Versionen von tcpdump zu verbessern. - T type Erzwingen Sie Pakete, die durch den angegebenen Ausdruck ausgewählt werden, um den angegebenen Typ zu interpretieren. Gegenwärtig bekannte Typen sind aodv (Ad-hoc-On-Demand-Distanz-Vektorprotokoll), carp (Common Address Redundancy Protocol), cnfp (Cisco NetFlow-Protokoll), lmp (Link Management Protocol), pgm (ppmmtp1 (ZMTP / Rpc (Remote Procedure Call), rtp (Real-Time Applications-Protokoll), rtcp (Echtzeit-Applikationen-Steuerungsprotokoll), snmp (Simple Network Management) Protokoll), tftp (Trivial File Transfer Protocol), vat (Visual Audio Tool), wb (verteiltes Whiteboard), zmtp1 (ZeroMQ Message Transport Protocol 1.0) und vxlan (Virtuelles eXtensibles lokales Netzwerk). Beachten Sie, dass der oben genannte pgm-Typ nur die UDP-Interpretation beeinflusst, wird das native PGM immer als IP-Protokoll 113 erkannt. UDP-gekapselte PGM wird oft als pseudoquot oder quotPGM / UDPquot bezeichnet. Beachten Sie, dass die pgmzmtp1-Typ oben Interpretation der beiden nativen PGM und UDP auf einmal. Während der nativen PGM-Decodierung würden die Anwendungsdaten eines ODATA / RDATA-Pakets als ZeroMQ-Datagramm mit ZMTP / 1.0-Frames decodiert. Während der UDP-Decodierung würde außerdem jedes UDP-Paket als ein verkapseltes PGM-Paket behandelt. - t Kein Zeitstempel auf jeder Speicherzeile drucken. - tt Drucken Sie den Zeitstempel als Sekunden seit dem 1. Januar 1970, 00:00:00, UTC und Sekundenbruchteilen seit dieser Zeit auf jeder Speicherzeile aus. - ttt Drucken Sie ein Delta (micro-second resolution) zwischen aktueller und vorheriger Zeile auf jeder Dumplinie aus. - tttt Drucke einen Zeitstempel als Stunden, Minuten, Sekunden und Sekundenbruchteile seit Mitternacht, gefolgt von dem Datum auf jeder Speicherzeile. - ttttt Drucken Sie ein Delta (micro-second resolution) zwischen aktueller und erster Zeile auf jeder Dumplinie aus. - u Druckt undecodierte NFS-Griffe. - U - packet-buffered Wenn die Option - w nicht angegeben ist, muss das ausgedruckte Paket paketgepuffert werden, dh wenn die Beschreibung des Inhalts jedes Pakets gedruckt wird, wird es statt dessen in die Standardausgabe geschrieben Nicht in ein Terminal schreiben, nur geschrieben, wenn der Ausgabepuffer füllt. Wenn die Option - w angegeben ist, machen Sie die gespeicherte Rohpaketausgabe paketgepuffert, d. H., Da jedes Paket gespeichert wird, wird es in die Ausgabedatei geschrieben und nicht nur geschrieben, wenn der Ausgabepuffer füllt. Das Flag - U wird nicht unterstützt, wenn tcpdump mit einer älteren Version von libpcap erstellt wurde, der die pcapdumpflush () - Funktion fehlt. - v Beim Analysieren und Drucken, produzieren (etwas mehr) ausführliche Ausgabe. Beispielsweise werden die Zeit zum Leben, die Identifizierung, die Gesamtlänge und die Optionen in einem IP-Paket gedruckt. Ermöglicht auch zusätzliche Paketintegritätsprüfungen, wie zum Beispiel das Überprüfen der IP - und ICMP-Header-Prüfsumme. Beim Schreiben in eine Datei mit der Option - w berichten Sie alle 10 Sekunden die Anzahl der erfassten Pakete. - vv Noch mehr ausführliche Ausgabe. Beispielsweise werden zusätzliche Felder aus NFS-Antwortpaketen gedruckt, und SMB-Pakete werden vollständig decodiert. - vvv Noch mehr ausführliche Ausgabe. Zum Beispiel telnet SB. SE-Optionen vollständig ausgedruckt werden. Mit - X Telnet Optionen werden auch in Hex gedruckt. - V Datei Lesen Sie eine Liste der Dateinamen aus der Datei. Standard-Eingabe wird verwendet, wenn Datei ist -. - w Datei Schreiben Sie die rohen Pakete an die Datei, anstatt sie zu analysieren und auszudrucken. Sie können später mit der Option - r gedruckt werden. Die Standardausgabe wird verwendet, wenn die Datei -. Dieser Ausgang wird gepuffert, wenn er in eine Datei oder ein Pipe geschrieben wird, so dass ein Programm aus der Datei oder Pipe nicht sehen kann, Pakete für eine beliebige Zeit, nachdem sie empfangen werden. Verwenden Sie die - U-Markierung, um zu verursachen, dass Pakete geschrieben werden, sobald sie empfangen werden. Der MIME-Typ application / vnd. tcpdump. pcap wurde mit IANA für pcap-Dateien registriert. Die Dateinamenerweiterung. pcap scheint die am häufigsten verwendete zusammen mit. cap und. dmp zu sein. Tcpdump selbst überprüft nicht die Erweiterung beim Lesen von Capture-Dateien und fügt keine Erweiterung beim Schreiben hinzu (es verwendet Magic-Nummern in der Datei-Header stattdessen). Jedoch verwenden viele Betriebssysteme und Anwendungen die Erweiterung, wenn sie vorhanden ist, und das Hinzufügen einer (z. B. pcap) wird empfohlen. Eine Beschreibung des Dateiformats finden Sie unter pcap-savefile (5). - W Wird in Verbindung mit der Option - C verwendet, wird die Anzahl der erstellten Dateien auf die angegebene Anzahl beschränkt und die überschriebenen Dateien werden von Anfang an überschrieben, wodurch ein rotierender Puffer erzeugt wird. Darüber hinaus wird es die Dateien mit genügend führenden 0s, um die maximale Anzahl von Dateien zu unterstützen, so dass sie ordnungsgemäß zu sortieren. In Verbindung mit der Option - G wird dies die Anzahl der erstellten gedumpten Dump-Dateien beschränken, die beim Erreichen der Grenze mit Status 0 verlassen werden. Bei Verwendung mit - C als auch, führt das Verhalten in zyklischen Dateien per timeslice. - x Beim Analysieren und Drucken, zusätzlich zum Drucken der Header jedes Pakets, drucken Sie die Daten jedes Pakets (abzüglich der Link Ebene Header) in Hex. Das kleinere der gesamten Paket - oder Snaplen-Byte wird gedruckt. Es ist zu beachten, dass dies das gesamte Link-Layer-Paket ist, so dass für Verbindungs-Layer (beispielsweise Ethernet) die Padding-Bytes auch gedruckt werden, wenn das Paket höherer Schicht kürzer als das erforderliche Padding ist. - xx Beim Analysieren und Drucken, zusätzlich zum Drucken der Header jedes Pakets, drucken Sie die Daten jedes Pakets, einschließlich der Link Ebene Header, in Hex. - X Beim Analysieren und Drucken, zusätzlich zum Drucken der Header jedes Pakets, drucken Sie die Daten jedes Pakets (abzüglich der Link Ebene Header) in Hex und ASCII. Dies ist sehr nützlich für die Analyse neuer Protokolle. - XX Beim Parsen und Drucken, zusätzlich zum Drucken der Header jedes Pakets, drucken Sie die Daten jedes Pakets, einschließlich der Link Ebene Header, in Hex und ASCII. - y datalinktype --linktype datalinktype Legen Sie den Datenverknüpfungstyp fest, der beim Aufzeichnen von Paketen in datalinktype verwendet werden soll. - z postrotate-command Wird in Verbindung mit den - C - oder - G-Optionen verwendet, wird tcpdump eine "postrotate-command" - Datei ausführen, wobei file die Savefile ist, die nach jeder Umdrehung geschlossen wird. Zum Beispiel komprimiert - z gzip oder - z bzip2 jede savefile mit gzip oder bzip2. Beachten Sie, dass tcpdump den Befehl parallel zum Capture ausführt, wobei die niedrigste Priorität verwendet wird, so dass dieser den Capture-Prozess nicht stört. Und wenn Sie einen Befehl verwenden möchten, der selbst Flags oder andere Argumente übernimmt, können Sie immer ein Shell-Skript schreiben, das den savefile-Namen als einziges Argument annimmt, die Flags amp arguments arrangements bilden und den gewünschten Befehl ausführen. - Z Benutzer --relinquish-privileges user Wenn tcpdump nach dem Öffnen des Capture-Geräts oder der Eingabe-Savefile als root ausgeführt wird, ändern Sie vor dem Öffnen aller Savefiles für die Ausgabe die Benutzer-ID an den Benutzer und die Gruppen-ID an die primäre Benutzergruppe. Dieses Verhalten kann bei der Kompilierung auch standardmäßig aktiviert werden. Ausdruck wählt aus, welche Pakete gedumpt werden sollen. Wenn kein Ausdruck angegeben ist, werden alle Pakete im Netz gelöscht. Andernfalls werden nur Pakete, deren Ausdruck wahr ist, gelöscht. Das Argument Ausdruck kann tcpdump entweder als ein einziges Shell-Argument oder als mehrere Shell-Argumente übergeben werden, je nachdem, was bequemer ist. Wenn der Ausdruck Shell-Metazeichen enthält, z. B. umgekehrte Schrägstriche, die verwendet werden, um Protokollnamen zu entgehen, ist es leichter, es als einzelnes, zitiertes Argument zu übergeben, anstatt die Shell-Metazeichen zu entgehen. Mehrere Argumente werden vor dem Parsen mit Leerzeichen verkettet. So drucken Sie alle Pakete, die am Sonntag ankommen oder abreisen. So drucken Sie Verkehr zwischen helios und entweder heiß oder Ass. Zum Drucken aller IP-Pakete zwischen ace und jedem Host außer helios. So drucken Sie den gesamten Datenverkehr zwischen lokalen Hosts und Hosts in Berkeley aus: So drucken Sie den gesamten FTP-Datenverkehr über das Internet-Gateway snup aus. (Beachten Sie, dass der Ausdruck zitiert wird, um zu verhindern, dass die Shell (falsch) die Klammern interpretiert): So drucken Sie keinen Verkehr, der nicht von lokalen Hosts stammt (für Gateways zu einem anderen Netz) Netz). Um die Start - und Endpakete (die SYN - und FIN-Pakete) jeder TCP-Konversation zu drucken, die einen nicht-lokalen Host umfasst. Um alle IPv4-HTTP-Pakete zu und von Port 80 zu drucken, d. h. nur Pakete auszudrucken, die Daten enthalten, nicht beispielsweise SYN - und FIN-Pakete und nur ACK-Pakete. (IPv6 bleibt als Übung für den Leser übrig.) IP-Pakete länger als 576 Byte drucken, die über Gateway Snup gesendet werden. So drucken Sie IP-Broadcast - oder Multicast-Pakete, die nicht über Ethernet Broadcast oder Multicast gesendet wurden: So drucken Sie alle ICMP-Pakete, die keine Echoanforderungen / Antworten sind (dh keine Ping-Pakete): OUTPUT FORMAT Der Ausgang von tcpdump ist protokollabhängig. Im folgenden finden Sie eine kurze Beschreibung und Beispiele für die meisten Formate. Link-Level-Header Wenn die Option - e angegeben ist, wird der Link-Level-Header ausgedruckt. Bei Ethernet werden die Quell - und Zieladressen, das Protokoll und die Paketlänge gedruckt. Auf FDDI-Netzwerken führt die Option - e dazu, dass tcpdump das Frame-Steuerfeld, die Quell - und Zieladressen sowie die Paketlänge druckt. Normale Pakete (wie jene, die IP-Datagramme enthalten) sind asynchrone Pakete mit einem Prioritätswert zwischen 0 und 7 zum Beispiel async4, wobei angenommen wird, dass diese Pakete einen 802.2 enthalten Logical Link Control (LLC) - Paket wird der LLC-Header gedruckt, wenn es sich nicht um ein ISO-Datagramm oder ein sogenanntes SNAP-Paket handelt. Bei Token Ring-Netzwerken erzeugt tcpdump die Zugriffssteuerungs - und Rahmensteuerungsfelder, die Quelle Und Ziel-Adressen und die Paketlänge. Wie auf FDDI-Netze, werden Pakete angenommen, dass ein LLC-Paket enthalten. Ob unabhängig davon, ob die Option - e ist oder nicht, wird die Source-Routing-Informationen für Source-geroutete Pakete gedruckt. Ob 802.11-Netzwerke , Führt die Option - e dazu, dass tcpdump die Frame-Steuerfelder, alle Adressen im 802.11-Header und die Paketlänge ausdruckt, wie bei FDDI-Netzwerken angenommen wird, dass Pakete ein LLC-Paket enthalten Der in RFC-1144 beschriebene SLIP-Komprimierungsalgorithmus.) Auf den SLIP-Verbindungen werden eine Richtungsanzeige (I für eingehend, O für ausgehend), Pakettyp und Komprimierungsinformationen ausgedruckt. Der Pakettyp wird zuerst gedruckt. Die drei Typen sind ip. Utcp. Und ctcp. Für IP-Pakete werden keine weiteren Verbindungsinformationen gedruckt. Bei TCP-Paketen wird die Verbindungskennung nach dem Typ gedruckt. Wenn das Paket komprimiert ist, wird sein kodierter Header ausgedruckt. Die Sonderfälle werden als S n und SA n ausgedruckt. Wobei n der Betrag ist, um den sich die Sequenznummer (oder Sequenznummer und ack) geändert hat. Wenn es kein Sonderfall ist, werden null oder mehr Änderungen gedruckt. Eine Änderung wird durch U (dringender Zeiger), W (Fenster), A (ack), S (Sequenznummer) und I (Paket-ID) gefolgt von einem Delta (n oder - n) oder einem neuen Wert ( N). Schließlich werden die Datenmenge im Paket und die komprimierte Kopfzeile ausgedruckt. Beispielsweise zeigt die folgende Zeile ein ausgehendes komprimiertes TCP-Paket mit einer impliziten Verbindungskennung, die das ack um 6 geändert hat, die Sequenznummer um 49 und die Paket-ID um 6 gibt es 3 Byte Daten und 6 Byte komprimierten Headers: Arp / rarp Ausgang zeigt die Art der Anfrage und ihre Argumente. Das Format soll selbsterklärend sein. Hier ist eine kurze Probe genommen vom Anfang eines rlogin vom Wirt rtsg zum Wirt csam. Die erste Zeile sagt, dass rtsg ein Arp-Paket fragt nach der Ethernet-Adresse des Internet-Hosts csam. Csam antwortet mit seiner Ethernet-Adresse (in diesem Beispiel sind Ethernet-Adressen in Caps und Internet-Adressen in Kleinbuchstaben). Dies würde weniger überflüssig aussehen, wenn wir tcpdump - n getan hätten. Wenn wir tcpdump - e getan hätten. Dass das erste Paket ausgestrahlt wird und das zweite Punkt-zu-Punkt-Signal sichtbar ist: Für das erste Paket ist die Ethernet-Quellenadresse RTSG, das Ziel ist die Ethernet-Broadcast-Adresse, das Feld Typ hex 0806 (Typ ETHERARP) und die Gesamtlänge betrug 64 Byte. Wenn Sie mit dem Protokoll nicht vertraut sind, sind weder diese Beschreibung noch tcpdump von Nutzen für Sie.) Das allgemeine Format einer tcp-Protokollzeile ist : Src und dst sind die Quell - und Ziel-IP-Adressen und Ports. Flags sind eine Kombination von S (SYN), F (FIN), P (PUSH), R (RST), U (URG), W (ECN CWR), E (ECN-Echo) oder. (ACK) oder keine, wenn keine Flags gesetzt sind. Data-seqno beschreibt den Teil des Sequenzraums, der von den Daten in diesem Paket abgedeckt wird (siehe Beispiel unten). Ack ist die Sequenznummer der nächsten Daten, die die andere Richtung auf dieser Verbindung erwartet. Fenster ist die Anzahl der Byte des Empfangspufferplatzes, der in dieser Richtung für die andere Richtung zur Verfügung steht. Urg gibt an, dass es dringende Daten in dem Paket gibt. Optionen sind tcp-Optionen in spitzen Klammern eingeschlossen (z. B. ltmss 1024gt). Src, dst und Flags sind immer vorhanden. Die anderen Felder sind abhängig vom Inhalt des Paket-tcp-Protokoll-Headers und werden nur bei Bedarf ausgegeben. Hier ist der öffnung Teil eines rlogin vom Wirt rtsg zum Wirt csam. Die erste Zeile sagt, dass tcp-Port 1023 auf rtsg ein Paket an Port-Login auf csam gesendet. Das S zeigt an, dass das SYN-Flag gesetzt wurde. Die Paketfolge-Nummer war 768512 und es enthielt keine Daten. (Die Notation ist zuerst: last (nbytes), was bedeutet, dass Sequenznummern zuerst bis zu, aber nicht einschließlich last, die nbyte Bytes von Benutzerdaten ist.) Es gab keine Piggy-backed ack, das verfügbare Empfangsfenster betrug 4096 Bytes und es war ein max - segment-size-Option, die eine MSS von 1024 Byte anfordert. Csam antwortet mit einem ähnlichen Paket, es sei denn es schließt ein piggy-backed ack für rtsgs SYN ein. Rtsg dann acks csams SYN. Das . Bedeutet, dass das ACK-Flag gesetzt wurde. Das Paket enthielt keine Daten, so daß keine Datenfolgenummer vorhanden ist. Beachten Sie, dass die ack-Sequenznummer eine kleine Ganzzahl (1) ist. Das erste Mal, wenn tcpdump eine tcp-Konversation sieht, druckt es die Sequenznummer aus dem Paket. Auf nachfolgenden Paketen der Konversation wird die Differenz zwischen der aktuellen Paket-Sequenznummer und dieser anfänglichen Sequenznummer gedruckt. Dies bedeutet, dass Sequenznummern nach dem ersten als relative Bytepositionen im Konversationsdatenstrom interpretiert werden können (wobei das erste Datenbyte jeweils 1 ist). - S wird diese Funktion überschreiben, wodurch die ursprünglichen Sequenznummern ausgegeben werden. In der sechsten Zeile sendet rtsg csam 19 Byte Daten (Byte 2 bis 20 in der rtsg rarr csam Seite des Konversations). Das PUSH-Flag wird im Paket gesetzt. Auf der 7. Zeile sagt csam, dass seine empfangenen Daten von rtsg bis zu aber nicht einschließlich Byte 21 gesendet werden. Die meisten dieser Daten liegen offenbar im Socket-Puffer, da das Cams empfangene Fenster 19 Byte kleiner bekommen hat. Csam sendet auch ein Byte Daten an rtsg in diesem Paket. Auf der 8. und 9. Zeile, sendet csam zwei Bytes dringender, schob Daten an rtsg. Wenn der Snapshot klein genug war, dass tcpdump den vollständigen TCP-Header nicht erfasst, interpretiert er so viel von dem Header wie er kann und berichtet dann tcp, um anzuzeigen, dass der Rest nicht interpretiert werden konnte. Wenn der Header eine gefälschte Option enthält (eine mit einer Länge, die entweder zu klein oder über das Ende des Headers hinausläuft), gibt tcpdump es als badopt an und interpretiert keine weiteren Optionen (da es unmöglich ist zu sagen, wo sie beginnen). Wenn die Header-Länge anzeigt, dass Optionen vorhanden sind, aber die IP-Datagrammlänge nicht lang genug ist, damit die Optionen tatsächlich vorhanden sind, berichtet tcpdump es als schlechte hdr-Länge. Erfassen von TCP-Paketen mit bestimmten Flagkombinationen (SYN-ACK, URG-ACK usw.) Es gibt 8 Bits im Steuerbits-Abschnitt des TCP-Headers: CWR ECE URG ACK PSH RST SYN FIN Nehmen wir an, dass wir Pakete sehen wollen Beim Aufbau einer TCP-Verbindung. Recall that TCP uses a 3-way handshake protocol when it initializes a new connection the connection sequence with regard to the TCP control bits is 1) Caller sends SYN 2) Recipient responds with SYN, ACK 3) Caller sends ACK Now were interested in capturing packets that have only the SYN bit set (Step 1). Note that we dont want packets from step 2 (SYN-ACK), just a plain initial SYN. What we need is a correct filter expression for tcpdump . Recall the structure of a TCP header without options: A TCP header usually holds 20 octets of data, unless options are present. The first line of the graph contains octets 0 - 3, the second line shows octets 4 - 7 etc. Starting to count with 0, the relevant TCP control bits are contained in octet 13: Lets have a closer look at octet no. 13: These are the TCP control bits we are interested in. We have numbered the bits in this octet from 0 to 7, right to left, so the PSH bit is bit number 3, while the URG bit is number 5. Recall that we want to capture packets with only SYN set. Lets see what happens to octet 13 if a TCP datagram arrives with the SYN bit set in its header: Looking at the control bits section we see that only bit number 1 (SYN) is set. Assuming that octet number 13 is an 8-bit unsigned integer in network byte order, the binary value of this octet is 00000010 and its decimal representation is Were almost done, because now we know that if only SYN is set, the value of the 13th octet in the TCP header, when interpreted as a 8-bit unsigned integer in network byte order, must be exactly 2. This relationship can be expressed as tcp13 2 We can use this expression as the filter for tcpdump in order to watch packets which have only SYN set: tcpdump - i xl0 tcp13 2 The expression says quotlet the 13th octet of a TCP datagram have the decimal value 2quot, which is exactly what we want. Now, lets assume that we need to capture SYN packets, but we dont care if ACK or any other TCP control bit is set at the same time. Lets see what happens to octet 13 when a TCP datagram with SYN-ACK set arrives: Now bits 1 and 4 are set in the 13th octet. The binary value of octet 13 is 00010010 which translates to decimal Now we cant just use tcp13 18 in the tcpdump filter expression, because that would select only those packets that have SYN-ACK set, but not those with only SYN set. Remember that we dont care if ACK or any other control bit is set as long as SYN is set. In order to achieve our goal, we need to logically AND the binary value of octet 13 with some other value to preserve the SYN bit. We know that we want SYN to be set in any case, so well logically AND the value in the 13th octet with the binary value of a SYN: We see that this AND operation delivers the same result regardless whether ACK or another TCP control bit is set. The decimal representation of the AND value as well as the result of this operation is 2 (binary 00000010), so we know that for packets with SYN set the following relation must hold true: ( ( value of octet 13 ) AND ( 2 ) ) ( 2 ) This points us to the tcpdump filter expression tcpdump - i xl0 tcp13 amp 2 2 Some offsets and field values may be expressed as names rather than as numeric values. For example tcp13 may be replaced with tcptcpflags. The following TCP flag field values are also available: tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-act, tcp-urg. This can be demonstrated as: tcpdump - i xl0 tcptcpflags amp tcp-push 0 Note that you should use single quotes or a backslash in the expression to hide the AND (amp) special character from the shell. UDP format is illustrated by this rwho packet: This says that port who on host actinide sent a udp datagram to port who on host broadcast . the Internet broadcast address. The packet contained 84 bytes of user data. Some UDP services are recognized (from the source or destination port number) and the higher level protocol information printed. In particular, Domain Name service requests (RFC-1034/1035) and Sun RPC calls (RFC-1050) to NFS. UDP Name Server Requests (N. B.:The following description assumes familiarity with the Domain Service protocol described in RFC-1035. If you are not familiar with the protocol, the following description will appear to be written in greek.) Name server requests are formatted as Host h2opolo asked the domain server on helios for an address record (qtypeA) associated with the name ucbvax. berkeley. edu. The query id was 3. The indicates the recursion desired flag was set. The query length was 37 bytes, not including the UDP and IP protocol headers. The query operation was the normal one, Query . so the op field was omitted. If the op had been anything else, it would have been printed between the 3 and the . Similarly, the qclass was the normal one, CIN . and omitted. Any other qclass would have been printed immediately after the A. A few anomalies are checked and may result in extra fields enclosed in square brackets: If a query contains an answer, authority records or additional records section, ancount . nscount . or arcount are printed as n a, n n or n au where n is the appropriate count. If any of the response bits are set (AA, RA or rcode) or any of the must be zero bits are set in bytes two and three, b2amp3 x is printed, where x is the hex value of header bytes two and three. UDP Name Server Responses Name server responses are formatted as In the first example, helios responds to query id 3 from h2opolo with 3 answer records, 3 name server records and 7 additional records. The first answer record is type A (address) and its data is internet address 128.32.137.3. The total size of the response was 273 bytes, excluding UDP and IP headers. The op (Query) and response code (NoError) were omitted, as was the class (CIN) of the A record. In the second example, helios responds to query 2 with a response code of non-existent domain (NXDomain) with no answers, one name server and no authority records. The indicates that the authoritative answer bit was set. Since there were no answers, no type, class or data were printed. Other flag characters that might appear are - (recursion available, RA, not set) and (truncated message, TC, set). If the question section doesnt contain exactly one entry, n q is printed. tcpdump now includes fairly extensive SMB/CIFS/NBT decoding for data on UDP/137, UDP/138 and TCP/139. Some primitive decoding of IPX and NetBEUI SMB data is also done. By default a fairly minimal decode is done, with a much more detailed decode done if - v is used. Be warned that with - v a single SMB packet may take up a page or more, so only use - v if you really want all the gory details. For information on SMB packet formats and what all the fields mean see cifs. org or the pub/samba/specs/ directory on your favorite samba. org mirror site. The SMB patches were written by Andrew Tridgell (tridgesamba. org ). NFS Requests and Replies Sun NFS (Network File System) requests and replies are printed as: In the first line, host sushi sends a transaction with id 26377 to wrl . The request was 112 bytes, excluding the UDP and IP headers. The operation was a readlink (read symbolic link) on file handle ( fh ) 21,24/10.731657119. (If one is lucky, as in this case, the file handle can be interpreted as a major, minor device number pair, followed by the inode number and generation number.) In the second line, wrl replies ok with the same transaction id and the contents of the link. In the third line, sushi asks (using a new transaction id) wrl to lookup the name xcolors in directory file 9,74/4096.6878. In the fourth line, wrl sends a reply with the respective transaction id. Note that the data printed depends on the operation type. The format is intended to be self explanatory if read in conjunction with an NFS protocol spec. Also note that older versions of tcpdump printed NFS packets in a slightly different format: the transaction id (xid) would be printed instead of the non-NFS port number of the packet. If the - v (verbose) flag is given, additional information is printed. For example: (-v also prints the IP header TTL, ID, length, and fragmentation fields, which have been omitted from this example.) In the first line, sushi asks wrl to read 8192 bytes from file 21,11/12.195, at byte offset 24576. Wrl replies ok the packet shown on the second line is the first fragment of the reply, and hence is only 1472 bytes long (the other bytes will follow in subsequent fragments, but these fragments do not have NFS or even UDP headers and so might not be printed, depending on the filter expression used). Because the - v flag is given, some of the file attributes (which are returned in addition to the file data) are printed: the file type (REG, for regular file), the file mode (in octal), the uid and gid, and the file size. If the - v flag is given more than once, even more details are printed. Note that NFS requests are very large and much of the detail wont be printed unless snaplen is increased. Try using - s 192 to watch NFS traffic. NFS reply packets do not explicitly identify the RPC operation. Instead, tcpdump keeps track of recent requests, and matches them to the replies using the transaction ID. If a reply does not closely follow the corresponding request, it might not be parsable. AFS Requests and Replies Transarc AFS (Andrew File System) requests and replies are printed as: In the first line, host elvis sends a RX packet to pike. This was a RX data packet to the fs (fileserver) service, and is the start of an RPC call. The RPC call was a rename, with the old directory file id of 536876964/1/1 and an old filename of. newsrc. new, and a new directory file id of 536876964/1/1 and a new filename of. newsrc. The host pike responds with a RPC reply to the rename call (which was successful, because it was a data packet and not an abort packet). In general, all AFS RPCs are decoded at least by RPC call name. Most AFS RPCs have at least some of the arguments decoded (generally only the interesting arguments, for some definition of interesting). The format is intended to be self-describing, but it will probably not be useful to people who are not familiar with the workings of AFS and RX. If the - v (verbose) flag is given twice, acknowledgement packets and additional header information is printed, such as the RX call ID, call number, sequence number, serial number, and the RX packet flags. If the - v flag is given twice, additional information is printed, such as the RX call ID, serial number, and the RX packet flags. The MTU negotiation information is also printed from RX ack packets. If the - v flag is given three times, the security index and service id are printed. Error codes are printed for abort packets, with the exception of Ubik beacon packets (because abort packets are used to signify a yes vote for the Ubik protocol). Note that AFS requests are very large and many of the arguments wont be printed unless snaplen is increased. Try using - s 256 to watch AFS traffic. AFS reply packets do not explicitly identify the RPC operation. Instead, tcpdump keeps track of recent requests, and matches them to the replies using the call number and service ID. If a reply does not closely follow the corresponding request, it might not be parsable. KIP AppleTalk (DDP in UDP) AppleTalk DDP packets encapsulated in UDP datagrams are de-encapsulated and dumped as DDP packets (i. e. all the UDP header information is discarded). The file /etc/atalk. names is used to translate AppleTalk net and node numbers to names. Lines in this file have the form The first two lines give the names of AppleTalk networks. The third line gives the name of a particular host (a host is distinguished from a net by the 3rd octet in the number - a net number must have two octets and a host number must have three octets.) The number and name should be separated by whitespace (blanks or tabs). The /etc/atalk. names file may contain blank lines or comment lines (lines starting with a ). AppleTalk addresses are printed in the form (If the /etc/atalk. names doesnt exist or doesnt contain an entry for some AppleTalk host/net number, addresses are printed in numeric form.) In the first example, NBP (DDP port 2) on net 144.1 node 209 is sending to whatever is listening on port 220 of net icsd node 112. The second line is the same except the full name of the source node is known (office). The third line is a send from port 235 on net jssmag node 149 to broadcast on the icsd-net NBP port (note that the broadcast address (255) is indicated by a net name with no host number - for this reason its a good idea to keep node names and net names distinct in /etc/atalk. names). NBP (name binding protocol) and ATP (AppleTalk transaction protocol) packets have their contents interpreted. Other protocols just dump the protocol name (or number if no name is registered for the protocol) and packet size. NBP packets are formatted like the following examples: The first line is a name lookup request for laserwriters sent by net icsd host 112 and broadcast on net jssmag. The nbp id for the lookup is 190. The second line shows a reply for this request (note that it has the same id) from host jssmag.209 saying that it has a laserwriter resource named quotRM1140quot registered on port 250. The third line is another reply to the same request saying host techpit has laserwriter quottechpitquot registered on port 186. ATP packet formatting is demonstrated by the following example: Jssmag.209 initiates transaction id 12266 with host helios by requesting up to 8 packets (the lt0-7gt). The hex number at the end of the line is the value of the userdata field in the request. Helios responds with 8 512-byte packets. The :digit following the transaction id gives the packet sequence number in the transaction and the number in parens is the amount of data in the packet, excluding the atp header. The on packet 7 indicates that the EOM bit was set. Jssmag.209 then requests that packets 3 amp 5 be retransmitted. Helios resends them then jssmag.209 releases the transaction. Finally, jssmag.209 initiates the next request. The on the request indicates that XO (exactly once) was not set. Fragmented Internet datagrams are printed as (The first form indicates there are more fragments. The second indicates this is the last fragment.) Id is the fragment id. Size is the fragment size (in bytes) excluding the IP header. Offset is this fragments offset (in bytes) in the original datagram. The fragment information is output for each fragment. The first fragment contains the higher level protocol header and the frag info is printed after the protocol info. Fragments after the first contain no higher level protocol header and the frag info is printed after the source and destination addresses. For example, here is part of an ftp from arizona. edu to lbl-rtsg. arpa over a CSNET connection that doesnt appear to handle 576 byte datagrams: There are a couple of things to note here: First, addresses in the 2nd line dont include port numbers. This is because the TCP protocol information is all in the first fragment and we have no idea what the port or sequence numbers are when we print the later fragments. Second, the tcp sequence information in the first line is printed as if there were 308 bytes of user data when, in fact, there are 512 bytes (308 in the first frag and 204 in the second). If you are looking for holes in the sequence space or trying to match up acks with packets, this can fool you. A packet with the IP dont fragment flag is marked with a trailing (DF) . By default, all output lines are preceded by a timestamp. The timestamp is the current clock time in the form and is as accurate as the kernels clock. The timestamp reflects the time the kernel applied a time stamp to the packet. No attempt is made to account for the time lag between when the network interface finished receiving the packet from the network and when the kernel applied a time stamp to the packet that time lag could include a delay between the time when the network interface finished receiving a packet from the network and the time when an interrupt was delivered to the kernel to get it to read the packet and a delay between the time when the kernel serviced the new packet interrupt and the time when it applied a time stamp to the packet. The original authors are: Van Jacobson, Craig Leres and Steven McCanne, all of the Lawrence Berkeley National Laboratory, University of California, Berkeley, CA. It is currently being maintained by tcpdump. org. The current version is available via http: The original distribution is available via anonymous ftp: IPv6/IPsec support is added by WIDE/KAME project. This program uses Eric Youngs SSLeay library, under specific configurations. Please send problems, bugs, questions, desirable enhancements, patches etc. to: NIT doesnt let you watch your own outbound traffic, BPF will. We recommend that you use the latter. On Linux systems with 2.0.x kernels: packets on the loopback device will be seen twice packet filtering cannot be done in the kernel, so that all packets must be copied from the kernel in order to be filtered in user mode all of a packet, not just the part thats within the snapshot length, will be copied from the kernel (the 2.0.x packet capture mechanism, if asked to copy only part of a packet to userland, will not report the true length of the packet this would cause most IP packets to get an error from tcpdump ) capturing on some PPP devices wont work correctly. We recommend that you upgrade to a 2.2 or later kernel. Some attempt should be made to reassemble IP fragments or, at least to compute the right length for the higher level protocol. Name server inverse queries are not dumped correctly: the (empty) question section is printed rather than real query in the answer section. Some believe that inverse queries are themselves a bug and prefer to fix the program generating them rather than tcpdump . A packet trace that crosses a daylight savings time change will give skewed time stamps (the time change is ignored). Filter expressions on fields other than those in Token Ring headers will not correctly handle source-routed Token Ring packets. Filter expressions on fields other than those in 802.11 headers will not correctly handle 802.11 data packets with both To DS and From DS set. ip6 proto should chase header chain, but at this moment it does not. ip6 protochain is supplied for this behavior. Arithmetic expression against transport layer headers, like tcp0 . does not work against IPv6 packets. It only looks at IPv4 packets. As of today, WinPcap 4.1.3 is available in the download section of the WinPcap website. This release adds support for Windows 8 and Server 2012, and fixes a couple of security issues in the WinPcap driver that could cause an OS crash. Full details of the changes can be found in the change log Gianluca Varenni WinPcap Team 10 February 2013 As most of you know, the WinPcap project has been pretty much silent for quite some time: no releases, no emails from its developers, no announcements. For the past 2 years, we39ve been extremely busy transitioning from the CACE startup environment to the much bigger reality of Riverbed. This transition has been an exciting and rewarding experience, but has limited the amount of free time for WinPcap updates. So what39s the future of WinPcap While we haven39t done much recently, it39s our intention to catch up on the support side by being more active in responding to the emails of our users, and to catch up on the development side as well. While we cannot say with certainty when the next release will be available, it will happen soon. Priority 351 is support for Windows 8. Gianluca Varenni WinPcap Team Introduction to WinPcap WinPcap is the industry-standard tool for link-layer network access in Windows environments: it allows applications to capture and transmit network packets bypassing the protocol stack, and has additional useful features, including kernel-level packet filtering, a network statistics engine and support for remote packet capture . WinPcap consists of a driver, that extends the operating system to provide low-level network access, and a library that is used to easily access the low-level network layers. This library also contains the Windows version of the well known libpcap Unix API. Thanks to its set of features. WinPcap is the packet capture and filtering engine of many open source and commercial network tools, including protocol analyzers, network monitors, network intrusion detection systems, sniffers, traffic generators and network testers. Some of these networking tools. like Wireshark. Nmap, Snort, ntop are known and used throughout the networking community. Winpcap. org is also the home of WinDump. the Windows version of the popular tcpdump tool. WinDump can be used to watch, diagnose and save to disk network traffic according to various complex rules.


No comments:

Post a Comment