Tcpdump - Linux Command - Unix Command

NAME

tcpdump - dump trapiko sa isang network

SINOPSIS

tcpdump [ -adeflnNOpqRStuvxX ] [ -c count ]

[ -C file_size ] [ -F file ]

[ -i interface ] [ -m module ] [ -r file ]

[ -s snaplen ] [ -T uri ] [ -U user ] [ -w file ]

[ -E algo: lihim ] [ expression ]

DESCRIPTION

Ini- print ng Tcpdump ang mga header ng mga packet sa interface ng network na tumutugma sa boolean expression . Maaari rin itong patakbuhin kasama ang -w na bandila, na siyang dahilan upang mai-save ang packet data sa isang file para sa pagtatasa sa ibang pagkakataon, at / o sa -r na bandila, na nagiging sanhi nito upang mabasa mula sa naka-save na packet file sa halip na basahin ang mga packet mula sa isang interface ng network. Sa lahat ng kaso, ang mga packet lamang na tumutugma sa pagpapahayag ay mapoproseso ng tcpdump .

Tcpdump ay, kung hindi tatakbo sa -c flag, magpatuloy sa pagkuha ng mga packet hanggang sa ito ay magambala sa pamamagitan ng isang SIGINT signal (binuo, halimbawa, sa pamamagitan ng pag-type ng iyong matakpan na character, kadalasan kontrol-C) o isang SIGTERM signal (kadalasang binuo gamit ang pumatay (1) utos); kung tumakbo kasama ang -c flag, ito ay makakakuha ng mga packet hanggang sa ito ay magambala ng SIGINT o SIGTERM signal o ang tinukoy na bilang ng mga packet ay naproseso.

Kapag tcpdump tatapusin pagkuha packets, ito ay ulat ng mga bilang ng mga:

ang mga packet na `` natanggap ng filter '' (ang kahulugan nito ay depende sa OS kung saan ka nagpapatakbo ng tcpdump , at posibleng sa paraan na naka-configure ang OS - kung ang isang filter ay tinukoy sa command line, sa ilang mga OS na binibilang nito packets hindi alintana kung sila ay katugma sa pamamagitan ng filter na expression, at sa iba pang mga OSes ito ay nagbibilang lamang ng mga packet na katugma sa pamamagitan ng filter na expression at na-proseso sa pamamagitan ng tcpdump );

packets na `` ay bumaba sa pamamagitan ng kernel '' (ito ang bilang ng mga packet na bumaba, dahil sa kakulangan ng puwang ng buffer, sa pamamagitan ng packet capture mechanism sa OS kung saan tumatakbo ang tcpdump , kung ang OS ay nag-uulat ng impormasyon sa mga application; kung hindi, ito ay iulat bilang 0).

Sa platform na sumusuporta sa SIGINFO signal, tulad ng karamihan sa BSDs, ito ay mag-ulat ng mga bilang kapag nakatanggap ito ng SIGINFO signal (binuo, halimbawa, sa pamamagitan ng pag-type ng iyong karakter na "status", karaniwang kontrol-T) at magpapatuloy sa pagkuha ng mga packet .

Ang mga packet sa pagbabasa mula sa isang network interface ay maaaring mangailangan na mayroon kang mga espesyal na pribilehiyo:

Sa ilalim ng SunOS 3.x o 4.x sa NIT o BPF:

Dapat mong basahin ang access sa / dev / nit o / dev / bpf * .

Sa ilalim ng Solaris sa DLPI:

Dapat kang magkaroon ng read / write access sa network na palsipikado na aparato, halimbawa / dev / le . Sa hindi bababa sa ilang mga bersyon ng Solaris, gayunpaman, ito ay hindi sapat upang payagan ang tcpdump upang makunan sa mapanghimok na mode; sa mga bersyon ng Solaris, dapat kang maging root, o ang tcpdump ay dapat na naka-install na setuid sa root, upang mahuli sa mapanghimok na mode. Tandaan na, sa maraming mga (marahil lahat) mga interface, kung hindi mo makuha sa mapanghimok na mode, hindi ka makakakita ng anumang mga papalabas na packet, kaya ang pagkuha ng hindi ginawa sa mapanghimok na mode ay maaaring hindi masyadong kapaki-pakinabang.

Sa ilalim ng HP-UX sa DLPI:

Dapat kang maging root o tcpdump ay dapat na naka-install setuid sa root.

Sa ilalim ng IRIX na may panunubok:

Dapat kang maging root o tcpdump ay dapat na naka-install setuid sa root.

Sa ilalim ng Linux:

Dapat kang maging root o tcpdump ay dapat na naka-install setuid sa root.

Sa ilalim ng Ultrix at Digital UNIX / Tru64 UNIX:

Maaaring makuha ng sinumang gumagamit ang trapiko sa network gamit ang tcpdump . Gayunpaman, walang gumagamit (kahit na ang super-user) ay maaaring makunan sa mapanghimok na mode sa isang interface maliban kung ang super-user ay nakapagpagana ng mapanghimasok na mode na operasyon sa interface na gumagamit ng pfconfig (8), at walang user (hindi ang super-user ) ay maaaring makuha ang unicast na trapiko na natanggap ng o ipinadala ng makina sa isang interface maliban kung pinapagana ng super-user ang operasyon ng kopya ng lahat-ng-mode sa interface na gumagamit ng pfconfig , kaya kapaki-pakinabang na packet capture sa isang interface marahil ay nangangailangan ng alinman sa mapanghimok-mode o kopya -oper-mode na operasyon, o parehong mga mode ng operasyon, ay pinagana sa interface na iyon.

Sa ilalim ng BSD:

Dapat mong basahin ang access sa / dev / bpf * .

Ang pagbabasa ng naka-save na packet file ay hindi nangangailangan ng mga espesyal na pribilehiyo.

MGA OPTION

-a

Subukan na i-convert ang mga address ng network at broadcast sa mga pangalan.

-c

Lumabas pagkatapos matanggap ang mga packet ng count .

-C

Bago magsulat ng raw packet sa isang savefile, tingnan kung ang file ay kasalukuyang mas malaki kaysa sa file_size at, kung gayon, isara ang kasalukuyang savefile at magbukas ng bago. Ang Savefiles pagkatapos ng unang savefile ay magkakaroon ng pangalan na tinukoy sa -w na bandila, na may isang numero pagkatapos nito, simula sa 2 at patuloy na pataas. Ang mga yunit ng file_size ay milyon-milyong mga byte (1,000,000 bytes, hindi 1,048,576 bytes).

-d

Dump ang naipon na packet-matching code sa isang tao na nababasa na form sa karaniwang output at itigil.

-DD

Dump packet-matching code bilang C program fragment.

-ddd

Dump packet-matching code bilang decimal numbers (preceded with a count).

-e

I-print ang header ng antas ng link sa bawat dump line.

-E

Gumamit ng algo: lihim para sa pag-decrypting ng IPsec ESP packet. Ang mga algorithm ay maaaring des-cbc , 3des-cbc , blowfish-cbc , rc3-cbc , cast128-cbc , o wala . Ang default ay des-cbc . Ang kakayahang mag-decrypt ng mga packet ay naroroon lamang kung ang tcpdump ay pinagsama sa pinagana ng cryptography. lihim ang ascii text para sa secret key ng ESP. Hindi namin maaaring makuha ang di-makatwirang halaga ng binary sa sandaling ito. Ipinagpapalagay ng opsyon ang RFC2406 ESP, hindi RFC1827 ESP. Ang pagpipilian ay para lamang sa mga layunin ng pag-debug, at ang paggamit ng pagpipiliang ito na may tunay na 'lihim' na key ay nasisiraan ng loob. Sa pamamagitan ng pagtatanghal ng IPsec secret key papunta sa command line ginagawa mo itong makikita sa iba, sa pamamagitan ng ps (1) at iba pang mga okasyon.

-f

I-print ang mga 'banyagang' internet address sa numerically sa halip na symbolically (ang pagpipiliang ito ay inilaan upang makakuha ng malubhang pinsala sa utak sa yp server ng Sun --- kadalasan ito hangs magpakailanman sa pagsasalin ng mga di-lokal na numero ng internet).

-F

Gamitin ang file bilang input para sa filter na expression. Ang isang karagdagang pagpapahayag na ibinigay sa command line ay hindi pinansin.

-i

Makinig sa interface . Kung hindi tinukoy, tcpdump hinahanap ang listahan ng system interface para sa pinakamababang may bilang, isinaayos na interface (hindi kasama ang loopback). Ang mga kurbatang ay sira sa pamamagitan ng pagpili ng pinakamaagang tugma.

Sa mga sistema ng Linux na may 2.2 o mas bago na kernels, isang interface argument ng `` anumang '' ay maaaring magamit upang makuha ang mga packet mula sa lahat ng mga interface. Tandaan na ang mga nakukuha sa `` anumang '' na aparato ay hindi gagawin sa mapanghimok na mode.

-l

Gumawa ng stdout line buffered. Kapaki-pakinabang kung nais mong makita ang data habang kinukuha ito. Halimbawa,
`` tcpdump -l | tee dat '' o `` tcpdump -l> dat & tail -f dat ''.

-m

