Tcpdump - Linux Command - Unix Command

NUMM

tcpdump - Dumpsverreck op engem Netz

SYNOPSIS

tcpdump [ -ad FLnNOpqRStuvxX ] [ -c ]

[ -C file_size ] [ -F Fichier ]

[ -i Interface ] [ -m Modul ] [ -r Datei ]

[ -s snaplen ] [ -T Typ ] [ -U Benotzer ] [ -w Datei ]

[ -E algo: geheim ] [ Ausdrock ]

DESCRIPTION

Tcpdump dréckt d'Header vun Paketen op enger Netzverbindung mat dem Booleschen Ausdrock . Et kann och lafen mat dem W- Fändel, dat verursaacht datt de Paket-Daten zu enger Datei fir spéider Analys gespaart gëtt an / oder mat der -r Mark, déi him aus enger gespäichter Paketdatei liesen anstatt fir Pakete ze liesen aus engem Netzwierkinterface. An all Fäll sinn nëmme Pakete déi dem Ausdrock vun der Expression ginn vun tcpdump veraarbecht ginn.

Tcpdump fiert, wann net mat dem -c- Fändel lafen, weider Pakete futti ze kréien, bis se duerch e Signal SIGINT gestoppt (generéiert z. B. duerch Typus vun Ärem Interrupt Character, typesch Kontroll-C) oder e Signal SIGTERM (typesch mat dem Kill (1) Kommando); Wann se mat dem -c- Fändel lafen, fängt Pakete bis se duerch e SIGINT- oder SIGTERM-Signal ofgeschalt as oder d'spezifizéiert Zuel vun Paketen veraarbecht ginn.

Wann tcpdump ofgeschloss Paketen fäerdeg bréngt, rappt en zielt:

D'Pakets `` gëtt duerch Filter '' (d'Bedeitung vun dësem hängt vum OS op deem Dir tcpdump ausgitt an eventuell op d'Art a Weis wéi d'OS konfiguréiert ass - wann e Filter op der Kommandozeil ugewise gëtt, op e puer OSes zielt se D'Pakete egal wéi se mat der Filterexpression ugepasst sinn, an op aner OSES zielt se nëmme Pakete déi mat der Filterausdréck iwwereg goufen an goufen duerch tcpdump veraarbecht);

D'Pakets `` gëtt duerch Kernel '' (dat ass d'Zuel vun Paketen, déi ofgesprengt goufen, wéinst engem Mank vum Pufferplatz, vum Paket-Fangmechanismus am OS op deem tcpdump ausgeführt gëtt, wann d'OS dës Informatioun u Applikatiounen mellt; Wann net, da gëtt et als 0 gemellt).

Op Plattformen, déi den SIGINFO-Signal ënnerstëtzen, wéi déi meescht BSDen, gëtt et dës Ziler ze berichten, wann e SIGINFO-Signal kritt (generéiert duerch Typus "` Status "Zeechen, typesch Kontroll- T) a féiert weider Pakete fest .

Liespaketen aus engem Netzwierk-Interface kënnen erfuerderlech sinn datt Dir speziell Privilegien hutt:

Ënnert den SunOS 3.x oder 4.x mat NIT oder BPF:

Dir musst liesen Zougang zu / dev / nit oder / dev / bpf * .

Ënnert Solaris mat DLPI:

Dir musst liesen / schreiwen Zougang zum Netzwierk Pseudo-Apparat, z. B. / dev / le . Op mannst e puer Versiounen vu Solaris awer net duer fir den tcpdump zu engem promiscuous Modus ze kréien; op dës Versiounen vu Solaris, musst Dir root, oder tcpdump muss installuéiert ginn fir root ze installéieren, fir an engem Promiskuous Modus ze fänken. Gitt datt mer op ville (méiglecherweis) Interfaces sinn, wann Dir net an engem promiscuous Modus fënnt, seet Dir keng erausgehäit Pakete, sou datt e Capture, déi net an engem Promiskuersmodus gemaach gëtt, net ganz nëtzlech sinn.

Ënner HP-UX mat DLPI:

Dir musst root oder tcpdump muss installuéiert ginn fir root.

Ënnert IRIX mam Snoop:

Dir musst root oder tcpdump muss installuéiert ginn fir root.

Ënnert Linux:

Dir musst root oder tcpdump muss installuéiert ginn fir root.

Ënner Ultrix an Digital UNIX / Tru64 UNIX:

All Benotzer kann den Netzverkéier mat tcpdump erfassen . Allerdéngs kënnt keen Benotzer (net souguer dee Super User) an engem onverhuelbaren Modus op enger Interface ze halen, ausser den Super User huet en onbequemen Betriebsmodus op där Interface duerch pfconfig (8) aktivéiert an kee Benotzer (net souguer dee Super User ) kann de Unicast-Traffic, deen vun der Maschin an engem Interface empfänkt oder vun der Maschinn geschéckt gëtt gëtt, erfëllt, ausser datt de Super-User d'Kopie all-mode op dës interface mat pfconfig erlaabt ass , datt nëtzlech Paket-Capture op enger Interface wahrscheinlech entweder Promikuousmodus oder Kopie erfëllt -all-Modusoperéierung oder zwou Modus vun Operatioun, op dës Interface aktivéiert ginn.

Ënnert BSD:

Dir musst liesen Zougang zu / dev / bpf * .

Liesen a gespäichert Paketdatei erfëllt keng speziell Privileg.

OPTIONS

-a

Versicht op Konvertéieren vun Netzwierker an Emissiounen Adressen un Nimm.

-c

Ausreechung nodeems d' Ziele Pakete kréien.

-C

Schreift ier Dir e rau Paket zu engem Save-Dateien schreift, ob de Fichier de Moment méi grouss ass wéi file_size, a wann Dir esou d'aktuell Datei "savefile" schéckt an eng nei geännert. De Savefiles no der éischter savefile huet den Numm mat dem -w- Fändel uginn, mat enger Nummer nodréiglech, vun 2 a weider opwärts. D'Unitéit vu Dateisystem sinn Millioune vu Bytes (1.000.000 Bytes, net 1.048.576 Bytes).

-d

Dumpel déi kompiléiert Paket-passende Code an enger mënschlech lëschbarer Form op déi normal Ausgab aus a stoppen.

-dd

Dump Paket-passende Code als C Programm Fragment.

-ddd

Dump Paket-passende Code als Dezimalzueler (virdrun mat engem Ziele).

-e

Den Header vun der Linkebereit op all Dumpelinn drécken.

-E

Benotzungsalgo : geheim fir Entschlësselung vun IPsec ESP-Paketen. D'Algorithmen kënnen Des-cbc , 3des-cbc , blowfish-cbc , rc3-cbc , cast128-cbc oder none . De Standard ass descbc . D'Kapazitéit fir d'entschäerft Pakete ass nëmme präsent, wann tcpdump mat der Kryptografie aktivéiert ass. Geheim ass den Ascii-Text fir den ESP geheimt Schlëssel. Mir kënnen an dësem Moment keng willkürlech binäre Wäert hunn. D'Optioun ass RFC2406 ESP, net RFC1827 ESP. D'Optioun ass nëmme fir Debuggen Zwecker, an d'Benotzung vun dëser Optioun mat echt "Geheimt" ass decouragéiert. Mat Presentatioun vun IPsec Geheimtau op Kommandozeilegung sicht Dir fir aner, iwwer ps (1) an aner Geleeënheeten.

-f

D '`auslännesch' Internet Adressen numeresch a symbolesch sinn (dës Optioun soll e schlechten Hirnschued am Suns Serversystem ** kréien) normalerweis hängt ëmmer fir Iwwersetzungsnummern net lokal ze benotzen).

-F

Fichier als Fichier fir den Filter Ausdréck. En zousätzlech Ausdrock op der Kommandozeilung gëtt ignoréiert.

-i

Lauschteren op Interface . Wann net spezifizéiert, tcpdump fëllt d'System- Interface Lëscht fir déi niddereg nummern, eng interface (excloupéierend Loopback) konfiguréiert. D'Krawatten briechen duerch déi fréierst Match.

Op Linux Systemer mat 2,2 oder méi spéit Kierelen, kann een Interface Argument vun `` all '' benotzt fir Pakete vun all Interfaces ze kréien. Notéiert datt Capturen op dem `` keng '' Apparat net an engem promiscuous Modus gemaach ginn.

-l

Maacht stdout line gepeut. Nëtzlech wann Dir déi Donnéeën beim Capture gesinn wëllt. Eg
`` tcpdump -l | t 'dat oder' tcpdump -l> dat & tail -f dat ''.

-m

Load SMI MIB Moduldefinitioune vum Dateie Modul . Dës Optioun kann e puer Mol benotzt fir verschidden MIB-Module zu tcpdump ze lueden .

-n

Konfiguréieren vun Hostadressen un Nimm. Dëst kann benotzt ginn fir DNS Lookups z'ënnerstëtzen.

-nn

Konvertéieren ech Protokollen an Portnummeren etc. net nom Numm.

-N