I-load ang kahulugan ng SMI MIB module mula sa module ng file. Maaaring magamit ang pagpipiliang ito nang maraming beses upang mai-load ang ilang MIB modules sa tcpdump .

-n

Huwag i-convert ang mga address ng host sa mga pangalan. Maaari itong magamit upang maiwasan ang mga paghahanap ng DNS.

-nn

Huwag i-convert ang protocol at port number atbp sa mga pangalan alinman.

-N

Huwag i-print ang kwalipikasyon ng domain name ng mga pangalan ng host. Halimbawa, kung bibigyan mo ang bandila na ito pagkatapos ay ipi-print ng tcpdump ang `` nic '' sa halip na `` nic.ddn.mil ''.

-O

Huwag patakbuhin ang packet-matching code optimizer. Ito ay kapaki-pakinabang lamang kung pinaghihinalaan mo ang isang bug sa optimizer.

-p

Huwag ilagay ang interface sa mapanghimok na mode. Tandaan na ang interface ay maaaring nasa mapanghimok na mode para sa ibang dahilan; samakatuwid, ang `-p 'ay hindi maaaring gamitin bilang pagdadaglat para sa` ether host {local-hw-addr} o ether broadcast'.

-q

Mabilis (tahimik?) Output. I-print ang mas kaunting impormasyon ng protocol upang ang mga linya ng output ay mas maikli.

-R

Ipalagay ang pack ng ESP / AH na nakabatay sa lumang detalye (RFC1825 hanggang RFC1829). Kung tinukoy, ang tcpdump ay hindi mag-print ng field ng pag-iwas sa replay. Dahil walang patlang ng bersyon ng protocol sa detalye ng ESP / AH, ang tcpdump ay hindi maaaring pagbunyag ng bersyon ng ESP / AH protocol.

-r

Basahin ang mga packet mula sa file (na nilikha gamit ang pagpipilian na -w). Ang pamantayang input ay ginagamit kung ang file ay `` - ''.

-S

I-print ang absolute, sa halip na kamag-anak, mga numero ng pagkakasunud-sunod ng TCP.

-s

Snarf snaplen bytes ng data mula sa bawat packet sa halip na ang default na 68 (na may SunOS's NIT, ang minimum ay talagang 96). Ang 68 bytes ay sapat para sa IP, ICMP, TCP at UDP ngunit maaaring pumatak ng impormasyon ng protocol mula sa server ng pangalan at NFS packet (tingnan sa ibaba). Ang mga packet na pinutol dahil sa isang limitadong snapshot ay ipinahiwatig sa output na may `` [ proto ] '', kung saan ang proto ay ang pangalan ng antas ng protocol kung saan naganap ang truncation. Tandaan na ang pagkuha ng mas malaking snapshot ay pinatataas ang dami ng oras na kinakailangan upang maiproseso ang mga packet at, mabisa, binabawasan ang halaga ng packet buffering. Ito ay maaaring maging sanhi ng pagkawala ng mga packet. Dapat mong limitahan ang snaplen sa pinakamaliit na numero na makakakuha ng impormasyon ng protocol na interesado ka. Ang pagtatakda ng snaplen sa 0 ay nangangahulugang gamitin ang kinakailangang haba upang mahuli ang buong packet.

-T

Ang mga packet ng lakas na pinili ng " expression " upang mabigyang-kahulugan ang tinukoy na uri . Ang mga kasalukuyang kilalang uri ay ang cnfp (Cisco NetFlow protocol), rpc (Remote Procedure Call), rtp (Real-Time Applications protocol), rtcp (Real-Time Applications control protocol), snmp (Simple Network Management Protocol) ), at wb (ibinahagi sa White Board).

-t

Huwag mag- print ng isang timestamp sa bawat dump line.

-tt

Mag-print ng isang hindi na-format na timestamp sa bawat dump line.

-U

Inalis ang mga pribilehiyo ng ugat at nagbabago ang ID ng gumagamit sa user at ID ng grupo sa pangunahing pangkat ng gumagamit .

Tandaan! Ang Red Hat Linux ay awtomatikong binubura ang mga pribilehiyo sa gumagamit na `` pcap '' kung walang iba pa ang tinukoy.

-tut

Mag-print ng delta (sa mga micro-segundo) sa pagitan ng kasalukuyan at naunang linya sa bawat dump line.

-tttt

Mag-print ng timestamp sa default na format na nagpatuloy sa pamamagitan ng petsa sa bawat dump line.

-u

I-print ang mga undecoded na mga handle ng NFS.

-v

(Bahagyang higit pa) masalita na output. Halimbawa, ang oras upang mabuhay, pagkakakilanlan, kabuuang haba at mga opsyon sa isang IP packet ay nakalimbag. Pinapayagan din ang karagdagang mga tseke integridad tseke tulad ng pagpapatunay ng IP at ICMP header checksum.

-vv

Mas maraming masalita output. Halimbawa, ang mga karagdagang field ay naka-print mula sa NFS packet reply, at ang SMB packet ay ganap na decoded.

-vvv

Mas maraming masalita output. Halimbawa, ang telnet SB ... SE pagpipilian ay naka-print nang buo. Sa -X telnet pagpipilian ay naka-print sa hex pati na rin.

-w

Isulat ang mga raw na packet upang mag- file sa halip na pag-parse at pag-print ng mga ito. Maaari silang mamaya ay ipi-print sa pagpipiliang -r. Ang karaniwang output ay ginagamit kung ang file ay `` - ''.

-x

I-print ang bawat packet (minus ang header ng antas ng link) sa hex. Ang mas maliit ng buong packet o snaplen bytes ay ipi-print. Tandaan na ito ang buong packet ng layer ng link, kaya para sa mga layers ng link na pad (eg Ethernet), ang mga byte ng padding ay ipi-print kapag ang mas mataas na layer packet ay mas maikli kaysa sa kinakailangang padding.

-X

Kapag nagpi-print ng hex, i-print ang ASCII masyadong. Kaya kung naka-set ang -x , ang pakete ay nakalimbag sa hex / ascii. Ito ay lubhang madaling gamitin para sa pag-aaral ng mga bagong protocol. Kahit na -x ay hindi rin nakatakda, ang ilang mga bahagi ng ilang mga packet ay maaaring ipi-print sa hex / ascii.

pagpapahayag

pipili kung aling mga packet ang ibabagsak. Kung walang pagpapahayag ay ibinigay, ang lahat ng mga packet sa net ay itatapon. Kung hindi, tanging mga packet kung saan ang pagpapahayag ay `totoo 'ay itatapon.

Ang ekspresyon ay binubuo ng isa o higit pang mga primitibo. Ang mga primitiba ay karaniwang binubuo ng isang id (pangalan o numero) na sinundan ng isa o higit pang mga kwalipikado. May tatlong magkakaibang uri ng qualifier:

uri

Ang mga kwalipikado ay nagsasabi kung anong uri ng bagay ang tinutukoy ng pangalan o numero ng id. Ang mga posibleng uri ay host , net at port . Halimbawa, `host foo ',` net 128.3', `port 20 '. Kung walang uri qualifier, host ay assumed.

dir

Ang mga kwalipikadong tumutukoy sa isang partikular na direksyon sa paglipat sa at / o mula sa id . Ang posibleng mga direksyon ay src , dst , src o dst at src at dst . Halimbawa, `src foo ',` dst net 128.3', `src o dst port ftp-data '. Kung walang dir qualifier, ipinapalagay na src o dst . Para sa mga layuning link na 'null' (ie point to point protocol tulad ng slip) ang mga inbound at outbound qualifiers ay maaaring gamitin upang tukuyin ang nais na direksyon.

proto

Ang mga kwalipikado ay naghihigpit sa tugma sa isang partikular na protocol. Ang mga posibleng protos ay: ether , fddi , tr , ip , ip6 , arp , rarp , decnet , tcp at udp . Halimbawa, `ether src foo ',` arp net 128.3', `tcp port 21 '. Kung walang proto qualifier, ang lahat ng mga protocol na naaayon sa uri ay ipinapalagay. Halimbawa, ang `foo 'ay nangangahulugang` (ip o arp o rarp) src foo' (maliban sa huli ay hindi legal na syntax), ang `net bar 'ay nangangahulugang` (ip o arp o rarp) net bar' at `port 53 ' `(tcp o udp) port 53 '.

[`fddi 'ay talagang isang alias para sa` ether'; ang parser ay tinatrato ang mga ito bilang identik bilang `` ang antas ng link ng data na ginamit sa tinukoy na interface ng network. '' Ang mga header ng FDDI ay naglalaman ng pinagmulan at destination address ng Ethernet, at kadalasang naglalaman ng mga uri ng packet na tulad ng Ethernet, upang maaari kang mag-filter sa mga patlang ng FDDI na ito tulad ng katulad ng mga patlang ng Ethernet. Ang mga header ng FDDI ay naglalaman din ng iba pang mga patlang, ngunit hindi mo ito maipangalan nang malinaw sa isang filter na expression.

Katulad nito, `tr 'ay isang alyas para sa` ether'; ang mga pahayag ng nakaraang talata tungkol sa mga header ng FDDI ay nalalapat din sa mga header ng Token Ring.]

Bilang karagdagan sa itaas, mayroong ilang mga espesyal na 'primitive' na mga keyword na hindi sumusunod sa pattern: gateway , broadcast , mas mababa , mas malaki at aritmetika expression. Ang lahat ng ito ay inilarawan sa ibaba.

Ang mas kumplikadong mga expression ng filter ay binuo sa pamamagitan ng paggamit ng mga salita at , o at hindi upang pagsamahin ang mga primitibo. Halimbawa, `host foo at hindi port ftp at hindi port ftp-data '. Upang i-save ang pag-type, maaaring i-omitted ang magkaparehong mga listahan ng kwalipikado. Halimbawa, ang `tcp dst port ftp o ftp-data o domain 'ay eksaktong kapareho ng` tcp dst port ftp o tcp dst port ftp-data o tcp dst port domain'.

Ang mga pinahintulutang primitibo ay:

at host host

Totoo kung ang IPv4 / v6 destination field ng packet ay host , na maaaring alinman sa isang address o isang pangalan.

src host host

Totoo kung ang IPv4 / v6 source field ng packet ay host .

host host

Tama kung ang pinagmulan o destinasyon ng IPv4 / v6 ay naka- host . Anumang sa itaas na mga ekspresyon ng host ay maaaring i-prepended gamit ang mga keyword, ip , arp , rarp , o ip6 tulad ng sa:

ip host host

na katumbas ng:

ether proto \ ip at host host

Kung ang host ay isang pangalan na may maraming IP address, ang bawat address ay susuriin para sa isang tugma.

ether dst ehost

Totoo kung ang address ng destination ng ethernet ay ehost . Ang Ehost ay maaaring alinman sa isang pangalan mula sa / etc / ethers o isang numero (tingnan ang ethers (3N) para sa numerong format).

ether src ehost

Totoo kung ang ethernet source address ay ehost .

ether host ehost

Totoo kung alinman sa ethernet pinagmulan o destination address ay ehost .

gateway host

Tama kung ang packet ay gumagamit ng host bilang isang gateway. Ibig sabihin, ang pinagmulan ng ethernet o patutunguhang address ay host ngunit hindi rin ang pinagmulan ng IP o IP destination ay host . Ang host ay dapat na isang pangalan at dapat na matagpuan sa pamamagitan ng mekanismo ng resolusyon ng host-name-to-IP-address ng makina (host name file, DNS, NIS, atbp.) At ng host-name-to-Ethernet-address resolution ng makina mekanismo (/ etc / ethers, atbp.). (Ang katumbas na expression ay

ether host ehost at hindi host host

na maaaring magamit sa alinman sa mga pangalan o mga numero para sa host / ehost .) Ang syntax na ito ay hindi gumagana sa IPv6-enable ang pagsasaayos sa sandaling ito.

dst net net

Totoo kung ang IPv4 / v6 destination address ng packet ay may network na net number. Ang net ay maaaring alinman sa isang pangalan mula sa / etc / network o isang numero ng network (tingnan ang mga network (4) para sa mga detalye).

src net net

Totoo kung ang IPv4 / v6 source address ng packet ay may network number na net .

net net

Totoo kung alinman sa IPv4 / v6 pinagmulan o patutunguhang address ng packet ay may network na numero ng net .

net net mask netmask

Totoo kung ang IP address ay tumutugma sa net sa partikular na netmask . Maaaring kwalipikado sa src o dst . Tandaan na ang syntax na ito ay hindi wasto para sa IPv6 net .

net net / len

Tama kung ang IPv4 / v6 address ay tumutugma sa net sa isang netmask len bits wide. Maaaring kwalipikado sa src o dst .

atbp port port

Tama kung ang packet ay ip / tcp, ip / udp, ip6 / tcp o ip6 / udp at may destination port value na port . Ang port ay maaaring isang numero o isang pangalan na ginagamit sa / etc / services (tingnan ang tcp (4P) at udp (4P)). Kung ang isang pangalan ay ginagamit, ang parehong bilang ng port at protocol ay naka-check. Kung ang isang numero o hindi siguradong pangalan ay ginagamit, tanging ang numero ng port ay naka-check (hal., Ang port 513 ay mag-print ng trapiko ng tcp / login at udp / na trapiko, at ang port domain ay mag-print ng trapiko ng tcp / domain at udp / domain).

src port port

Totoo kung ang packet ay may source port na halaga ng port .

port port

Totoo kung alinman sa pinagmulan o destination port ng packet ay port . Ang alinman sa mga expression sa itaas na port ay maaaring maisama sa mga keyword, tcp o udp , tulad ng sa:

tcp src port port

na tumutugma lamang sa tcp packets na ang source port ay port .

mas mababa ang haba

Totoo kung ang haba ng packet ay mas mababa kaysa o katumbas ng haba . Katumbas ito sa:

len <= haba .

mas malaki ang haba

Totoo kung ang haba ng packet ay mas malaki kaysa sa o katumbas ng haba . Katumbas ito sa:

len> = haba .

IP proto protocol

Tama kung ang packet ay isang IP packet (tingnan ang ip (4P)) ng protocol type protocol . Protocol ay maaaring isang numero o isa sa mga pangalan icmp , icmp6 , igmp , igrp , pim , ah , esp , vrrp , udp , o tcp . Tandaan na ang mga identifier tcp , udp , at icmp ay mga keyword din at dapat na makatakas sa pamamagitan ng backslash (\), na kung saan ay \\ sa C-shell. Tandaan na ang kauna-unahang ito ay hindi hinahabol ang kadena ng header ng protocol.

ip6 proto protocol

Tama kung ang packet ay isang IPv6 na packet ng protocol type protocol . Tandaan na ang kauna-unahang ito ay hindi hinahabol ang kadena ng header ng protocol.

ip6 protochain protocol

Tama kung ang packet ay IPv6 packet, at naglalaman ng header ng protocol na may uri ng protocol sa chain chain ng protocol nito. Halimbawa,

ip6 protochain 6

tumutugma sa anumang IPv6 packet na may TCP protocol header sa chain chain ng protocol. Ang packet ay maaaring maglaman, halimbawa, header ng pagpapatunay, routing header, o hop-by-hop header ng opsyon, sa pagitan ng header ng IPv6 at header ng TCP. Ang code ng BPF na pinalabas ng kauna-unahang ito ay kumplikado at hindi ma-optimize ng BPF optimizer code sa tcpdump , kaya maaaring ito ay medyo mabagal.

IP protochain protocol

Katumbas sa ip6 protochain protocol , ngunit ito ay para sa IPv4.

ether broadcast

Tama kung ang packet ay isang ethernet broadcast packet. Ang ether keyword ay opsyonal.

ip broadcast

Tama kung ang packet ay isang IP broadcast packet. Sinusuri nito ang parehong mga all-zeroes at all-ones broadcast convention, at tinitingnan ang local subnet mask.

ether multicast

Tama kung ang packet ay isang ethernet multicast packet. Ang ether keyword ay opsyonal. Ito ay shorthand para sa ` ether [0] & 1! = 0 '.

ip multicast

Tama kung ang packet ay isang IP multicast packet.

ip6 multicast

Tama kung ang packet ay isang IPv6 multicast packet.

ether proto protocol

Totoo kung ang packet ay ether type protocol . Protocol ay maaaring isang numero o isa sa mga pangalan ip , ip6 , arp , rarp , atalk , aarp , decnet , sca , lat , mopdl , moprc , iso , stp , ipx , o netbeui . Tandaan na ang mga pagkakakilanlan ay mga keyword din at dapat na makatakas sa pamamagitan ng backslash (\).

[Sa kaso ng FDDI (hal., ` Fddi protocol arp ') at Token Ring (hal.,` Tr protocol arp '), para sa karamihan ng mga protocol na iyon, ang pagkakakilanlan ng protocol ay mula sa 802.2 Logical Link Control (LLC) ay karaniwang layered sa tuktok ng FDDI o Token Ring header.

Kapag nag-filter para sa karamihan ng mga tagatukoy ng protocol sa FDDI o Token Ring, ang mga tcpdump ay sinusuri lamang ang field ng protocol ID ng header ng LLC sa tinatawag na SNAP na format na may isang Organisation Unit Identifier (OUI) ng 0x000000, para sa encapsulated Ethernet; ito ay hindi suriin kung ang packet ay nasa SNAP na format na may isang OUI ng 0x000000.

Ang mga eksepsiyon ay iso , na kung saan ito ay sumusuri sa DSAP (Destination Service Access Point) at SSAP (Source Access Access Point) ng mga header ng LLC, stp at netbeui , kung saan sinusuri nito ang DSAP ng header ng LLC, at atalk , kung saan ito mga tseke para sa packet na SNAP-format na may OUI ng 0x080007 at ang Appletalk etype.

Sa kaso ng Ethernet, sinusuri ng tcpdump ang field ng uri ng Ethernet para sa karamihan ng mga protocol na iyon; ang mga eksepsiyon ay iso , sap , at netbeui , kung saan ito ay sumusuri para sa isang 802.3 na frame at pagkatapos ay sinusuri ang header ng LLC tulad nito para sa FDDI at Token Ring, atalk , kung saan ito ay sumusuri sa pareho para sa Appletalk etype sa isang Ethernet frame at para sa isang SNAP-format na pakete tulad nito para sa FDDI at Token Ring, aarp , kung saan ito ay sumusuri para sa Appletalk ARP etype sa alinman sa isang Ethernet frame o isang 802.2 SNAP frame na may isang OUI ng 0x000000, at ipx , kung saan ito ay sumusuri para sa IPX etype sa isang Ethernet frame, ang IPX DSAP sa header ng LLC, ang 802.3 na walang LLC encapsulation header ng IPX, at ang IPX etype sa isang SNAP frame.]