Wësst net d'Domain-Qualifikatioun vun Hostnumm. Eg, wann Dir dëse Fändel gitt dann tcpdump druckt `` nic '' anstatt '`nic.ddn.mil' '.

-O

Fëllt net de Paket-passende Code Optimizer. Dëst ass nëtzlech, wann Dir e Feeler am Optimisateur verdächtegt.

-p

Huelt d'Interface net an e Promisku rëm. Bedenkt datt d'Interface an engem anere Regierungsmodus an engem promiscuous Modus ass; Dofir kann '-p' net als Abkürzung fir 'Etherhost {local-hw-addr} oder ether Broadcast' benotzt ginn.

-q

Quick (roueg?) Ausgab. Dréckt manner Protokollinformatioun drécken fir d'Ausgabeleitungen méi kuerz.

-R

Assume ESP / AH-Pakete op Basis vun der aler Spezifizéierung baséiert (RFC1825 bis RFC1829). Wann s'zerzitt, tcpdump net d 'Replay-Preventioun Feld drécken. Well et kee ProtokollVersiounsfeld an der ESP / AH-Spezifikatioun ass, kann tcpdump net d'Versioun vum ESP / AH-Protokoll ausleeden.

-r

Liest Paketen aus der Datei (déi mat der -w Optioun erstallt gouf). Standardeingang gëtt benotzt wann d' Datei '`-' 'ass.

-S

Präiss absolut, anstatt relativ, TCP Sequence Nummeren.

-s