decnet src host

Totoo kung ang address ng pinagmulan ng DECNET ay host , na maaaring isang address ng form `` 10,123 '', o isang pangalan ng DECNET host. [DECNET host name support ay magagamit lamang sa mga sistema ng Ultrix na isinaayos upang tumakbo ang DECNET.]

decnet dst host

Totoo kung ang address ng destination ng DECNET ay host .

host ng host ng decnet

Totoo kung ang pinagmulan ng DECNET o destination address ay host .

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

Mga daglat para sa:

ether proto p

kung saan p ay isa sa mga protocol sa itaas.

lat , moprc , mopdl

Mga daglat para sa:

ether proto p

kung saan p ay isa sa mga protocol sa itaas. Tandaan na ang tcpdump ay hindi kasalukuyang alam kung paano i-parse ang mga protocol na ito.

vlan [vlan_id]

Tama kung ang packet ay isang packet ng IEEE 802.1Q VLAN. Kung tinukoy ang [vlan_id] , totoo lamang ang packet ay may tinukoy na vlan_id . Tandaan na ang unang vlan keyword na nakatagpo sa expression ay nagbabago sa mga pag-decode offset para sa natitirang pagpapahayag sa palagay na ang packet ay isang packet ng VLAN.

tcp , udp , icmp

Mga daglat para sa:

ip proto p o ip6 proto p

kung saan p ay isa sa mga protocol sa itaas.

iso proto protocol

Tama kung ang packet ay isang OSI packet ng protocol type protocol . Ang protocol ay maaaring isang numero o isa sa mga pangalan na clnp , esis , o isis .

clnp , esis , isis

Mga daglat para sa:

iso proto p

kung saan p ay isa sa mga protocol sa itaas. Tandaan na ang tcpdump ay isang hindi kumpletong trabaho ng pag-parse ng mga protocol na ito.

expr relop expr

Totoo kung ang ugnayan ay may hawak, kung saan ang relop ay isa sa>, <=> , <=, = ,! =, At expr ay isang pang-aritmetikong expression na binubuo ng mga integer constants (ipinahayag sa standard C syntax), ang normal na binary operator [+ , -, *, /, &, |], isang operator ng haba, at mga espesyal na data ng accessoret ng packet. Upang ma-access ang data sa loob ng packet, gamitin ang sumusunod na syntax:

proto [ expr : size ]

Ang proto ay isa sa eter, fddi, tr, ppp, slip, link, ip, arp, rarp, tcp, udp, icmp o ip6 , at ipinapahiwatig ang protocol layer para sa pagpapatakbo ng index. ( ether, fddi, tr, ppp, slip at link lahat ay sumangguni sa link layer.) Tandaan na ang tcp, udp at iba pang mga uri ng upper-layer protocol ay nalalapat lamang sa IPv4, hindi IPv6 (maayos ito sa hinaharap). Ang byte na offset, kaugnay sa ipinahiwatig na layer ng protocol, ay ibinibigay ng expr . Ang laki ay opsyonal at nagpapahiwatig ng bilang ng mga byte sa larangan ng interes; maaari itong maging alinman, dalawa, o apat, at mga default sa isa. Ang haba operator, na ipinahiwatig ng keyword len , ay nagbibigay sa haba ng packet.

Halimbawa, ang ` ether [0] & 1! = 0 ay nakakakuha ng lahat ng trapiko ng multicast. Ang expression na ` ip [0] & 0xf! = 5 'ay nakakakuha ng lahat ng mga IP packet na may mga pagpipilian. Ang expression na ' ip [6: 2] & 0x1fff = 0 ' ay nakakuha lamang ng mga walang dati na datagrams at frag zero ng mga fragmented datagrams. Ang tseke na ito ay ipinahihiwatig lamang sa pagpapatakbo ng tcp at udp index. Halimbawa, ang tcp [0] ay laging nangangahulugang ang unang byte ng header ng TCP, at hindi kailanman nangangahulugang ang unang byte ng isang pumutok na fragment.

Ang ilang mga offset at mga halaga ng patlang ay maaaring ipinahayag bilang mga pangalan sa halip na bilang mga numerong halaga. Ang mga sumusunod na field offset ng header ng protocol ay magagamit: icmptype (uri ng uri ng ICMP), icmpcode (patlang ng ICMP code), at tcpflags (patlang ng TCP flags).

Ang mga sumusunod na halaga ng field ng ICMP uri ay magagamit: icmp-echoreply , 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 .

Ang mga sumusunod na halaga ng field ng bandang TCP ay magagamit: tcp-fin , tcp-syn , tcp-rst , tcp-push , tcp-push , tcp-ack , tcp-urg .

Ang mga primitibo ay maaaring pinagsama gamit ang:

Ang isang parenthesized na pangkat ng mga primitibo at mga operator (mga panaklong ay espesyal sa Shell at kailangang escaped).

Negation (` ! 'O` hindi ').

Concatenation (` && 'o` at ').

Alternation (` || 'o` o ').

Ang negatibo ay may pinakamataas na panuntunan. Ang alternation at concatenation ay may pantay na precedence at iugnay sa kaliwa papunta sa kanan. Tandaan na ang mga tahasang at mga token, hindi pagkakabit, ay kinakailangan na ngayon para sa pagdudugtong.

Kung ang isang identifier ay ibinigay nang walang isang keyword, ang pinakahuling keyword ay ipinapalagay. Halimbawa,

hindi host kumpara at alas

ay maikli para sa

hindi host vs at host ace

na hindi dapat malito

hindi (host vs o alas)

Ang mga argumento ng pagpapahayag ay maaaring maipasa sa tcpdump bilang alinman sa isang solong argumento o bilang maraming argumento, alinman ang mas maginhawa. Sa pangkalahatan, kung ang expression ay naglalaman ng mga metacharacters ng Shell, mas madali itong ipasa bilang isang solong, binanggit na argumento. Maramihang mga argumento ay concatenated sa mga puwang bago ma-parse.

MGA HALIMBAWA

Upang i-print ang lahat ng mga packet na dumarating sa o aalis mula sa paglubog ng araw :

tcpdump host sundown

Upang mag-print ng trapiko sa pagitan ng mga helios at alinman sa mainit o alas :

tcpdump host helios and \ (hot or ace \)

Upang i-print ang lahat ng mga IP packet sa pagitan ng alas at anumang host maliban helios :

tcpdump ip host ace at hindi helios

Upang i-print ang lahat ng trapiko sa pagitan ng mga lokal na nagho-host at nagho-host sa Berkeley:

tcpdump net ucb-eter

Upang i-print ang lahat ng trapiko sa ftp sa pamamagitan ng internet gateway snup : (tandaan na ang expression ay naka-quote upang maiwasan ang shell mula sa (maling-) pagbibigay-kahulugan ang mga panaklong):

tcpdump 'gateway snup at (port ftp o ftp-data)'

Upang i-print ang trapiko na hindi nakuha mula o nakalaan para sa mga lokal na host (kung ikaw ay gateway sa isa pang net, ang mga bagay na ito ay hindi dapat gawin ito sa iyong lokal na net).

tcpdump ip at hindi net localnet

Upang i-print ang mga packet ng simula at wakas (ang mga pack ng SYN at FIN) ng bawat pag-uusap ng TCP na nagsasangkot ng isang hindi lokal na host.

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

Upang mag-print ng mga IP packet na mas mahaba kaysa sa 576 byte na ipinadala sa pamamagitan ng gateway snup :

tcpdump 'gateway snup and ip [2: 2]> 576'

Upang mag-print ng IP broadcast o multicast packet na hindi ipinadala sa pamamagitan ng ethernet broadcast o multicast:

tcpdump 'ether [0] & 1 = 0 at ip [16]> = 224'

Upang i-print ang lahat ng mga packet ng ICMP na hindi echo na mga kahilingan / tugon (ibig sabihin, hindi ping packet):

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

OUTPUT FORMAT

Ang output ng tcpdump ay umaasa sa protocol. Ang mga sumusunod ay nagbibigay ng isang maikling paglalarawan at mga halimbawa ng karamihan sa mga format.

Link Level Headers

Kung ang '-e' na opsiyon ay ibinigay, ang header ng antas ng link ay naka-print out. Sa ethernets, nakalimbag ang pinagmulan at patutunguhan na address, protocol, at haba ng packet.

Sa mga network ng FDDI, ang opsyon na '-e' ay nagdudulot ng tcpdump upang i-print ang field na `kontrol ng frame ', ang pinagmulan at destination address, at ang haba ng packet. (Ang field ng kontrol ng 'frame control' ay nangangasiwa sa pagpapakahulugan ng natitirang packet. Ang mga karaniwang packet (tulad ng mga naglalaman ng mga IP datagrams) ay mga `async 'na mga packet, na may prayoridad na halaga sa pagitan ng 0 at 7; halimbawa,` async4 '. ang mga packet ay ipinapalagay na naglalaman ng packet ng 802.2 Logical Link Control (LLC); ang header ng LLC ay naka-print kung ito ay hindi isang ISO datagram o isang tinatawag na SNAP packet.

Sa mga Token Ring network, ang pagpipilian na '-e' ay nagiging sanhi ng tcpdump upang i-print ang mga field na 'control control' at `frame control ', ang pinagmulan at destination address, at ang haba ng packet. Tulad ng sa mga network ng FDDI, ang mga packet ay ipinapalagay na naglalaman ng isang packet ng LLC. Hindi alintana kung tinukoy o hindi ang pagpipiliang '-e', ang impormasyong naka-routing source ay naka-print para sa mga packet na pinagmulan ng pinagmulan.

(NB: Ang sumusunod na paglalarawan ay ipinapalagay na pamilyar sa algorithm ng SLIP compression na inilarawan sa RFC-1144.)

Sa mga link ng SLIP, isang indicator ng direksyon (`` I '' para sa inbound, `` O '' para sa outbound), uri ng packet, at impormasyon ng compression ay naka-print out. Ang uri ng packet ay unang naka-print. Ang tatlong uri ay ip , utcp , at ctcp . Walang karagdagang impormasyon ng link ang naka-print para sa mga ip packet. Para sa mga packet ng TCP, ang naka-print na identifier ay naka-print na sumusunod sa uri. Kung ang packet ay naka-compress, ang naka-encode header nito ay nakalimbag. Ang mga espesyal na kaso ay nakalimbag bilang * S + n at * SA + n , kung saan n ang halaga kung saan ang numero ng pagkakasunod-sunod (o pagkakasunod-sunod na numero at ack) ay nagbago. Kung hindi ito isang espesyal na kaso, ang zero o higit pang mga pagbabago ay nakalimbag. Ang isang pagbabago ay ipinahiwatig ng U (kagyat na pointer), W (window), A (ack), S (sequence number), at ako (packet ID), na sinusundan ng isang delta (+ n o -n), o isang bagong halaga (= n). Sa wakas, ang dami ng data sa naka-print na haba ng packet at naka-compress na header.

Halimbawa, ang sumusunod na linya ay nagpapakita ng isang palabas na naka-compress na packet ng TCP, na may isang pahiwatig na koneksyon sa pagkakakilanlan; ang ack ay nabago sa pamamagitan ng 6, ang numero ng pagkakasunod sa pamamagitan ng 49, at ang packet ID sa pamamagitan ng 6; may 3 bytes ng data at 6 bytes ng naka-compress na header:

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

ARP / RARP Packets

Ang output ng Arp / rarp ay nagpapakita ng uri ng kahilingan at mga argumento nito. Ang format ay inilaan upang maging paliwanag sa sarili. Narito ang isang maikling sample na kinuha mula sa simula ng isang `rlogin 'mula sa host rtsg upang i-host csam :

arp who-has csam tell rtsg arp reply csam is-at CSAM

Ang unang linya ay nagsasabi na ang rtsg ay nagpadala ng isang arp packet na humihingi ng ethernet address ng internet host csam. Ang sagot ng Csam sa ethernet address nito (sa halimbawang ito, ang mga ethernet address ay nasa mga takip at mga address ng internet sa mas mababang kaso).

Ito ay magiging mas mababa kaysa sa kung tapos na tcpdump -n :

arp na-may 128.3.254.6 sabihin 128.3.254.68 arp reply 128.3.254.6 ay-sa 02:07: 01: 00: 01: c4

Kung ginawa namin ang tcpdump -e , ang katotohanan na ang unang packet ay broadcast at ang pangalawang ay point-to-point ay makikita:

RTSG Broadcast 0806 64: arp who-has csam tell rtsg CSAM RTSG 0806 64: arp reply csam is-at CSAM

Para sa unang packet na ito ay nagsasabing ang ethernet source address ay RTSG, ang patutunguhan ay ang ethernet broadcast address, ang uri ng patlang na naglalaman ng hex 0806 (uri ETHER_ARP) at ang kabuuang haba ay 64 bytes.

TCP Packets

(NB: Ang sumusunod na paglalarawan ay nagpapahiwatig ng pagpapalagayang-loob sa protocol ng TCP na inilarawan sa RFC-793. Kung hindi ka pamilyar sa protocol, hindi rin magagamit ang paglalarawan o tcpdump sa iyo.)

Ang pangkalahatang format ng isang linya ng TCP protocol ay:

src> dst: flags data-seqno ack window urgent options

Src at iba pa ang pinagmulan at patutunguhan ng mga IP address at port. Ang mga flag ay may ilang kombinasyon ng S (SYN), F (FIN), P (PUSH) o R (RST) o isang `. ' (walang mga flag). Inilalarawan ng data-seqno ang bahagi ng puwang ng pagkakasunod-sunod na sakop ng data sa paketeng ito (tingnan ang halimbawa sa ibaba). Ang Ack ay numero ng pagkakasunud-sunod ng susunod na data na inaasahan sa iba pang direksyon sa koneksyon na ito. Ang window ay ang bilang ng mga byte ng pagtanggap ng buffer space na magagamit sa ibang direksyon sa koneksyon na ito. Ang Urg ay nagpapahiwatig na mayroong 'kagyat' na data sa packet. Ang mga pagpipilian ay mga pagpipilian sa tcp na nakapaloob sa mga braket ng anggulo (halimbawa, ).

Ang Src, atbp at ang mga flag ay laging naroroon. Ang iba pang mga patlang ay depende sa mga nilalaman ng tcp protocol header ng packet at ang output lamang kung naaangkop.

Narito ang pambungad na bahagi ng isang rlogin mula sa host rtsg upang mag-host ng csam .

rtsg.1023> csam.login: S 768512: 768512 (0) win 4096 csam.login> rtsg.1023: S 947648: 947648 (0) ack 768513 win 4096 rtsg.1023> csam. mag log in: . ack 1 win 4096 rtsg.1023> csam.login: P 1: 2 (1) ack 1 win 4096 csam.login> rtsg.1023:. ack 2 win 4096 rtsg.1023> csam.login: P 2:21 (19) ack 1 win 4096 csam.login> rtsg.1023: P 1: 2 (1) ack 21 win 4077 csam.login> rtsg.1023: P 2: 3 (1) ack 21 win 4077 urg 1 csam.login> rtsg.1023: P 3: 4 (1) ack 21 win 4077 urg 1

Sinasabi ng unang linya na ang tcp port 1023 sa rtsg ay nagpadala ng isang packet sa port login sa csam. Ipinapahiwatig ng S na ang bandila ng SYN ay naitakda. Ang numero ng packet sequence ay 768512 at wala itong data. (Ang notasyon ay `unang: huling (nbytes) 'na nangangahulugang ang mga numero ng pagkakasunud-sunod unang hanggang sa hindi kabilang ang huling kung saan ay nbytes bytes ng data ng gumagamit.) Walang piggy-back na ack, ang magagamit na window ng pagtanggap ay 4096 bytes at nagkaroon ng opsyon na max-segment-size na humihiling ng isang mss ng 1024 bytes.

Ang mga sagot ni Csam ay may katulad na packet maliban kasama dito ang isang piggy-back ack para sa rtsg's SYN. Rtsg then acks csam's SYN. Ang `. ' nangangahulugan na walang mga flag ang naitakda. Ang packet ay walang data kaya walang data sequence number. Tandaan na ang numero ng sequence ng ack ay isang maliit na integer (1). Sa unang pagkakataon tcpdump nakikita ng isang tcp `pag-uusap ', ito prints ang numero ng pagkakasunod-sunod mula sa packet. Sa kasunod na mga packet ng pag-uusap, ang pagkakaiba sa pagitan ng numero ng pagkakasunod-sunod ng packet at ang naunang pagkakasunud-sunod na numero ay naka-print. Nangangahulugan ito na ang mga numero ng pagkakasunud-sunod pagkatapos ng unang maaaring ipakahulugan bilang kamag-anak na mga posisyon ng byte sa stream ng data ng pag-uusap (na may unang byte ng bawat direksyon ng pagiging `1 '). Ang `-S 'ay sasapastahin ang tampok na ito, na nagiging sanhi ng orihinal na mga numero ng pagkakasunod-sunod upang maging output.

Sa ika-6 na linya, ang rtsg ay nagpapadala ng csam 19 bytes ng data (bytes 2 hanggang 20 sa rtsg -> csam bahagi ng pag-uusap). Ang PUSH flag ay naka-set sa packet. Sa ika-7 na linya, sinasabi ng csam na natanggap nito ang data na ipinadala ng rtsg hanggang ngunit hindi kasama ang byte 21. Karamihan sa data na ito ay tila nakaupo sa socket buffer dahil ang window ng receiver ng csam ay nakakuha ng 19 bytes na mas maliit. Nagpapadala din si Csam ng isang byte ng data sa rtsg sa paketeng ito. Sa ika-8 at ika-9 na linya, ang csam ay nagpapadala ng dalawang byte ng kagyat na, nagtulak ng data sa rtsg.

Kung ang snapshot ay maliit na sapat na tcpdump ay hindi makuha ang buong TCP header, ito kahulugan ng mas maraming mga header ng maaari at pagkatapos ay ang mga ulat `` [| tcp ] '' upang ipahiwatig na ang natitira ay hindi maipaliwanag. Kung ang header ay naglalaman ng isang opsyon na bogus (isa na may haba na masyadong maliit o lampas sa dulo ng header), ang tcpdump ay nag- ulat na ito bilang `` [ bad opt ] '' at hindi binibigyang kahulugan ang anumang karagdagang mga opsyon (dahil imposibleng sabihin kung saan nagsisimula sila). Kung ang haba ng header ay nagpapahiwatig ng mga opsyon ay naroroon ngunit ang haba ng IP datagram ay hindi sapat na mahaba para sa mga opsyon upang aktwal na naroon, tcpdump ay nag- uulat na ito bilang `` [ bad hdr length ] ''.

Pagkuha ng mga packet ng TCP na may partikular na mga kumbinasyon ng bandila (SYN-ACK, URG-ACK, atbp.)

May 8 bits sa seksyon ng control bits ng TCP header:

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

Ipagpalagay natin na gusto nating manood ng mga packet na ginamit sa pagtatatag ng koneksyon sa TCP. Alalahanin na ang TCP ay gumagamit ng isang 3-way handshake protocol kapag ito ay nagsimula ng isang bagong koneksyon; ang pagkakasunud-sunod ng koneksyon tungkol sa TCP control bits ay

1) Ang tumatawag ay nagpapadala ng SYN

2) Ang tumatanggap ay tumutugon sa SYN, ACK

3) Ang tumatawag ay nagpapadala ng ACK

Ngayon kami ay interesado sa pagkuha ng mga packet na may lamang ang SYN bit set (Hakbang 1). Tandaan na hindi namin gusto ang mga packet mula sa hakbang 2 (SYN-ACK), isang simpleng paunang SYN. Ang kailangan natin ay isang wastong pagpapahiwatig ng filter para sa tcpdump .

Alalahanin ang istruktura ng isang header ng TCP nang walang mga pagpipilian:

0 15 31 ----------------------------------------------- ------------------ | source port | destination port | -------------------------------------------------- --------------- | numero ng pagkakasunod-sunod | -------------------------------------------------- --------------- | numero ng pagkilala | -------------------------------------------------- --------------- | HL | rsvd | C | E | U | A | P | R | S | F | laki ng window | -------------------------------------------------- --------------- | TCP checksum | kagyat na pointer | -------------------------------------------------- ---------------

Ang isang TCP header ay karaniwang may 20 octets ng data, maliban kung ang mga pagpipilian ay naroroon. Ang unang linya ng graph ay naglalaman ng octets 0-3, ang pangalawang linya ay nagpapakita ng octets 4 - 7 atbp.

Simula sa bilang na may 0, ang may-katuturang TCP control bits ay nakapaloob sa octet 13:

0 7 | 15 | 23 | 31 ---------------- | --------------- | --------------- | ---------------- | HL | rsvd | C | E | U | A | P | R | S | F | laki ng window | ---------------- | --------------- | --------------- | - --------------- | | Ika-13 na octet | | |

Magkita tayo nang mas maaga sa octet no. 13:

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

Ang mga ito ay ang mga TCP control bits na interesado kami. Binilang namin ang mga bit sa oktet na ito mula sa 0 hanggang 7, pakanan papunta sa kaliwa, kaya ang PSH bit ay bit number 3, habang ang URG bit ay numero 5.

Tandaan na gusto naming makuha ang mga packet na may lamang SYN set. Tingnan natin kung ano ang mangyayari sa Oktubre 13 kung ang isang TCP datagram ay dumating sa hanay ng SYN sa header nito:

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

Sa pagtingin sa seksyon ng control bits nakita namin na lamang ang bit number 1 (SYN) ay nakatakda.

Ipagpalagay na ang oktet number 13 ay isang 8-bit unsigned integer sa byte ng order ng network, ang binary value ng oktet na ito ay

00000010

at ang kanyang representasyon ng decimal ay

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

Kami ay halos tapos na, dahil ngayon alam namin na kung lamang SYN ay nakatakda, ang halaga ng ika-13 na octet sa header ng TCP, kapag binigyang-kahulugan bilang isang 8-bit unsigned na integer sa byte ng order ng network, ay dapat eksaktong 2.

Ang relasyon na ito ay maaaring ipahayag bilang

tcp [13] == 2

Maaari naming gamitin ang expression na ito bilang ang filter para sa tcpdump upang manood ng mga packet na may lamang SYN set:

tcpdump -i xl0 tcp [13] == 2

Ang pahayag ay nagsasabi "hayaan ang ika-13 na octet ng isang TCP datagram ay may decimal na halaga 2", na eksakto kung ano ang gusto natin.

Ngayon, ipagpalagay natin na kailangan namin upang makuha ang mga pack ng SYN, ngunit wala kaming pakialam kung ang ACK o anumang iba pang mga bit control TCP ay nakatakda sa parehong oras. Tingnan natin kung ano ang mangyayari sa Oktubre 13 kapag ang TCP datagram na may SYN-ACK set ay dumating:

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

Ngayon bits 1 at 4 ay nakatakda sa ika-13 na octet. Ang binary na halaga ng octet 13 ay


00010010

na isinasalin sa decimal

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

Ngayon hindi namin makagamit lamang ang 'tcp [13] == 18' sa tcpdump na expression ng filter, dahil piliin lamang ang mga packet na may SYN-ACK set, ngunit hindi ang mga may lamang SYN set. Tandaan na wala kaming pakialam kung ang ACK o anumang iba pang control bit ay nakatakda hangga't ang SYN ay nakatakda.

Upang makamit ang aming layunin, kailangan naming lohikal AT ang binary na halaga ng octet 13 na may ilang iba pang mga halaga upang mapanatili ang SYN bit. Alam namin na gusto naming itakda ang SYN sa anumang kaso, kaya lohikal kami AT ang halaga sa ika-13 na octet na may binary na halaga ng isang SYN:

00010010 SYN-ACK 00000010 SYN AT 00000010 (gusto namin SYN) AT 00000010 (gusto namin SYN) -------- -------- = 00000010 = 00000010

Nakita namin na ang ganitong operasyon AT ay naghahatid ng parehong resulta anuman ang ACK o iba pang bitbit na kontrol ng TCP. Ang pagkatawan ng decimal ng AND halaga pati na rin ang resulta ng operasyong ito ay 2 (binary 00000010), kaya alam namin na para sa mga packet na may SYN itakda ang sumusunod na kaugnayan ay dapat na totoo:

((halaga ng octet 13) AT (2)) == (2)

Ito ang nagtuturo sa amin sa tcpdump na expression ng filter

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

Tandaan na dapat mong gamitin ang mga solong quotes o isang backslash sa expression upang itago ang AT ('&') espesyal na character mula sa shell.

UDP Packets

Inilalarawan ang format ng UDP ng paketeng ito:

actinide.who> broadcast.who: udp 84

Sinasabi nito na ang port na sa host actinide ay nagpadala ng isang udp datagram sa port na sa host broadcast , ang address sa Internet broadcast. Ang packet ay naglalaman ng 84 bytes ng data ng user.

Ang ilang mga serbisyo ng UDP ay kinikilala (mula sa pinagmulan o destination port number) at ang impormasyong mas mataas na antas ng protocol na nakalimbag. Sa partikular, ang mga kahilingan sa serbisyo ng Domain Name (RFC-1034/1035) at Sun RPC na tawag (RFC-1050) sa NFS.

Mga Kahilingan sa Pangalan ng Server ng UDP

(NB: Ang sumusunod na paglalarawan ay ipinapalagay na pamilyar sa protocol ng Domain Service na inilarawan sa RFC-1035. Kung hindi ka pamilyar sa protocol, ang sumusunod na paglalarawan ay lilitaw na nakasulat sa greek.)

Ang mga kahilingan sa server ng pangalan ay naka-format bilang

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

Ang host h2opolo ay nagtanong sa domain server sa helios para sa isang rekord ng address (qtype = A) na nauugnay sa pangalang ucbvax.berkeley.edu. Ang tanong na id ay `3 '. Ipinapahiwatig ng `+ 'ang recursion na nais na bandila. Ang haba ng query ay 37 bytes, hindi kasama ang UDP at IP header ng protocol. Ang operasyon ng query ay ang normal na isa, Query , kaya ang op field ay tinanggal. Kung ang op ay anumang bagay, ito ay nakalimbag sa pagitan ng `3 'at ang` +'. Katulad nito, ang qclass ay ang normal, C_IN , at tinanggal. Anumang iba pang mga qclass ay naipinta kaagad pagkatapos ng `A '.

Ang ilang mga anomalya ay nasuri at maaaring magresulta sa mga karagdagang field na nakapaloob sa mga parisukat na bracket: Kung ang isang query ay naglalaman ng isang sagot, ang mga talaan ng awtoridad o seksyon ng karagdagang mga rekord, ancount , nscount , o arcount ay nakalimbag bilang `[ n a] ',` [ n n ] 'o `[ n au]' kung saan n ang naaangkop na bilang. Kung ang alinman sa mga bit na tugon ay nakatakda (AA, RA o rcode) o alinman sa mga 'dapat ay zero' na mga bits ay nakatakda sa pamamagitan ng dalawa at tatlong, `[b2 & 3 = x ] 'ay nakalimbag, kung saan ang x ay ang hex value ng header bytes dalawa at tatlo.

Mga Tugon ng Mga Pangalan ng UDP

Ang mga tugon ng server ng pangalan ay naka-format bilang

src> dst: id sa rcode flags a / n / au type class data (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)

Sa unang halimbawa, ang mga helios ay tumugon sa query id 3 mula sa h2opolo na may 3 mga tala ng sagot, 3 mga tala ng server ng pangalan at 7 karagdagang mga talaan. Ang unang tala ng sagot ay type A (address) at ang data nito ay internet address 128.32.137.3. Ang kabuuang sukat ng tugon ay 273 bytes, hindi kasama ang UDP at mga header ng IP. Ang op (Query) at sagot code (NoError) ay tinanggal, gaya ng klase (C_IN) ng A record.

Sa ikalawang halimbawa, tumugon ang helios sa query 2 sa isang tugon na code ng di-umiiral na domain (NXDomain) na walang mga sagot, isang pangalan ng server at walang mga rekord ng awtoridad. Ang `* 'ay nagpapahiwatig na ang hanay ng makapangyarihan na sagot ay nakatakda. Dahil walang mga sagot, walang uri, klase o data ang naipinta.

Ang iba pang mga character ng bandila na maaaring lumitaw ay `- '(magagamit ang recursion, RA, hindi nakatakda) at` |' (pinutol mensahe, TC, itakda). Kung ang seksyon ng `tanong 'ay hindi naglalaman ng eksaktong isang entry,` [ n q]' ay nakalimbag.

Tandaan na ang mga kahilingan sa pangalan ng server at mga tugon ay malaki at ang default na snaplen ng 68 bytes ay hindi maaaring makuha ng sapat na packet upang i-print. Gamitin ang -s flag upang madagdagan ang snaplen kung kailangan mo upang sineseryoso imbestigahan ang pangalan ng trapiko ng server. ` -s 128 'ay mahusay para sa akin.

Pagkabasa ng SMB / CIFS

Kasama na ngayon ng tcpdump ang medyo malawak na SMB / CIFS / NBT decoding para sa data sa UDP / 137, UDP / 138 at TCP / 139. Ang ilang mga primitive decoding ng data ng IPX at NetBEUI SMB ay tapos na rin.

Sa pamamagitan ng default isang medyo minimal decode ay tapos na, na may mas detalyadong decode tapos na kung -v ay ginagamit. Mag-babala na may-isang solong SMB packet ay maaaring tumagal ng isang pahina o higit pa, kaya gamitin lamang -v kung gusto mo ang lahat ng mga detalye ng madugo.

Kung ikaw ay nagde-decode ng SMB session na naglalaman ng mga string ng unicode pagkatapos ay maaari mong hilingin na itakda ang variable na kapaligiran USE_UNICODE sa 1. Ang isang patch upang awtomatikong makita ang unicode srings ay malugod na tatanggapin.

Para sa impormasyon sa mga format ng SMB packet at kung ano ang ibig sabihin ng lahat ng mga patlang ng te tingnan www.cifs.org o ang pub / samba / specs / direktoryo sa iyong mga paboritong samba.org site mirror. Ang SMB patch ay isinulat ni Andrew Tridgell (tridge@samba.org).

Mga Kahilingan at Tugon ng NFS

Ang Sun NFS (Network File System) na mga kahilingan at mga tugon ay naka-print bilang:

src.xid> dst.nfs: len op args src.nfs> dst.xid: reply stat len ​​op results sushi.6709> wrl.nfs: 112 readlink fh 21,24 / 10.73165 wrl.nfs> sushi.6709: reply ok 40 readlink "../var" sushi.201b> wrl.nfs: 144 lookup fh 9,74 / 4096.6878 "xcolors" wrl.nfs> sushi.201b: reply ok 128 lookup fh 9,74 / 4134.3150

Sa unang linya, ang host sushi ay nagpapadala ng isang transaksyon na may id 6709 upang wrl (tandaan na ang numero ng pagsunod sa src host ay isang transaksyon id, hindi ang source port). Ang kahilingan ay 112 bytes, hindi kasama ang UDP at mga header ng IP. Ang operasyon ay isang readlink (read symbolic link) sa file handle ( fh ) 21,24 / 10.731657119. (Kung ang isa ay masuwerteng, gaya ng sa kasong ito, ang file handle ay maaaring ipakahulugan bilang isang pangunahing, menor de edad na pares ng aparato, na sinusundan ng inode number at number generation.) Wrl ay sumagot ng `ok 'sa mga nilalaman ng link.

Sa pangatlong linya, ang sushi ay humihingi ng wrl upang makita ang pangalan na ` xcolors 'sa direktoryo na file 9,74 / 4096.6878. Tandaan na ang data na naka-print ay depende sa uri ng operasyon. Ang format ay inilaan upang maging paliwanag sa sarili kung basahin kasabay ng protocol ng NFS protocol.

Kung ang flag na -v (masalita) ay ibinigay, ang karagdagang impormasyon ay naka-print. Halimbawa:

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

(-v ay naka-print din ang IP header TTL, ID, haba, at mga patlang ng fragmentation, na tinanggal mula sa halimbawang ito.) Sa unang linya, ang sushi ay humihiling ng wrl na basahin 8192 bytes mula sa file 21,11 / 12,195, sa byte offset 24576. Wrl ay sumagot ng `ok '; ang packet na ipinapakita sa ikalawang linya ay ang unang fragment ng tugon, at samakatuwid ay 1472 bytes ang haba (ang iba pang mga byte ay susundan sa kasunod na mga fragment, ngunit ang mga fragment na ito ay walang NFS o kahit na mga header ng UDP at maaaring hindi ma-print, depende sa filter na expression na ginamit). Dahil ang -v flag ay ibinigay, ang ilan sa mga katangian ng file (na ibalik bilang karagdagan sa data ng file) ay nakalimbag: ang uri ng file (`` REG '', para sa regular na file), ang mode ng file (sa octal), ang uid at gid, at laki ng file.

Kung ang -v flag ay binibigyan ng higit sa isang beses, mas maraming mga detalye ang naka-print.

Tandaan na ang mga kahilingan ng NFS ay napakalaking at marami sa mga detalye ay hindi mai-print maliban kung ang snaplen ay nadagdagan. Subukang gamitin ang ` -s 192 'upang panoorin ang trapiko ng NFS.

Ang mga packet reply NFS ay hindi malinaw na nakikilala ang operasyon ng RPC. Sa halip, sinusubaybayan ng tcpdump ang mga kahilingan ng `` kamakailang '', at tumutugma sa mga ito sa mga tugon gamit ang ID ng transaksyon. Kung ang isang sagot ay hindi malapit na sundin ang kaukulang kahilingan, maaaring hindi ito ma-parse.

AFS Requests and Replies

Ang mga paghahatid at mga tugon ng Transarc AFS (Andrew File System) ay nakalimbag bilang:

src.sport> dst.dport: rx packet-type src.sport> dst.dport: rx packet-type service call call-name args src.sport> dst.dport: rx packet-type service reply call-name args elvis. 7001> pike.afsfs: rx data fs call rename old fid 536876964/1/1 ".newsrc.new" new fid 536876964/1/1 ".newsrc" pike.afsfs> elvis.7001: rx data fs reply rename

Sa unang linya, ang host elvis ay nagpapadala ng isang RX packet sa pike. Ito ay isang RX packet data sa serbisyo ng fs (fileserver), at ang simula ng RPC call. Ang RPC call ay isang pangalan, kasama ang lumang file ng direktoryo na id ng 536876964/1/1 at isang lumang filename ng `.newsrc.new ', at isang bagong direktoryo ng file id ng 536876964/1/1 at isang bagong filename ng`. newsrc '. Tumugon ang host pike sa isang tugon ng RPC sa tawag na rename (na kung saan ay matagumpay, dahil ito ay isang packet ng data at hindi isang naka-pack na pack).

Sa pangkalahatan, ang lahat ng AFS RPCs ay decoded ng hindi bababa sa pamamagitan ng RPC call name. Karamihan sa mga AFS RPC ay may hindi bababa sa ilan sa mga argumento na na-decoded (sa pangkalahatan ay ang mga argumento lamang na 'mga kagiliw-giliw', para sa ilang kahulugan ng kawili-wiling).

Ang format ay inilaan upang maging self-naglalarawan, ngunit ito ay malamang na hindi maging kapaki-pakinabang sa mga tao na hindi pamilyar sa mga workings ng AFS at RX.

Kung ang flag na -v (masalita) ay binibigyan ng dalawang beses, ang mga packet ng pagkilala at karagdagang impormasyong header ay nakalimbag, tulad ng RX call ID, numero ng tawag, numero ng pagkakasunud-sunod, serial number, at RX packet flags.

Kung ang flag na -v ay binibigyan nang dalawang beses, ang impormasyong nakalimbag, tulad ng RX call ID, serial number, at RX packet flags. Ang impormasyon sa pag-aayos ng MTU ay naka-print na rin mula sa RX ack packets.

Kung ang -v flag ay binibigyan ng tatlong beses, ang index ng seguridad at serbisyo id ay nakalimbag.

Ang mga error code ay naka-print para sa mga pack na nag-abort, maliban sa mga packet ng Ubik beacon (dahil ang mga packet na abort ay ginagamit upang magpahiwatig ng isang yes vote para sa protocol ng Ubik).

Tandaan na ang mga kahilingan ng AFS ay napakalaking at marami sa mga argumento ay hindi ipi-print maliban kung ang snaplen ay nadagdagan. Subukang gumamit ng ` -s 256 'upang mapanood ang trapiko ng AFS.

Ang mga packet na sagot ng AFS ay hindi malinaw na kilalanin ang operasyon ng RPC. Sa halip, sinusubaybayan ng tcpdump ang mga kahilingan ng `` kamakailang '', at tumutugma sa mga ito sa mga sagot gamit ang numero ng tawag at ID ng serbisyo. Kung ang isang sagot ay hindi malapit na sundin ang kaukulang kahilingan, maaaring hindi ito ma-parse.

KIP Appletalk (DDP sa UDP)

Ang mga packet ng Appletalk DDP na naka-encapsulated sa mga UDP datagrams ay in-encapsulated at dumped bilang mga packet ng DDP (ibig sabihin, ang lahat ng impormasyon ng UDP header ay tinapon). Ang file /etc/atalk.names ay ginagamit upang i-translate ang mga appletalk net at mga numero ng node sa mga pangalan. Ang mga linya sa file na ito ay may form

pangalan ng 1.254 ether 16.1 icsd-net 1.254.110 alas

Ang unang dalawang linya ay nagbibigay ng mga pangalan ng mga network ng appletalk. Ang ikatlong linya ay nagbibigay ng pangalan ng isang partikular na host (isang host ay nakikilala mula sa isang net sa pamamagitan ng ika-3 octet sa numero - isang net number ay dapat may dalawang octet at isang host number ay dapat may tatlong octet.) Ang numero at pangalan ay dapat na pinaghihiwalay sa pamamagitan ng whitespace (mga blangko o mga tab). Ang file na /etc/atalk.names ay maaaring maglaman ng mga blangkong linya o linya ng komento (mga linya na nagsisimula sa isang `# ').

Ang mga address ng Appletalk ay nakalimbag sa anyo:

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

(Kung ang mga /etc/atalk.names ay hindi umiiral o hindi naglalaman ng isang entry para sa ilang mga appletalk host / net number, ang mga address ay naka-print sa numerong form.) Sa unang halimbawa, ang NBP (DDP port 2) sa net 144.1 Ang node 209 ay nagpapadala sa anumang nakikinig sa port 220 ng net icsd node 112. Ang pangalawang linya ay pareho maliban kung ang buong pangalan ng source node ay kilala (`opisina '). Ang ikatlong linya ay isang ipadala mula sa port 235 sa net jssmag node 149 upang mag-broadcast sa icsd-net NBP port (tandaan na ang broadcast address (255) ay ipinahiwatig ng isang net name na walang numero ng host - sa dahilang ito ito ay isang magandang ideya upang panatilihing naiiba ang mga pangalan ng node at mga pangalan ng net sa /etc/atalk.names).

Ang NBP (pangalan ng umiiral na protocol) at ang ATP (Appletalk transaksyon protocol) ay may mga kahulugan ng kanilang mga nilalaman. Iba pang mga protocol lamang ang tambakan ng pangalan ng protocol (o numero kung walang pangalan ay nakarehistro para sa protocol) at laki ng packet.

Naka-pack na NBP ang mga format tulad ng sumusunod na mga halimbawa:

icsd-net.112.220> jssmag.2: nbp-lkup 190: "=: LaserWriter @ *" jssmag.209.2> icsd-net.112.220: nbp-reply 190: "RM1140: LaserWriter @ *" 250 techpit.2> icsd -net.112.220: nbp-reply 190: "techpit: LaserWriter @ *" 186

Ang unang linya ay isang kahilingan sa lookup ng pangalan para sa mga laserwriter na ipinadala ng net icsd host 112 at broadcast sa net jssmag. Ang nbp id para sa lookup ay 190. Ang ikalawang linya ay nagpapakita ng isang tugon para sa kahilingan na ito (tandaan na mayroon itong parehong id) mula sa host jssmag.209 na nagsasabing mayroon itong mapagkukunan ng litratista na may pangalang "RM1140" na nakarehistro sa port 250. Ang pangatlong Ang linya ay isa pang tugon sa parehong kahilingan na sinasabi ang host techpit ay may laserwriter na "techpit" na nakarehistro sa port 186.

Ang format ng packet ng ATP ay ipinakita sa pamamagitan ng sumusunod na halimbawa:

jssmag.209.165> helios.132: atp-req 12266 <0-7> 0xae030001 helios.132> jssmag.209.165: atp-resp 12266: 0 (512) 0xae040000 helios.132> jssmag.209.165: atp-resp 12266: 1 (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: resp 12266: 4 (512) 0xae040000 helios.132> jssmag.209.165: atp-resp 12266: 5 (512) 0xae040000 helios.132> jssmag.209.165: atp-resp 12266: 6 (512) 0xae040000 helios.132> jssmag. 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-rail 12266 <0-7> 0xae030001 jssmag.209.133> helios.132: atp-req * 12267 <0 -7> 0xae030002

Ang Jssmag.209 ay nagsisimula ng transaksyon id 12266 na may host helios sa pamamagitan ng paghiling ng hanggang sa 8 packet (ang `<0-7> '). Ang numero ng hex sa dulo ng linya ay ang halaga ng patlang ng 'userdata' sa kahilingan.

Tumugon ang Helios sa 8 512-byte na mga packet. Ang `: digit 'na sumusunod sa id ng transaksyon ay nagbibigay ng numero ng packet sequence sa transaksyon at ang bilang sa mga parens ay ang halaga ng data sa packet, hindi kasama ang header ng atp. Ang `* 'sa packet 7 ay nagpapahiwatig na ang EOM bit ay naitakda.

Jssmag.209 pagkatapos humiling na ang mga packet 3 & 5 ay muling ipapadala. Helios resends sa kanila pagkatapos jssmag.209 ilalabas ang transaksyon. Sa wakas, ang jssmag.209 ay nagsisimula sa susunod na kahilingan. Ang `* 'sa kahilingan ay nagpapahiwatig na ang XO (` eksaktong isang beses') ay hindi nakatakda.

IP Fragmentation

Ang mga fragmented Internet datagrams ay naka-print bilang

(frag id : size @ offset +) (frag id : size @ offset )

(Ang unang porma ay nagpapahiwatig na mayroong higit pang mga fragment. Ang pangalawang nagpapahiwatig na ito ang huling fragment.)

Id ang fragment id. Sukat ay ang laki ng fragment (sa bytes) hindi kasama ang IP header. Ang offset ay ang offset na fragment na ito (sa bytes) sa orihinal na datagram.

Ang impormasyon ng fragment ay output para sa bawat fragment. Ang unang fragment ay naglalaman ng mas mataas na antas ng header ng protocol at ang frag info ay naka-print pagkatapos ng impormasyon ng protocol. Ang mga fragment pagkatapos ng unang naglalaman ng walang mas mataas na antas ng header ng protocol at ang frag info ay naka-print pagkatapos ng source at destination address. Halimbawa, ito ay bahagi ng isang ftp mula sa arizona.edu hanggang lbl-rtsg.arpa sa isang koneksyon sa CSNET na hindi lilitaw upang pangasiwaan ang 576 byte datagrams:

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 win 2560

Mayroong ilang mga bagay na dapat tandaan dito: Una, ang mga address sa 2nd line ay hindi kasama ang mga numero ng port. Ito ay dahil ang impormasyon ng proteksyon ng TCP ay lahat sa unang fragment at wala kaming ideya kung ano ang mga numero ng port o sequence kapag nililimbag namin ang mga fragment sa ibang pagkakataon. Ikalawa, ang impormasyong tcp sequence sa unang linya ay nakalimbag na kung mayroong 308 bytes ng data ng gumagamit kapag, sa katunayan, mayroong 512 bytes (308 sa unang frag at 204 sa pangalawa). Kung naghahanap ka ng mga butas sa espasyo ng pagkakasunud-sunod o sinusubukan na tumugma sa mga acks sa mga packet, maaari itong lokohin ka.

Ang isang packet na may IP hindi fragment flag ay minarkahan ng isang trailing (DF) .

Timestamps

Bilang default, ang lahat ng mga linya ng output ay sinundan ng isang timestamp. Ang timestamp ay ang kasalukuyang oras ng orasan sa form

hh: mm: ss.frac

at tumpak ng orasan ng kernel. Ang timestamp ay sumasalamin sa oras na unang nakita ng kernel ang packet. Walang pagtatangka na i-account para sa oras lag sa pagitan ng kapag ang ethernet interface inalis ang packet mula sa wire at kapag ang kernel serbisiyo ang `bagong packet 'matakpan.

TINGNAN DIN

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

Mahalaga: Gamitin ang command ng tao ( % man ) upang makita kung paano ginagamit ang isang utos sa iyong partikular na computer.