Snarf snapelen Bytes vun Daten aus all Packet anstatt de Standard vu 68 (mat SunOS's NIT, de Minimum ass tatsächlech 96). 68 Bytes adequat ass fir IP, ICMP, TCP an UDP, awer kann Protokollinformatioune vum Nummerversuerger a NFS-Pakete verkierpelen (kuckt hei ënnendrënner). D'Packets goufen duerch eng limitéiert Snapshot an der Ausgab mat "` [ Proto ] ", wou Protokoll den Numm vum Protokollniveau ass, bei deem d'Ofkierzung opgetratt ass. Nëmme kucken datt méi groussen Snapshots erhéicht d'Zuel un Zäit déi d'Pakete veraarbecht ze maachen an effektiv d'Quantitéit vum Paket Puffern verringert. Dëst kann dozou féieren, datt Pakete verluer sinn. Dir sollt Grenzen op déi klengste Zuel limitéieren, déi d'Protokollinformatioun festhält , déi Dir interesséiert. Setting Snaplénen op 0 bedeelgen déi gefuerdert Längt fir ganz Pakete fangen.

-T

Force Paketen, déi duerch " Ausdrock " ausgewielt ginn, gëtt de spezifizéierte Type interpretéiert. De bekanntsten Typ vu Cnfp (Cisco NetFlow Protokoll), RTP (Remote Procedure Call), RTTP (Real-Time Applications Protocol), rtcp (Real-Time Applications Control Protocol), SNMP (Simple Network Management Protocol), Vettel (Visual Audio Tool ), a wb (verdeelt White Board).

-t

Maacht keng Timestamp op all Dumpelzich.

-tt

Dréckt eng onformatéiert Timestamp op all Dumpelzuel.

-U

Dréckt root-Privilegien an ännert d'Benotzer ID fir Benotzer an Grupp Grupp op déi éischt Grupp vun engem Benotzer .

Opgepasst! Red Hat Linux féiert automatesch d'Privileg fir User `` pcap '', wann näischt anescht uginn.

-ttt

Dréckt eng Delta (an Mikro-Sekonnen) tëschent der aktueller a virdruner Linn op all Dumpel.

-tttt

Drécke en Timestamp am Standardformat vun der aktueller Dumpfuhr.

-u

Drécke oncoderéiert NFS Griffelen.

-v

(E bëssen méi) verbose Resultat. Zum Beispill, d'Zäit fir ze léieren, Identifikatioun, Gesamtlängt an Optiounen an engem IP-Paket gedréckt. Et erméiglecht och aner Paket Integritéit Kontrollen wéi d'Verifizéierunge vun der Checksumme vun IP an ICMP Header.

-vv

Méi méi verbose Resultat. Zum Beispill, zousätzlech Felder ginn aus NFS-Response-Paketen gedréckt, an SMB-Paketen ginn voll decodéiert.

-vvv

Méi méi verbose Resultat. Zum Beispill, Telnet SB ... SE Optiounen ginn voll ausgedréckt. Mat -X Telnetoptiounen ginn och hex gedréckt.

-w

Schreift déi roude Päckchen ze file anstatt d'Analys an d'Ausdrock ze maachen. Si kënnen duerno mat der -r -Option gedréckt ginn. Standardausgang gëtt benotzt wann d' Datei '`-' 'ass.

-x

Dréckt all Paket (minus säin Header Header Header) an Hex. De klengen Deel vum ganze Paket oder Snaplen Bytes ginn opgedréckt. Note datt dëst de ganze Link-Layer-Paket ass, sou datt fir Link Schichten déi Pad (z. B. Ethernet), d'Padding-Bytes och gedréckt ginn, wann de méi héicht Layout-Paket kuerzer ass wéi d'Requête padding.

-X

Beim Drécke Hex, drënner Ascii. Wann also -x och gesat gëtt, gëtt de Paket an Hex / Ascii gedréckt. Dëst ass ganz nëtzlech fir d'Analyse neier Protokollen ze analyséieren. Och wann -x ass net och festgeluecht ginn, kënnen verschidden Deeler vun e puer Paketen an Hex / Ascii gedréckt ginn.

Ausdrock

wählt wat Pakete gedomm sinn. Wann keen Ausdrock gëtt gegeben, ginn all Paketen am Netto gedumppt. Oder nëmmen Pakete fir déi Ausdrock "richteg" gëtt gedomm.

De Ausdrock ass aus engem oder méi primitiv. Primitives besteet normalerweis aus enger Id (Numm oder Zuel) virun engem oder méi Qualifizéierer. Et ginn dräi verschidden Arten vu Qualifikatiounen:

Zort

Qualifikatioune soen wat fir eng Saach d'Id oder d'Nummer steet. Déi verschidden Typen sinn Host , Nett a Hafen . Eg, `Host Foo ',` Net 128.3', `Hafen 20 '. Wann et keen Typ Qualifizéierer gëtt, gëtt de Wirt iwwerholl.

dir

Qualifizéierers spezifizéieren eng speziell Transfernuecht bis an / oder vun der id . Déi méiglech Richtungen sinn src , dst , src oder dst a src a dst . Egal "src foo", `d net net 128.3 ',` src oder dst port ftp-data'. Wann et keen Dir Qualifikateur gëtt, gëtt d' Spuer oder dst iwwerholl. Fir `null 'Linkschichten (dh Punkt-Punkt-Protokollen wéi Rutsch) kënnen d' Inbound- a Ausgabqualifizéierer benotzt ginn fir eng Wënschenzäit ze spezifizéieren.

Proto

Qualifikatioune limitéieren d'Match op e spezielle Protokoll. Déi méiglech Protos sinn: Äther , Fddi , Tr , IP , IP6 , Arp , Rarp , Decnet , Tcp an UDP . Eg, 'ether src foo', `arp net 128.3 ',` tcp port 21'. Wann et keen Proto-Qualifikateur gëtt, ginn all Protokollen déi mat der Type konsequent sinn. Egal "src foo" heescht `(IP oder Arp oder Rarp) src foo '(ausser datt et net legal legal syntax ass),' Net Bar 'heescht` (IP oder Arp oder Rarp) Net Bar "an` Port 53' heescht `(tcp oder udp) port 53 '.

[`fddi 'ass eigentlech en Alias ​​fir' ether '; De Parser behandelt si identesch als "d'Datenverletzungsstufe", déi op der spezifizéierter Netzwierkschinn benotzt gëtt. "'FDDI Header enthalen Ethernet-ähnlech Quell a Zieladressen, an dacks Ethernet-ähnlech Pakettypen, sou datt Dir op dësen FDDI Felder esou wéi mat de analoger Ethernet Felder. FDDI-Header enthalen och aner Felder, awer Dir kënnt se net explizit an engem Filterausdrock nennen.

Ähnlech wéi `tr 'ass en Alias ​​fir' Ether '; Déi virdrënnlech Abonnementer iwwert FDDI Header zielen och op Token Ring Header.]

Zousätzlech zu den uewendriwwer sinn et puer speziell `primitive 'Schlësselwierder déi net dem Muster folgend sinn: gateway , broadcast , manner , méi grouss an arithmetesch Ausdrock. All dës sinn hei ënnendrënner beschriwwen.

Méi komplexe Filterausdrécke ginn duerch d'Verwécklung vun de Wierder gebaut a gemaach an oder net fir Primitivele kombinéiert. Eg, `Host Foo an net Port FTP an net Port FTP-Daten '. Fir ze späicheren ze sinn, kënnen identesch Qualifikéiererlëschten ausgeluecht ginn. Eg, `tcp dst port ftp oder ftp-data oder domain 'ass genee d' selwecht wéi 'tcp dst port ftp oder tcp dst port ftp-data oder tcp dst port domain'.

Zuerst Primitiven sinn:

DST Gastgeber

Wëllt Dir d'Destinatioun vum IPv4 / v6 vum Paket gehéieren , wat e Adress oder e Numm kënnt.

src Héicht vum Host

Wëllt Dir d 'Feld vum IPv4 / v6-Quell vum Paket gehéieren .

Provider of

True ass, datt entweder d'IPv4 / v6 Quell oder Destinatioun vum Paket ass Host ass . Jiddfereen vun den uewegen Astellungsausdréck kann mat den Schlësselwierder, IP , Arp , Rarp oder IP6 wéi bei:

IP Provider

déi entsprécht:

eter Protokoll / IP a Provider

Wann Host ass e Numm mat méi IP Adressen, gëtt all Adresse fir eng Match gefrot.

ether dst ehost

Gitt Recht datt d'Äthernet Adress Adress ehost ass . Ehost kann entweder e Numm vun / etc / ethers oder eng Ziffer ginn ( eter (3N) fir numeresch Format).

Eet src ehost

Wëllt d'Äert Quelladress Adresse ehost .

Ehemdeesthal eHost

Gitt Recht datt entweder d'Äthernet Quell oder d'Zieladress ehost ass .

Provider

True ass dëst Paket de Host als Gateway benotzt. Ech hunn d'Ethernet-Quell oder Destinat Adress war Host, awer weder d'IP-Source an d'IP-Destinatioun war Host . D ' Benotzer muss e Numm sinn a muss och vun der Maschinn vum Host-Name-zu-IP-Adress-Aufléisungsmechanismen (HostName-Datei, DNS, NIS, etc.) fonnt ginn, an déi vun der Host-Name-zu-Ethernet- Adressenauflösung Mechanismus (/ etc / ethers, etc.). (En äquivalente Ausdrock ass

Ehemocht Héicht ehost a net Gastgeher

déi mat Nimm oder Nummer fir Host / Ehost benotzt kënne ginn .) Dës Syntax funktionéiert am Moment keng IPv6-fähig Konfiguratioun.

dst net net

True, wann d'IPv4 / v6 Zuchaccident vum Paket e Netzwierk vun Nett huet . Net kann e Numm sinn vun / etc / nett oder eng Netzwierknummer (kucke Netzwierker (4) fir Detailer).

src net net

True, wann d'IPv4 / v6 Quelladress vum Paket e Netzwierk vun Nett huet .

Nettogewënn

True, wann d'Source oder d'Adress vun der IPv4 / v6 vum Paket e Netzwierk vun Nett huet .

Net Netto Maske Netmask

Tatsächlech wann d'IP Adress net mat der spezifescher Netmask passt . Kann mat src oder dst qualifizéiert ginn. Bedenkt datt dës Syntax net fir IPv6 net gëlteg ass.

Net net / len

Wëllt d'IPv4 / v6-Adress net mat engem netmask len Bits breet. Kann mat src oder dst qualifizéiert ginn.

DST Port Hafen

Wëllt Dir d'Paket IP / Tcp, IP / UDP, IP6 / Tcp oder IP6 / UDP an huet en Zielport port value vum Hafen . Den Hafen kann eng Zuel oder e Numm sinn an / etc / services benotzt (kuck TCP (4P) an udp (4P)). Wann e Benotzung benotzt gëtt, ginn d'Portnummer a Protokoll kontrolléiert. Wann eng Nummer oder eendeiteg Numm benotzt gëtt, gëtt nëmmen d'Portnummer gepréift (z. B. dst Port 513 druckt en Tcp / Loginverkéier a udp / dee Verkéier a Port Port druckt en Tcp / Domain a UdP / Domainverkéier).

src Port Hafen

True, wann de Paket e Source Port Port of Hafen huet .

Port Hafen

True wann iwwer d'Quell oder Destinatioun vum Hafen ass Port . Jiddfereen vun den uewe genannt Huttausdrécke kann mat den Schlësselwierder, Tcp oder UDP préventéiert ginn wéi zB:

TCP-Hafen port port

wat just tcp-Pakete mat deem seng Source Port hafen ass.

manner Längt

Wärts wann de Paket e Längt manner oder wéi d' Längt huet . Dëst ass entsprécht:

len <= Längt .

méi laang

Tatsächlech wann de Paket eng Längt méi grouss wéi oder d' Längt . Dëst ass entsprécht:

len> = Längt .

IP - Protokoll

True ass dëst Paket e IP-Paket (kuck IP (4P)) vum Protokoll Typ Protokoll . Protokoll kann eng Zuel oder eng vun den Numm icmp , icmp6 , igmp , igrp , pim , ah , esp , vrrp , udp oder tcp sinn . Bedenkt datt d'Identifizéierer tcp , udp a icmp och Schlësselwahlen sinn a muss entlooss ginn iwwer Backslash (\), dat ass \\ an der C-Shell. Den Ursprong ass dat primitiv net d'Protokollkopfkette kéng.

IP6 Protokoll protokoll

True ass dëst Paket e IPv6-Paket vum Protokoll- Typsprotokoll . Den Ursprong ass dat primitiv net d'Protokollkopfkette kéng.

ip6 Protokoll Protokoll

Gitt true datt de Paket IPv6-Paket ass a Protokollkopf mat Typprotokoll an der Protokollkopfkette beinhalt. Zum Beispill,

ip6 protochain 6

Match mat all IPv6-Paket mat TCP-Protokoll Header an der Protokoll Header Kette. De Paket kann z. B. d'Authentifikatiouns Header, d'Routing Header oder den Hop Hop Hop Optionsoptioun, tëschent IPv6 Header a TCP Header enthalten. De BPF Code, deen vun dësem primitiven emittéiert gouf, ass komplex an kann net optiméiert ginn vum BPF-Optimierercode an tcpdump , sou datt dëst e bësse méi lues ass.

IP - Protokoll

Äquivalent zu IP6 Protokoll Protokoll , awer dëst ass fir IPv4.

Eenter Ausstrahlung

True ass dëst Paket e Ethernet Broadcast-Paket. D' Äther keyword ass optional.

IP - Emissioun

True ass dëst Paket e IP-Rundfunk Paket. Et kontrolléiert fir déi all-Nullen a all-déi Rundfunkkonventiounen, a kuckt d'lokal Subnetzmaske.

Ether Multicast

True ass dëst Paket e Ethernet Multicast-Paket. D' Äther keyword ass optional. Dëst ass kuerz hannert d' Ether [0] & 1! = 0 .

IP - Multicast

True ass dëst Paket e IP-Multicast-Paket.

ip6 Multicast

True ass dëst Paket e IPv6-Multicast-Paket.

eter Protokoll Protokoll

Gitt Wäert wann de Paket eeler Typprotokoll ass . Protokoll kann eng Zuel oder eng vun den Nimm ip , ip6 , arp , rarp , atalk , aarp , decnet , sca , lat , mopdl , moprc , iso , stp , ipx oder netbeui sinn . Remarkabel dës Kennzeechen sinn och Schlësselwieder a mussen iwwer Backslash (\) entlooss ginn.

[Am Fall vun FDDI (zB ' fddi protocol arp ') an Token Ring (zB ' tr protocol arp '), fir déi meescht dës Protokollen ass d'Protokollidentifikatioun vum 802.2 Logical Link Control (LLC) Header gëtt normalerweis op der Uewerfläch vum FDDI oder Token Ring Header geschicht.

Wann d'Filterung fir déi meescht Protokollidentifizéierer am FDDI oder Token Ring checkt, kontrolléiert tcpdump nëmmen de Feld vum Protokoller ID vun engem LLC Header am SNAP-Format mat engem Organisatiounsinhaltsidentifikator (OUI) vun 0x000000, fir en agehaapt Ethernet; Et kontrolléiert net ob de Paket am SNAP-Format mat engem OUI vun 0x000000 ass.

Déi Ausnamen sinn iso , fir déi et den DSAP (Destinatioun Service Access Point) an SSAP (Source Service Access Point) Felder vum LLC Header, stp an netbeui kontrolléiert , wou et den DSAP vum LLC Header kontrolléiert an atalkal , wou et Iwwerpréift fir e Paket SNAP-Format mat engem OUI vun 0x080007 an dem Appletalk-Typ.

Am Fall vun Ethernet kontrolléiert tcpdump den Ethernet-Typ Feld fir déi meescht vun dëse Protokollen; Déi Ausnamen sinn Iso , Sap , an Netbeui , fir déi se fir e Frame 802.3 kontrolléiert an iwwerpréift dann den Header vun der LLC, wéi et fir FDDI an Token Ring, atalk , wou et de Préfix vun der Appletalk-Etip an engem Ethernet-Frame an engem SNAP-Format Paket wéi et fir FDDI an Token Ring, aarp gëtt , wou et fir den Appletalk ARP-Typ an engem Ethernet-Frame oder e 802.2 SNAP-Frame mat engem OUI vun 0x000000 an IPx kënnt , wou et fir de IPX-Typ an Ethernet Frame, IPX DSAP an de Header vun der Entreprise, den 802.3 ouni Kee-Header Kapasuléierung vun IPX, an der IPX-Typ an engem SNAP-Frame.]

decnet src host

Wichteg ass wann d'DECNET-Quelladress geschéckt ass, wat eng Adress vun der Form `` 10.123 '' ass oder en DECNET-HostName. [Ënnerdeelung vun der Host-Ënnerstëtzung vun DECNET ass nëmmen op Ultrix Systemen déi konfiguréiert sinn fir DECNET ze lafen.]

decnet dst Hueschteren

Wärts wann d'DECNET Ziel Adress ass Host ass .

Decnet Gastgeber

Wärts wann d'DECNET-Quell oder Destinatioun Adress ass.

IP , ip6 , arp , rarp , atalk , aarp , decnet , iso , stp , ipx , netbeui

Ofkierzungen fir:

eter proto p

wou p ass ee vun de genannten Protokollen.

lat , moprc , mopdl

Ofkierzungen fir:

eter proto p

wou p ass ee vun de genannten Protokollen. Denkt drun dass tcpdump net momentan wësst, wéi se dës Protokollen analyséieren.

vlan [vlan_id]

True ass dëst Paket e IEEE 802.1Q VLAN-Paket. Wann [vlan_id] spezifizéiert ass, ass nëmmen richteg datt de Paket de spezifizéierte Vlan_id . Denkt drun datt den éischten vlan Keyword mam Äusbroch äntwert d'Decodierung Offsets fir den Rescht vum Ausdrock op der Hoffnung datt de Paket e VLAN-Paket ass.

tcp , udp , icmp

Ofkierzungen fir:

IP-Proto p oder IP6 Proto p

wou p ass ee vun de genannten Protokollen.

iso Protokoll

True ass dëst Paket e OSI-Paket vum Protokolltypprotokoll . Protokoll kann eng Zuel oder eng vun den Nummen clnp , esis oder isis .

clnp , esis , isis

Ofkierzungen fir:

iso proto p

wou p ass ee vun de genannten Protokollen. Opgepasst datt tcpdump eng onvollstänneg Aarbecht ass fir dës Protokollen ze analyséieren.

expr exop expr

Wann d'Relatioun festhält , woubäi Relop ee vun>, <,> =, <=, = ,! = Ass a expr ass eng arithmetesch Ausdréck aus ganzer Konstanten (ausgedréckt am Standard C Syntax), déi normal Bänkoperateuren [ , -, *, /, &, |], e Längtoperateur, a spezielle Paket-Datenzuguger. Fir Zougang zu den Donnéeën am Paket ze benotzen, benotzt dës Syntax:

Proto [ expr : Gréisst ]

Proto ass ee vun ether, fddi, tr, ppp, rutsch, link, ip, arp, rarp, tcp, udp, icmp oder ip6 , a weist op d'Protokollschicht fir den Index. ( ether, fddi, tr, ppp, rutsch an link verbidden all op d'Linkschicht.) Notéiert datt tcp, udp an aner oberen Layerprotokolltypen nëmme fir IPv4 applizéiert, net IPv6 (dat ass an der Zukunft fixéiert). De Byte versetzt, relativ zur protokolléiert Schicht, gëtt vum expr . Gréisst ass fakultativ an weist op d'Zuel vun Bytes am Interessefeld; Et kann een entweder zwee, zwee oder véier sinn, an d'Standardstänn op ee. Den Lénkoperateur, uginn vum Schlësselwuert len , verleet d'Längt vum Paket.

Zum Beispill, ' ether [0] & 1! = 0 ' fënnt all de Multicast-Traffic. Den Ausdrock ` IP [0] & 0xf! = 5 'fënnt all IP-Päckchen mat Optiounen. De Ausdehnung ` ip [6: 2] & 0x1fff = 0 'fängt nëmmen onreegelméissend Datesagramme an de Brëll Null vun fragmentéierten Datagramen. Dëse Check gëtt implizit fir de TCP an UDP Index Operatiounen applizéiert. Zum Beispill, tcp [0] heescht ëmmer den éischte Byte vum TCP- Header , an heescht ni dat éischt Byte vun engem intervening Fragment.

E puer Offsets- a Feldwäerter kënnen als Numm bezeechent ginn an net als numeresch Wäerter ausgedréckt ginn. Déi folgend Protokollkopf Feldverschëlden sinn verfügbar: icmptype (ICMP- Typfeld ), icmpcode (ICMP Code Feld) an tcpflags (TCP- Flagderfeld ).

Déi folgend ICMP -Typfeldewäerter sinn verfügbar: icmp-echorech , icmp-unreach , icmp-sourcequench , icmp-redirect , icmp-echo , icmp-routeradvert , icmp-routersolicit , icmp-timxceed , icmp-paramprob , icmp-tstamp , icmp -tstampreply , icmp-ireq , icmp-ireqreply , icmp-maskreq , icmp-maskreply .

Déi folgend TCP-Fënstere Felder sinn verfügbar: tcp-fin , tcp-syn , tcp-rst , tcp-push , tcp-push , tcp-ack , tcp-drécken .

Primitiven kënne kombinéiert ginn mat:

Eng Klouschtergrupp vun Primitiv an Operatoren (Klammeren sinn speziell fir d'Shell a mussen entlooss ginn).

Negatioun (` ! 'Oder` net ').

Concatenatioun (` && 'oder` an ').

Alternatioun (` || 'oder` oder ').

Negatioun huet héchster Viraussetzung. Alternatioun a Verkafsetzung hunn equilibréiert Prioritéit an Associatioun lénks nach riets. Bemierkung datt explizit a Toten, net opgeléist sinn, elo fir eng Verpakung néideg.

Wann e Bezeechnung ouni Schlëssel gezeechent gëtt, gëtt de rezentste Schlësselwuert ungeholl. Zum Beispill,

keen Host vs ace

ass kuerz fir

net Host vs Vernetzung

wat net sollt mat der verwiesselt ginn

net (Host vs Stack)

Expression Argumenten ginn iwwer tcpdump als entweder e puer Argumenter oder als multiple Argumenter iwwerdroen, wat ëmmer méi praktesch ass. Am Allgemengen, wann den Ausdrock Shell metacharacters enthält, ass et méi einfach, et als eenzeg, zitéiert Argument ze passen. Verschidden Argumente ginn mat Raumfaart verkettelt, ier se analyséiert ginn.

Beispiller

Fir all Paketen auszedrécken, déi mam Sonndeg komm sinn oder ausgehale ginn:

tcpdump Sonnesystem

Fir de Traffic tëschent Helios an entweder waarm oder azekucken :

tcpdump Huet Helios a / (Hot oder Ass \)

Fir all IP-Paketen tëschent dem Ace an all Wirt ausdrécken ausser Helios :

tcpdump IP-Host agitt an net helios

Fir all Traffic tëscht lokalen Hosten an Hären bei Berkeley ze drucken:

tcpdump net ucb-ether

Fir all FTP-Traffic duerch Internet gateway snup auszedrécken : (Notiz datt de Ausdrock zitéiert ass fir d'Shell vu (falsche-) Dolmeteren ze halen):

tcpdump 'gateway snup a (port ftp oder ftp-data)'

Fir de Verkéier ze benotzen net wuertwiertlech net ausgeliwwert fir de lokale Gastgeber (wann Dir un engem anere Nettwee ass, däerft et net et op Är lokal Netz setzen).

tcpdump ip an net net localnet

Fir d'Start- a Endpaketen (déi SYN- a FIN-Pakete) vun all TCP-Konversatioun ausdrécken, déi e net lokalen Host ass.

tcpdump "tcp [tcpflags] & (tcp-syn | tcp-fin)! = 0 an net src an dst net localnet '

Fir IP-Päck ze léinen wéi 576 Bytes, déi duerch gateway snup verschéckt ginn :

tcpdump 'gateway snup a IP [2: 2]> 576'

Fir IP IP- oder Multicast-Pakete auszedrécken, déi net iwwer Ethernet-Broadcast oder Multicast geschéckt ginn hunn:

tcpdump '-ether [0] & 1 = 0 an IP [16]> = 224'

Fir all ICMP-Paketen ze drécken déi net Echo-Ufroen / Äntwerten (dh net Ping-Pakete) hunn:

tcpdump 'icmp [icmptype]! = icmp-echo an icmp [icmptype]! = icmp-echoreply'

AUSSERUTREICH

D'Ausgab vum tcpdump ass Protokoll ofhängeg. Déi folgend gëtt eng kuerz Beschreiwung an Beispiller vu meescht vun de Formater.

Link Level Header

Wann d'Optioun '-e' geheft gëtt, gëtt de Linkelénger Header ausgedréckt. Op ethernets, sinn d'Quell an d'Zieladressen, Protokoll a Paketlängt opgedréckt.

Op FDDI Netzwerken verursaacht d''-e' Optioun tcpdump fir de Feld "Frame-Controls", d'Quell an d'Zieladressen an d'Paketlängt auszeginn. (D'Feld "Frame contrôle" regelt d'Interpretatioun vum Rescht vum Paket. Normale Pakete (wéi déi mat IP-Datagramm) sinn `async 'Päckchen, mat engem Prioritéitswert tëschent 0 an 7, zum Beispill' async4 '. D'Pakete ginn ugeholl, datt e Paket 802.2 Logical Link Control (LLC) enthält; de Header LLC gedréckt gëtt, wann et net e ISO-Datagram oder e sougenannte SNAP-Paket ass.

Bei Token Ring Netzwerken veruerteelt de '-e' Optioun tcpdump déi Felder an "Zougangskontroll" a "Rahmekontroll", d'Quell an d'Zieladressen an d'Paketlängt auszeginn. Wéi op FDDI Netzwierker, ginn Pakete ugebuede fir e LLC-Paket ze bidden. Egal ob d''-e' Optioun ugewise gëtt oder net, gëtt d'Informatiounsquellroutinformatioun fir Quellcode gespäichert Pakete gedréckt.

(NB: Déi folgend Beschreiwung ass vertraut mat dem SLIP-Kompressionsalgorithmus, deen am RFC-1144 beschriwwe gëtt.)

Op SLIP Linken, e Richtungsindikator (`` ', "fir", "O" fir erauskënnt), Pakettyp a Kompressiounsinformation ausgedréckt. De Pakettyp ass éischt gedréckt. Déi dräi Typen sinn IP , UCP , a ctcp . Kee weidere Linkinformatioun ass fir IP- Pakete gedréckt. Fir TCP-Pakete gëtt de Verbindungsidentificateur no der Art ausgedréckt. Wann de Paket kompriméiert ass, gëtt säi codéiert Header ausgedréckt. Déi Spezialfäegkeeten ginn ausgedréckt wéi * S + n an * SA + n , wou n de Betrag ass, duerch deen d'Sequenznummer (oder d'Sequenznummer a vum Ack) geännert huet. Wann et net e spezielle Fall ass, gëtt Null oder méi Ännerungen gedréckt. Eng Ännerung gëtt duerch U (dréngende Pointer), W (fenster), A (ack), S (Sequenz Nummer) an ech (Paketkennung), gefollegt vun engem Delta (+ n oder -n) oder en neie Wäert (= n). Endlech sinn d'Betrag vun Daten am Paket a kompriméierte Header Längt gedréckt.

Zum Beispill weist d'folgend Linn eng ausgehändegtes kompriméiert TCP-Paket, mat enger implizitconnecting Identifizéierung; D'Ack huet ëm 6 geännert, d'Sequenz Nummer um 49, an d'Packet-ID vu 6; Et sinn 3 Bytes of Daten a 6 Bytes vum kompriméierte Header:

O ctcp * A + 6 S + 49 I + 6 3 (6)

ARP / RARP Pack'en

Arp / Rarp-Ausgab weist d'Ufro vun Ufro a seng Argumenter. De Format ass fir Iech selwer erkläert. Hei ass e klenge Prouwe vum Start vun engem 'rlogin' aus dem Wirt rtsg fir de Host csam :

D'Arp, déi - csam erzielt rtsg arp Antwort csam ass - bei CSAM

Déi éischt Zeil gesäit datt rtsg en Arp Paket froen fir d'Ethernet-Adress vum Internet Host csam. Csam beäntwert sech mat sengem Ethernet-Adress (an dësem Beispill Äert Adresswahlen sinn an Kappen an Internet Adressen am ënneschte Fall).

Dëst géif manner manner iwwerflësseg sinn, wann mir tcpdump -n gemaach hunn :

D'Arp déi 128.3.254.6 huet 128.3.254.68 Arp antworten 128.3.254.6 ass-um 02: 07: 01: 00: 01: c4

Wa mir de tcpdump -e gemaach hunn , de Fakt datt de éischten Paket gëtt ausgestrahlt an d'zweet Punkto Point ass ze gesinn:

RTSG Broadcast 0806 64: arp who-csam erzielt rtsg CSAM RTSG 0806 64: Arp Antwort csam is-at CSAM

Fir den éischte Paket dat seet d'Äthernet Quelladresse ass RTSG, ass de Bestietnes d'Ethernet-Rundfunkadress, de Typ Feld Hex 0806 (Typ ETHER_ARP) an d'Gesamtlängt vu 64 Bytes.

TCP - Paketen

(NB: De folgende Beschreiwung vertraut mat dem TCP-Protokoll, deen am RFC-793 beschriwwe gëtt. Wann Dir net mat dem Protokoll vertraut bass, weder dës Beschreiwung nor tcpdump ass vill vun iech.)

Allgemeng Format vun engem TCP Protokoll Zeil ass:

src> dst: Markéierter Daten-seqno ack Fënster drénken

Src an dst sinn d'Source an d'Ziel IP Adressen an d'Ports. Flags sinn eng Kombinatioun vu S (SYN), F (FIN), P (PUSH) oder R (RST) oder e puer "." (keng Flahner). Data-seqno beschreift den Deel vum Sequenzplang deen iwwer d'Daten an dësem Paket bedeckt ass (kuckt d'Beispanne ënnendrënner). Ack ass d'Sequenznummer vun den nächste Donnéeën déi aner Richtung op dëser Verbindung erwuewen. Fënsteren ass d'Zuel vun Bytes vun de Pufferkäschten déi aner Richtung op dëser Verbindung ze kréien. Urg weist datt "dringend" Daten am Paket sinn. Optiounen sinn Tcp-Optiounen, déi an Ëffnungslackë (z. B. ) beherrschen.

Src, dst a Fändelen sinn ëmmer präsent. Déi aner Felder hänken vun der Inhalter vum tcp-Protokollkopf vun der Paket ab an ginn nëmme wa se geégent ginn.

Hei ass den Ëffnungsprozess vun engem Rlogin vum Host RTT zu Host csam .

Et ass net zevill, datt et net esou einfach ass, wéi et ass. Login:. Ack 1 gewënnt 4096 rtsg.1023> csam.login: P 1: 2 (1) ack 1 win 4096 csam.login> rtsg.1023:. (1) ack 21 gewënnt 4077 csam.login> rtsg.1023: P 1: 2 (1) ack 21 gewënnt 4077 csam.login> rtsg.1023: P 2: 3 (1) ack 21 win 4077 drénken 1 csam.login> rtsg.1023: P 3: 4 (1) ack 21 win 4077 drénken 1

Déi éischt Zeil gesäit datt TCP Hafen 1023 op rtsg e Paket zum port login op csam geschéckt huet. De S weist datt de SYN- Fändel agefouert gouf. D'Paketsequenz Nummer war 768512 an et huet keng Daten. (D'Notioun ass `éischt: lescht (nbytes) 'dat heescht` Sequenznummeren éischter fir awer net déi lescht Wierder déi nbytes Bytes aus User-Daten' ass.) Et gouf keng piggy-backed ack, déi verfügbare Receive window war 4096 Bytes Et war eng Max-Segment-Gréisst Option, déi e mss vun 1024 Bytes beweegt.

Csam beäntwert mat engem ähnlechen Paket, ausser datt et e Piggy-Backed ack fir rtsg's SYN beinhalt. RTL gitt dann den csam's SYN. D'``. bedeit keng Fäegkeeten. De Paket enthale keng Daten, also gëtt et keng Datersequenz Nummer. Bedenkt datt d'Acksequenz Nummer eng kleng Ganzt (1) ass. Déi éischt Kéier tcpdump kuckt e tcp `-Versatz ', driwwer de Sequenznummer vum Paket. Op spéidende Paketen vun der Konversatioun ass de Differenz tëscht der Sequenznummer vun der aktueller Packet an dëser initialer Sequenz Nummer gedréckt. Dat heescht, datt d'Sequenznummeren no der éischter Säit als relative Byteplazen am Datenfluss vun der Konversatioun interpretéiert ginn (mat dem éischten Datenbyte chak Richtung "1"). D'`-S 'ignoréiert dës Fonktioun, fir datt déi ursprénglech Sequenz nom Ausgang gëtt.

Op der 6. Linn réckelt rsg csam 19 Bytes vun Daten (Bytes 2 bis 20 an der rtsg -> csam Säit vum Gespréich). De PUSH-Fändel ass am Paket gespaart. An der 7. Linn dréit d'csam dat Daten déi vu rtsg geschéckt ginn, awer net mat Byte 21. Déi meescht vun dësen Daten sinn scheinbar an de Socket-Puffer gespaart, well csam's Receive-Fënster méi kleng ass wéi 19 Bytes. Csam schéckt och een Byte vu Daten op rtsg an dësem Paket. Op den 8. an 9. Linnen sëtzt csam zwou Bytes dringend, gedréckt Daten op rtsg.

Wann de Snapshot net genuch genuch ass, datt tcpdump den kompletten TCP-Header net erfonnt huet, interpretéiert se esou vill vum Kappzeier, wéi et kann a bericht dann `` [| tcp ] '' fir ze weisen datt de Rescht net interpretéiert ginn. Wann de Kappzeier eng Faarfoptioun enthält (eng mat enger Längt, déi entweder ze kleng oder iwwer de Kapp vum Enn ass), tcpdump mellt et als "[ schlecht opt ]" an huet keng aner Méiglechkeeten entleedegt (well et onméiglech fir ze soen wou se ufänken). Wann d'Header d'Längt uginn hutt d'Optioune sinn elo awer d'IP-Datagram Längt ass net laang genuch fir d'Optiounen ze tatsächlech ze dinn , tcpdump mellt dat als '' [ schlecht hdr Länge ] ''.

TCP-Pakete fanne mat spezifesche Markéierkombinatiounen (SYN-ACK, URG-ACK, etc.)

Et sinn 8 Bits an der Kontrollsteck Section vum TCP Header:

CWR | ECE | URG | ACK | PSH | RST | SYN | FIN

Loosst eis ugeholl datt mir Pakete wëlle bei der Konfiguratioun vun enger TCP-Verbindung kucken. Erënnerrt datt TCP e 3-Wegehandshake-Protokoll benotzt, wann et eng nei Verbindung initialiséiere kann; D'Connexiounssequence an den TCP Kontroll Bits ass

1) Félicitatioun sendt SYN

2) Den Empfänger antwortet mam SYN, ACK

3) Appel schéckt ACK

Elo interesséiere mir e Paket ze kréien, déi nëmmen de SYN-Bitsatz (Schrëtt 1) ​​hunn. Bedenkt datt mer net Pakete vum Schrëtt 2 (SYN-ACK), nëmmen e klengen initialen SYN. Wat mir brauchen ass e korrekt Filterausdréck fir tcpdump .

Réckruff der Struktur vun engem TCP-Header ouni Optiounen:

0 15 31 ----------------------------------------------- ------------------ | Source Port | Ziel Port | -------------------------------------------------- --------------- | Sequenz Nummer | -------------------------------------------------- --------------- | Unerkennungszuel | -------------------------------------------------- --------------- | HL | rsvd | C | E | U | A | P | R | S | F | window size | -------------------------------------------------- --------------- | TCP - Checksum | dringende Pointer | -------------------------------------------------- ---------------

E TCP-Header hält normalerweis 20 Oktett of Daten, ausser wann Optiounen dobäi sinn. Déi éischt Zeil vum Graaff enthält Oktetts 0 - 3, déi zweet Linn weist d'Oktetts 4 - 7.

Vun unzefänken 0 mat den zousätzlech TCP-Kontrollbits sinn am Oktett 13 enthale sinn:

0 7 | 15 | 23 | 31 ---------------- | --------------- | --------------- | ---------------- | HL | rsvd | C | E | U | A | P | R | S | F | window size | ---------------- | --------------- | --------------- | - --------------- | | 13. Oktober octet | |

Loosst e méi no Octett kucken. 13:

| | | --------------- | | C | E | U | A | P | R | S | F | | --------------- | | 7 5 3 0 |

Dëst sinn d'TCP Kontrollbicher déi mer interesséieren. Mir hunn d'Bits op dësem Oktett vun 0 bis 7 nummeréiert, bis op déi lénks Säit, sou datt de PSH Bit Bit Nummern 3 ass, während d'URG Bit Nummer 5 ass.

Mir erënneren datt mir Pakete mat nëmmen SYN-Set futti maachen. Komme mer wat geschitt mat Octet 13, wann en TCP-Datagram mat dem SYN-Bit kënnt an de Kappball:

| C | E | U | A | P | R | S | F | | --------------- | | 0 0 0 0 0 0 1 0 | | --------------- | | 7 6 5 4 3 2 1 0 |

Dir kuckt de Kontroll Bits Section, déi mer gesinn, datt nëmmen Bit Nummer 1 (SYN) gesat gëtt.

Assuming datt Oktett Nummer 13 eng 8-Bit Unëlefter Integer an der Netzwierk-Byte-Bestellung ass, ass de binäre Wäert vun dësem Oktett

00000010

an hir deziméiert Representatioun ass

7 6 5 4 3 2 1 0 0 * 2 + 0 * 2 + 0 * 2 + 0 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 = 2

Mir sinn bal fäerdeg, well mer wëssen datt wann nëmmen SYN festgeluecht gëtt, muss de Wäert vum 13. Oktett am TCP-Header, wann et als 8-Bit Unbesetzte Integer an der Netzwierk-Byte bestellt gëtt, muss genee 2 sinn.

Dës Bezéiung kann ausgedréckt ginn

tcp [13] == 2

Mir kënnen dës Ausdréck als Filter fir tcpdump benotzen fir Päckchen ze bestemmen, déi nëmmen SYN festgeluegt hunn:

tcpdump -i xl0 tcp [13] == 2

De Ausdrock "seet den 13. Oktett vun engem TCP-Datagram hunn d'Dezimalwert 2", wat genee ass wat mir wëllen.

Loosst eis ugeholl datt mir SYN-Pakete erfëllt, awer mir egal, ob d'ACK oder all aner TCP-Kontrollbit an der selwechter Zäit gesat ginn. Komme mer wat geschitt mat Octet 13, wann en TCP-Datagram mam SYN-ACK set ass:

| C | E | U | A | P | R | S | F | | --------------- | | 0 0 0 1 0 0 1 0 | | --------------- | | 7 6 5 4 3 2 1 0 |

Bits 1 an 4 sinn am 13. Oktett gesat. De binäre Wäert vun Octet 13


00010010

wat iwwersetzt fir Dezimalzuel

7 6 5 4 3 2 1 0 0 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 = 18

Elo ka mer net nëmmen "tcp [13] == 18 'an der tcpdump Filter Auszeechnung benotzen, well dat wären nëmmen déi Pakete déi SYN-ACK set hunn, awer net déi mat nëmmen SYN set. Denkt drun datt mir egal sinn ob ACK oder aner Kontrollbauaarbecht esou laang wéi SYN gesat gëtt.

Fir eis Zil ze erreechen brauche mir logesch an den Binärwert vun Octet 13 mat engem anere Wäert, fir de SYN-Bit ze konservéieren. Mir wëssen, datt mir SYN op jidde Fall setzen, also wäerte mir logesch an den Wäert am 13. Oktett mat dem Binärwert vun engem SYN:

00010010 SYN-ACK 00000010 SYN AND 00000010 (wëlle SYN) AND 00000010 (mir wëlle SYN) -------- -------- = 00000010 = 00000010

Mir gesinn dat dës Operatioun déi selwecht Resultat léisst, egal ob ACK oder engem aneren TCP-Kontrollbit ass gesat ginn. D'Dezimal Representatioun vum AND-Wäert an och d'Resultat vun dëser Operatioun ass 2 (binär 00000010), also wësse mer datt de Paketen mat SYN déi folgend Relatioun gesëchert musse maachen:

((Wäert u Octet 13) AND (2)) == (2)

Dëst weist eis un der tcpdump Filter Ausdrock

tcpdump -i xl0 'tcp [13] & 2 == 2'

Bedenkt datt Dir eenzel Zitaten oder e Backslash am Ausbroch benotzen, fir den AND ('&') spezielle Charakter aus der Shell ze verstoppen.

UDP - Paketen

UDP-Format ass illustréiert vun dësem Pak Pak:

Actinid.who> broadcast.who: udp 84

Dëst seet den Hafen deen op Host Aktinid schéckt en UDP-Datagram fir Hafen deen op Host Broadcast , d'Internet Broadcast Adress. De Paket enthale 84 Bytes aus User-Donnéeën.

Verschidde UDP-Servicer ginn erkannt (vun der Quell oder der Zielportnummer) an de méi héije Protokollinformatiounsdateuren ausgedréckt. Besonnesch d'Domain Name Servicer Ufroen (RFC-1034/1035) an d'Sonn RPC ruffen (RFC-1050) op NFS.

UDP Server Server Requests

(NB: De folgende Beschreiwung vertraut mat dem Domain Service Protokoll, deen am RFC-1035 beschriwwe gëtt. Wann Dir net mat dem Protokoll bekannt ass, gëtt d'folgend Erklärung schreiwen a griechesch geschriwwe ginn.)

Name Server-Ufroen ginn formattéiert

src> dst: id op? Flags qtype qclass Numm (len) h2opolo.1538> helios.domain: 3+ A? ucbvax.berkeley.edu. (37)

Huet h2opolo de Domän Server op Helios fir eng Adress Rekord (qtype = A) gefrot mam Numm ucbvax.berkeley.edu. D'Abfrage ID war "3". D'`+ 'beweist d' Rekursiounsgewënschtes gewënscht . D'Uféierungslängt war 37 Bytes, net nëmme UDP an IP Protokollkopder. De Query Operatioun war den normalen, Query , also gouf de Feld opgelenkt. Wann d'Op alles anescht war, wär et gedréckt ginn tëschent dem "3" an dem '+'. Ähnlech war d'qclass den normalen, C_IN , a weggeluecht. All aner Klangheet hätt direkt un der `A 'gedréckt.

E puer Anomalien ginn gepréift a kënnen zu extrae Felder déi an eckesche Klammern geschwat ginn: Wann eng Abfrage eng Äntwert enthält, d'Autorisatiounen oder d'Additional records, d' Ancount , the screenshot oder den Account ginn als '[ n a]' gedréckt, ] 'oder `[ n au]' wou n d'Zuel ass. Wann iergendeen vun den Äntwert Bits opgesat ginn (AA, RA oder Rcode) oder engem vun der `Null 'Bits sinn 2 an 3 bestëmmt ginn, gëtt [b2 & 3 = x ] gedréckt, wou x den Hexwert vun Header Bytes Zwee an dräi.

UDP Server Server Responses

Nummerexpertéierter Nummere ginn formattéiert

Drock: id op rcode markéiert a / n / au Typ Class Dates (len) helios.domain> h2opolo.1538: 3 3/3/7 A 128.32.137.3 (273) helios.domain> h2opolo.1537: 2 NXDomain * 0/1/0 (97)

Am éischten Beispill reagéiert d' Helios op d'Abfrage Id 3 vun h2opolo mat 3 Äntwert Reklammen, 3 Names Server records an 7 Zuschauer. Den éischten Äntwert Rekord ass Typ A (Adress) an seng Donnéeën ass Internetsadress 128.32.137.3. D'Gesamtgréisst vun der Reaktioun war 273 Bytes, ausgeschloss UDP an IP Header. D'Op (Query) an den Äntwertcode (NoError) goufen ausgeluecht, sou wéi d'Klass (C_IN) vum A Rekord.

Am zweeten Beispill reagéiert d' Helios op Ufro 2 mat engem Äntwertcode vun net existente Domain (NXDomain) ouni Äntwerten, een nom Server a keng Autoritéit records. D'`* 'beweist datt den autoritäre Äntwert Bit gemaach gouf. Well et keng Äntwert gouf, gëtt keen Typ, Klasse oder Daten gedréckt.

Aner Fehlzeechen déi ugewisen sinn `` '(Recursioun verfügbar, RA, net setze) an `|' (Truncated Message, TC, set). Wann d'Rubrik "Froen" keen exakt Entree enthält, da gëtt [[q q] gedréckt.

Bedenkt datt den Nummerserplangt Äntwerte an Äntwerte niddereg sinn a grouss sinn an d'Standard- Snaplen vu 68 Byte kënnen net genuch aus dem Paket fir ze décken. Benotzt de -s- Fändel fir d'Snaplän ze vergréisseren, wann Dir de Serververkéier schwéier aschreift. ` -s 128 'ass gutt fir mech geschafft.

SMB / CIFS-Decodéierung

tcpdump huet elo ewell umfassend SMB / CIFS / NBT-Decodéierung fir Daten iwwer UDP / 137, UDP / 138 an TCP / 139. E puer primitive Decodéiere vun IPX an NetBEUI SMB-Donnéeën ass och gemaach.

Par default eng relativ minimal Decodéierung duerchgefouert gëtt, mat enger méi detailléierter Decodéierung maachen wann -v benotzt gëtt. Gitt gewarnt datt mat -wa e puer SMB-Paket eng Säit oder méi huelen kënnen, also just benotzen -v, wann Dir wierklech all déi Gore Detailer wëllt.

Wann Dir decodéiert SMB-Sessiounen mat Unicode-Zeechen, da wielt Dir d'Ëmstellung Variable USE_UNICODE op 1. Et gëtt e Patch fir automatesch Erkennung vun Unicode SRINGS ze begréissen.

Fir Informatiounen iwwert SMB-Paketformaten an wat fir all Felder bedeit, fannt Dir op www.cifs.org oder am Pub / Samba / Spezifizéierer / Verzeichnis op Ärem léiwen Samba.org Mirror Site. D'SMB Patcher gouf vum Andrew Tridgell (tridge@samba.org) geschriwwen.

NFS Gesellschaften an Äntwert

Sun NFS (Network File System) Ufro an Äntwert ginn ugefouert wéi:

Dir kënnt et net maachen, wann Dir Iech e bësse méi iwwerrannt hutt. 40 Lieslink "../var" sushi.201b> wrl.nfs: 144 Lookup fh 9,74 / 4096,6878 "xcolors" wrl.nfs> sushi.201b: antworten ok 128 lookup fh 9,74 / 4134.3150

An der éischter Linn gëtt de Sushie- Host eng Transaktioun mat der Id 6709 op wrl (schreift weg datt d'Nummer nom Spuerhitzer invitéiert ass, net de Source Port). D'Demande war 112 Bytes, ausgeschloss d'UDP an d'IP-Headeren. D'Operatioun war e Lieslink (liest Symbolbolinger ) am Datei Gréisst ( fh ) 21,24 / 10,731657119. (Wann een et glécklech ass, wéi an dësem Fall, kann de Fichiergrupp als e groussen a klengt Geräter Nummer Paar interpretéiert ginn, gefollegt vun der Inode Nummer an der Generatiounzuel.) Wrl beäntwert `ok 'mat den Inhalter vum Link.

An der drëtter Linn probéiert d' Sushien d' Wuert " xcolors " an der Verzeichnisdatei 9,74 / 4096,6878. Bedenkt datt d'gedréckte Donnie hänkt vun der Operatiounsart ab. De Format ass als Selbsterkennung geplangt, wann et a Verbindung mat enger NFS-Protokollsproblem liest.

Wann d'-v (verbose) Fahne gegeben gëtt, ginn zousätzlech Informatioune gedréckt. Zum Beispill:

sushi.1372a> wrl.nfs: 148 liesen fh 21,11 / 12.195 8192 bytes @ 24576 wrl.nfs> sushi.1372a: antworten ok 1472 liesen REG 100664 ids 417/0 sz 29388

(-v deelt d'IP Header TTL, ID, Längt an Fragmentatiounfelder aus, déi aus dësem Beispill weggelauschtert waren .) An der éischter Zeil probéiert d' Sushi wrl fir 8192 Bytes aus der Datei 21.11 / 12.195, am Byte versetzt 24576. Wrl beäntwert `ok '; De Paket, deen op der zweeter Linn gezeechent ass, ass dat éischt Fragment vun der Äntwert, an dofir sinn nëmme 1472 Bytes laang (déi aner Bytes ginn an de spéider Fragmenter verfollegt, awer dës Fragmenter hunn net NFS oder souguer UDP-Header, well se net gedréckt ginn, ofhängeg vun der benotzt Filterfilter). Well de -v-Flag gëtt gegeben, sinn e puer vun den Attributen (déi nom Zousazdatei ginn) zeréckgi ginn. De Dateityp (`` REG '), fir regelméisseg Dateiformat), den Dateemodus (am Oktal) uid a gid, an der Dateigréisst.

Wann de -v-Fändel méi wéi eemol gëtt ginn, ginn och méi Detailer gedréckt.

Bemierkung datt d'NFS-Ufroen ganz grouss sinn an vill vun de Detailer net gedréckt sinn, ausser wann d' Schnapelen ofhëlt . Versicht d'`` -s 192 'ze benotze fir de NFS-Traffic ze kucken.

NFS-Äntwerten-Pakete explizit net explizit d'RPC-Operatioun z'identifizéieren. Anstatt datt tcpdump "` nee "Ufroen verlaangt, a se mat den Transaktiouns ID mat den Transaktiounsidentifikatioun ze kontrouléiren. Wann eng Äntwert net déi entspriechend Ufro ze suivéiere kënnt, da kéint et net parasibel sinn.

AFS Demande an Äer Replies

Transarc AFS (Andrew File System) freet an entsprécht sinn:

Dat ass awer net esou einfach, wéi et an der Rei ass . 7001> pike.afsfs: rx data fs ruffen ëmbenennen alen fid 536876964/1/1 ".newsrc.new" new fid 536876964/1/1 ".newsrc" pike.afsfs> elvis.7001: rx data fs anentwécklung renn

An der éischter Zeil schéckt Elvis en RX-Paket fir den Hiecht. Dëst war e RX-Datenpaket an de fs (fileserver) Service, an ass den Ufank vun engem RPC-Call. Den RPC-Ruf war eng ëmbenannt, mat der aler Verzeichnis Datei ID vun 536876964/1/1 an engem alen Dateinumm vun `.newsrc.new ', an eng nei Verzeichnis Datei ID vun 536876964/1/1 an en neit Dateinumm vun`. newsrc. Den Hechtpik setzt op eng RPC-Äntwert op den Numm ëmbenennen (wat war erfollegräich, well et e Paket an e Paket net ofgeschalt war).

All AFS RPCs sinn am Prinzip zumindest duerch RPC genannt Numm decodéiert. Déi meescht AFP RPCs hunn op d'mannst e puer Argumenter decodéiert (allgemeng nëmmen déi "interessant" Argumenter, fir eng Definitioun vu interessant).

De Format ass fir selwer ze beschreiwen, mä et ass wahrscheinlech net nëtzlech fir Leit, déi net mat den Aarbechten vun AFS a RX vertraut sinn.

Wann de -v (verbose) -Flag zweemol gëtt, gëtt Bestätigungspakete a méi Header Info gedréckt wéi d'RX-Rufnummer, d'Rufnummer, d'Sequenznummer, d'Seriennummer an d'RX-Paket Markéierter.

Wann de -v-Fändel dobausse gegeben ass, ginn zousätzlech Informatioune gedréckt, wéi d'RX-Rufnummer, d'Seriennummer, an d'RX-Paket Markéierter. D'MTU Verhandlungssäit gëtt och aus RX Ack-Paketen gedréckt.

Wann de -v-Fändel drun ass, ginn de Sécherheetsindustrie an d'Service Id gedréckt.

Gidd Codes ginn ausgedréckt fir d'Abortpakete mat Ausnahm vun Ubik Beacon-Paketen (well d'Ofbriechen Pakete ginn fir e Jo Stëmm fir de Ubik Protokoll ze bedeuten).

Bemierkung datt AFS Wënsch ganz grouss sinn an datt vill Argumenter net ausgedréckt sinn, ausser wann d' Schnapelen ofhëlt . Probéiert d'`` -s 256 'ze benotze fir AFS Verkéier ze kucken.

AFS-Response-Pakete explizit net explizit de RPC-Operatioun z'identifizéieren. Stëllt hält tcpdump "` nee "Ufroen un, an entsprécht mat den Rufnummeren a Service ID. Wann eng Äntwert net déi entspriechend Ufro ze suivéiere kënnt, da kéint et net parasibel sinn.

KIP Appletalk (DDP an UDP)

Appletalk DDP-Pakete, déi an UDP-Datagrams agepäppelt goufen agefouert an als DDP-Pakete gedréckt (dh all d'UDP-Header-Informatioun ass verworf). De Fichier /etc/atalk.names gëtt benotzt fir Äppel-Netz an Nodeenzuelen fir Namen ze iwwersetzen. Lines an dësem Fichier hunn d'Form

D'Nummer 1,254 eter 16.1 icsd-net 1.254.110 ace

Déi éischt zwou Linnen ginn d'Nimm vun Äppel-Netzwierker. Déi drëtt Linn léisst den Numm vun engem besichtegen Host (e Provider ënnerscheet vun engem Nett vum 3. Oktett an der Zuel - eng Netzuel muss ongeféier zwee Oktett hunn an eng Host Nummer muss dräi Uerden hunn.) D'Zuel an den Numm sollen separéiert sinn duerch Whitespace (Rigel oder Tabs). D'Datei /etc/atalk.names ka leeg Linnen oder Kommentarlinn enthalen (Zeilen mat engem `# ').

Appletalk Adressen ginn aus dem Formulaire gedréckt:

net.host.port 144.1.209.2> icsd-net.112.220 office.2> icsd-net.112.220 jssmag.149.235> icsd-net.2

(Wann den /etc/atalk.names net existéiert oder net e Passwuert fir e puer Appletalk Host / Netznummer enthält, sinn Adressen numeresch ausgedréckt.) Am éischten Beispill ass den NBP (DDP Port 2) op net 144.1 De Knuet 209 schéckt an wat wat an den Hafen 220 vun net icsd node 112 ass. Déi zweet Zeil ass déi selwecht, ausser déi voller Nennung vum Quellennumm ass bekannt (`Office '). Déi drëtt Linn ass e Sende vu Port 235 am Net jssmag Knot 149 fir op den IKED-net NBP-Pensioun ze verëffentlechen (Notéiert datt d'Sendung Adress (255) mat engem Nettomarkt mat enger Host Nummer bezeechent gëtt - dofir ass et eng gutt Iddi fir Node-Nimm an Nettennamen ënnerhalen an /etc/atalk.names).

NBP (Nummbindungsprotokoll) an ATP (Appletalk Transaktiounsprotokoll) hunn hir Inhalter interpretéiert. Aner Protokollen nëmmen den Protokollname (oder Zuel wann keen Numm fir de Protokoll registréiert ass) a Paketgréisst.

NBP-Pakete ginn forméiert wéi déi folgend Beispiller:

Et ass och net esou einfach, wéi et ass. -net.112.220: nbp-reply 190: "techpit: LaserWriter @ *" 186

Déi éischt Zeil ass en Numm Lookup Request fir Laserwriters, déi vum net icsd Host 112 geschéckt ginn an iwwer net jssmag ausgestallt ginn. D'Nopesch-Id fir de Lookup ass 190. Déi zweet Zeil weist eng Äntwert op dës Ufro (Erënnert datt et déi selwecht Id) vum Host jssmag.209 ass datt et e Laserwriter Ressource mam Numm "RM1140" op Port Hafen 250 ass. D'Linn ass eng aner Äntwert op deen selwechten Ufro wouhir geheescht huet d'techpit Laserwriter "techpit" am port 186 registréiert.

ATP-Paketformatéierung ass dem folgenden Beispiller demonstréiert:

An et ass och net esou, datt et net an der Rei ass. (512) 0xae040000 helios.132> jssmag.209.165: atp-resp 12266: 2 (512) 0xae040000 helios.132> jssmag.209.165: atp-resp 12266: 3 (512) 0xae040000 helios.132> jssmag.209.165: atp- Awer et ass net zevill, well et ass net zevill. 209.165: atp-resp * 12266: 7 (512) 0xae040000 jssmag.209.165> helios.132: atp-req 12266 <3,5> 0xae030001 helios.132> jssmag.209.165: atp-resp 12266: 3 (512) 0xae040000 helios .132> jssmag.209.165: atp-resp 12266: 5 (512) 0xae040000 jssmag.209.165> helios.132: atp-rel 12266 <0-7> 0xae030001 jssmag.209.133> helios.132: atp-req * 12267 <0 -7> 0xae030002

Jssmag.209 initiéiert Transaktioun Id 12266 mam Host Helios duerch Ufro fir 8 Pakete (de `<0-7> '). D'Hex Nummer am Enn vun der Linn ass de Wäert vum Feld "Userdata" an der Ufro.

Helios entsprécht 8 812 Byte Paketen. D'`: Ziffer 'no der Transaktioun Id léiert d'Nummer vun der Paketsequenz an der Transaktioun an d'Nummer an der Parens ass d'Quantitéit vun Daten am Paket, ausser den Atp header. De `* 'op dem Paket 7 weist datt den EOM-Bitt setze war.

Jssmag.209 freet dann datt d'Paketen 3 a 5 rëm transmittéiert ginn. Helios resignéiert hinnen, jssmag.209 freet d'Transaktioun. Endlech, jssmag.209 initiéiert déi nächst Ufro. De `* 'op der Ufro uweist dat XO (` eemol eemol) war net festgeluegt.

IP Fragmentéierung

Fragmentéiert Internet Datagramen ginn esou gedréckt wéi

(Bréck Id : Gréisst @ Offset +) (Bruch Id : Gréisst @ Offset )

(Déi éischt Form weist datt et méi Fragmenter sinn. Déi zweet steet fir dat lescht Fragment.)

Id ass de Fragment ID. Gréisst ass d'Fragmentgréisst (an Bytes) ausgeschloss déi IP Header. Offset ass dëse Brochstéck vun der Versetzung (an Bytes) am urspréngleche Datagramm.

D'Fragmenter Informatioun ass fir all Fragment erausgaang. Den éischten Fragment enthält den héijen Niveau vum Protokollkopf an d'Broscht-Info gëtt nom Protokoll Info gedréckt. Fragmenter no der éischter Kategorie stinn net méi héich Protokollen Header an d'Broscht-Info gëtt no der Quell an der Adressbestëmmung gedréckt. Zum Beispill, ass en Deel vun engem FTP vun arizona.edu op lbl-rtsg.arpa iwwer eng CSNET-Verbindung, déi 576 Byte Datagramen net verleeft:

arizona.ftp-data> rtsg.1170:. 1024: 1332 (308) ack 1 win 4096 (frag 595a: 328 @ 0 +) arizona> rtsg: (frag 595a: 204 @ 328) rtsg.1170> arizona.ftp-data:. Ack 1536 gewënnt 2560

Et ginn e puer Punkte fir ze klären: Éischt Adressen an der 2. Linn bedeuten net Portnummeren. Dëst ass wéinst der TCP Protokollinformatioun alles am éischte Fragment an mir hunn keng Ahnung wat de Port oder d'Sequenznummern sinn, wann mir déi spéider Fragmenter ausdrécken. Zwee, d'tcp-Sequenz-Informatioun an der éischter Linn gëtt gedréckt wéi wann et 308 Bytes vu Benotzer Daten waren, wann et tatsächlech 512 Bytes (308 am éischten Brëll an 204 an der zweeter) sinn. Wann Dir Loscht an der Sequenz kuckt oder versprécht mat Akaaf mat Paketen mat ze passen, da kanns de däi Wee sinn.

E Paket mat der IP keng Brosche-Fragment markéiert mat engem Schleck (DF) .

Timestamps

Par défaut sinn all Ausgabeleitele vun engem Timestamp. Den Timestamp ass déi aktuell Taktgewiicht an der Form

hh: mm: ss.frac

an ass genee wéi d'Kerneluhr. De Timestamp reflektéiert d'Zäit déi den Kernel zuer hien de Paket gesinn huet. Et gëtt keen Versuch gemaach fir d'Zäit Verzéngung ze halen tëschent wann d'Äthernet Interface de Paket aus dem Leider huet, an wann den Kernel den "New Packet" interruptéiert.

KUCK OCH

(1C), nit (4P), bpf (4), pcap (3)

Wichteg: Benotzt de Mann Kommando ( % Mann ) fir ze kucken wéi e Kommando op Äre Computer benotzt.