Tcpdump - Linux Command - Unix команадсы

NAME

tcpdump - желісіндегі демпингтік трафик

Синопсис

tcpdump [ -adeflnNOpqRStuvxX ] [ -c саны ]

[ -C file_size ] [ -F файл ]

[ -i интерфейсі ] [ -m модулі ] [ -r файл ]

[ -s snaplen ] [ -T түрі ] [ -U пайдаланушысы ] [ -w файл ]

[ -Алго : құпия ] [ өрнек ]

СИПАТТАМАСЫ

Tcpdump буманың тақырыбын логикалық өрнекке сәйкес келетін желі интерфейсіне басып шығарады. Сондай-ақ, ол -w жалауымен іске қосылуы мүмкін, ол пакеттік деректерді кейінгі талдау үшін файлға сақтайды және / немесе -r туымен, оны пакеттерді оқудан гөрі сақталған пакеттік файлдан оқуға әкеледі желі интерфейсінен. Барлық жағдайларда тек өрнектерге сәйкес келетін пакеттер tcpdump арқылы өңделеді.

Tcpdump , -c жалауымен жұмыс істемесе , SIGINT сигналы арқылы үзілгенге дейін (мысалы, үзу таңбасын, әдетте басқару-C) немесе SIGTERM сигналын (әдетте, өлтіру (1) командасы); -c flagімен жұмыс жасаса, ол SIGINT немесе SIGTERM сигналы үзілгенге дейін немесе пакеттердің белгілі бір саны өңделмейінше пакеттерді жинайды.

Tcpdump пакеттерді басып шығаруды аяқтағанда, ол келесі есептерді ұсынады:

'' сүзгіден алынған '' пакеттер '(бұл мағынасы tcpdump іске қосылып жатқан OS-ға байланысты және, мүмкін, OS конфигурацияланған) - пәрмен жолында сүзгі көрсетілген болса, кейбір операциялық жүйелерде пакеттерге қарамастан, олар сүзгіштің өрнегімен сәйкестендірілгенін және басқа операциялық жүйелерде тек сүзгіштің өрнекпен сәйкес келетін және tcpdump арқылы өңделген пакеттерді санайды);

'' ядродан түсірілген пакеттер '' (буферлік кеңістіктің болмауы себебінен жойылған пакеттердің саны, операциялық жүйе жұмыс істейтін ОЖ-дегі пакеттік түсіру механизмі арқылы, егер ОЖ бұл ақпаратты қолданбаларға хабарлайды; егер ол жоқ болса, ол 0 деп есептеледі).

SIGINFO сигналын қолдайтын платформаларда, мысалы, көптеген BSDs, ол SIGINFO сигналы қабылданған кезде (мысалы, «` status »таңбасын теріп, әдетте control-T) генерацияланған сандарды есептейді және пакеттерді .

Желі интерфейсінен пакеттерді оқу сізге арнайы артықшылықтарыңыз болуын талап етуі мүмкін:

SunOS 3.x немесе 4.x астында NIT немесе BPF:

/ Dev / nit немесе / dev / bpf * файлына оқуға рұқсатыңыз болуы керек.

Solaris астында DLPI:

Сіз желілік жалған құрылғыға оқуға / жазуға рұқсатыңыз керек, мысалы, / dev / le . Кем дегенде, Solaris кейбір нұсқалары туралы, бұл tcpdump- ті жарамсыз режимде ұстауға мүмкіндік бермейді; Solaris бағдарламасының сол нұсқаларында сіз түбірлік болуыңыз керек, немесе tcpdump түбіртекті орнатпау керек, ол кездейсоқ режимде жазылуыңыз керек. Айта кету керек, көптеген (мүмкін) барлық интерфейстерде, егер сіз басқа режимде басып алмасаңыз, шығыс бумақтарды көре алмайсыз, сондықтан арнайы режимде жасалмаған түсіру өте пайдалы болмауы мүмкін.

DLPI-мен HP-UX астында:

Root немесе tcpdump түбірін орнату үшін setuid болуы керек.

IRIX астында snoop:

Root немесе tcpdump түбірін орнату үшін setuid болуы керек.

Linux астында:

Root немесе tcpdump түбірін орнату үшін setuid болуы керек.

Ultrix және Digital UNIX / Tru64 астында UNIX:

Кез келген пайдаланушы tcpdump арқылы желілік трафикті қамтуы мүмкін. Дегенмен, супер-пайдаланушы pfconfig (8) арқылы интерфейсінде привилегивті режимді операцияларды іске қоспаған және ешбір пайдаланушы (тіпті супер қолданушы да болмаса), интерфейстегі ерекше режимде ешбір пайдаланушы (тіпті супер-пайдаланушы) ), егер super-пайдаланушы бұл интерфейсте pfconfig арқылы көшіруге арналған барлық режимді операцияларды қосқан болса, интерфейсте машина қабылдайтын немесе жіберетін біржолақты трафикті басып шығара алады , сондықтан интерфейсте пайдалы пакет түсірілімі, не болмаса жарамсыз режим немесе көшірме - Бұл режимде жұмыс режимін немесе екі жұмыс режимін қосуға болады.

BSD астында:

/ Dev / bpf * файлына оқуға рұқсатыңыз болуы керек.

Сақталған пакет файлын оқу арнайы артықшылықтарды қажет етпейді.

ОПЦИЯЛАР

-a

Желіні және адрестерді аттарға ауыстыру әрекеті.

-c

Есептеу пакеттерін алғаннан кейін шығу.

-C

Шығын пакетті сақтау файлына жазбас бұрын , file_size файлынан азырақ екенін тексеріңіз және егер болса, ағымдағы savefile файлын жабыңыз және жаңасын ашыңыз. Savefiles бірінші savefile кейін -w жалаушасымен көрсетілген атаумен, одан кейінгі саннан 2-ден бастап және жоғары қарай жалғастырады. File_size бөлімшелері миллиондаған байттар (1,000,000 байт, 1,048,576 байт емес).

-d

Құрастырылған пакетті сәйкестендіру кодын адамның оқылатын түрінде стандартты шығыс пен тоқтауға қалдырыңыз.

C бағдарламасының фрагменті ретінде пакетті сәйкестендіру кодын босатыңыз.

-ddd

Пакеттік сәйкестендіру кодын ондық сандар ретінде бөлу (алдындағы сан).

-e

Әрбір төсеу жолында сілтеме деңгейі тақырыбын басып шығарыңыз.

-E

Algo пайдаланыңыз : IPsec ESP пакеттерін шифрлау үшін құпия . Алгоритмдер des-cbc , 3des-cbc , blowfish-cbc , rc3-cbc , cast128-cbc немесе ешкім болмауы мүмкін . Депкі - des-cbc . Пакеттерді шифрлау мүмкіндігі, егер tcpdump бағдарламасы криптографиямен қосылған болса, бар болады. ESC құпия кілті үшін ascii мәтінін құпиялаңыз. Осы сәтте еркін екілік мәнді қабылдай алмаймыз. Опция RFC1827 ESP емес, RFC2406 ESP деп болжайды. Бұл опция тек қана отладка мақсаттары үшін ғана қолданылады және осы опцияны шынымен «жасырын» кілтпен пайдалану ұнжырғамыз түседі. IPsec құпия кілтін пәрмен жолына ұсыну арқылы сіз басқаларға көрінетін етіп, ps (1) арқылы және басқа жағдайларда.

-f

«Шетелдік» интернет-мекенжайларын символдық емес, сан жағынан басып шығару (бұл опция Sun's yp-серверінде елеулі мидың зақымдануына жол береді, әдетте ол жергілікті емес интернет-нөмірлерді аударады).

-F

Файлды сүзгі өрнегі үшін енгізу ретінде пайдаланыңыз. Пәрмен жолында берілген қосымша өрнекті елемейді.

-i

Интерфейсті тыңдау. Егер анықталмаған болса, tcpdump ең төмен нөмірленген, теңшелген жоғары интерфейс үшін жүйелік интерфейстер тізімін іздейді (айналдыруды қоспағанда). Алғашқы матчты таңдау арқылы байланыстар бұзылады.

2.2 немесе одан кейінгі ядролардағы Linux жүйесінде барлық интерфейстерден пакеттерді алу үшін «кез келген» интерфейс аргументі пайдаланылуы мүмкін. «Кез-келген» құрылғыда түсіріп алудың ерекше режимде жасалмайтынын ескеріңіз.

-l

Stdout жолын буферге қойыңыз. Сіз оны түсіріп жатқанда деректерді көргіңіз келсе пайдалы. Мысалы,
`` tcpdump -l | tee dat '' немесе 'tcpdump -l> dat & tail -f dat' 'дегенді таңдаңыз.

SMI MIB модулінің анықтамаларын файлдық модульден жүктеңіз. Бұл опция бірнеше MIB модульдерін tcpdump ішіне жүктеу үшін бірнеше рет пайдаланылуы мүмкін.

Хост мекенжайларын атауларға түрлендірмеңіз. Бұл DNS іздеуін болдырмау үшін пайдаланылуы мүмкін.

-нн

Протоколды және порт нөмірін және т.б. аттарға ауыстырмаңыз.

-N

Хост аттарының домен атауын білуін басып шығармаңыз. Мысалы, егер сіз осы жалаушаны берсеңіз, онда tcpdump «nic.ddn.mil» орнына `` nic '' дегенді басып шығарады.

-O

Пакетті сәйкестендіру кодын жақсартқышты іске қоспаңыз. Бұл оптимизатордағы қатені күткеніңізде ғана пайдалы.

-p

Интерфейсті кедергісіз режимге қоймаңыз . Назар аударыңыз, интерфейс өзгеше себеп болуы мүмкін; демек, «-p» эфир хостына (local-hw-addr) немесе эфирге эфирге арналған аббревиатура ретінде қолданыла алмайды.

-q

Жылдам (тыныш) шығу. Шығу желілері қысқа болғандықтан, хаттама туралы ақпаратты аз басып шығарыңыз.

ESP / AH пакеттерін ескі ерекшеліктерге (RFC1825 - RFC1829) негізделген деп есептеңіз. Көрсетілсе, tcpdump қайта ойнатуды болдырмау өрісін басып шығармайды. ESP / AH спецификациясында ешқандай протокол нұсқасы өрісі болмағандықтан, tcpdump ESP / AH хаттамасының нұсқасын шығара алмайды.

Файлдан пакеттерді оқыңыз (ол -w опциясымен жасалған). Стандартты енгізу - егер файл `` - '' болса қолданылады.

TCP реттік нөмірлерінің орнына абсолютті басып шығару.

Snarf әдепкі бойынша 68 пакетінен (SunOS-дың NIT- імен , ең аз дегенде 96-нан) деректердің байттарымен байтылған . 68 байт IP, ICMP, TCP және UDP үшін жеткілікті, бірақ хаттама туралы ақпаратты атау сервері мен NFS пакеттерінен қысқартуы мүмкін (төменде қараңыз). Шектелген суреттің себебінен қысқартылған пакеттер'` [| прото ] ', онда прото - бұл қиылысу орын алған хаттама деңгейінің атауы. Үлкен кескіндерді алу екеуі де пакеттерді өңдеуге жұмсалатын уақытты арттырады және пакеттік буферизацияның мөлшерін азайтады. Бұл пакеттердің жоғалуына әкелуі мүмкін. Қызықтыратын хаттамалық ақпаратты түсіретін ең кішкентай нөмірге кескінді шектеуіңіз керек. 0 -ге орнатылса , барлық бумаларды ұстау үшін қажетті ұзақтығын қолданыңыз.

Көрсетілген түрге түсіндірілу үшін « өрнек » арқылы таңдалған пакеттерді мәжбүрлеңіз. Қазіргі уақытта белгілі түрлері cnfp (Cisco NetFlow хаттамасы), rpc (Remote Procedure Call), rtp (Real-Time Applications протоколы), rtcp (Real-Time Applications басқару протоколы), snmp (Simple Network Management Protocol), vat (Visual Audio Tool ) және wb (White Board таратылған).

-t

Әрбір ағызу жолындағы уақыт белгісін басып шығармаңыз .

Әрбір ағызу сызығында пішімделмеген уақыт белгісін басып шығарыңыз.

Пайдаланушы және топтық идентификаторға пайдаланушының негізгі тобына пайдаланушы идентификаторын түбірлік артықшылықтар береді және өзгертеді.

Ескерту! Red Hat Linux автоматты түрде пайдаланушыдан артықшылығын төмендетеді, егер ештеңе көрсетілмесе.

-ttt

Әрбір ағызу жолындағы ағымдық және алдыңғы жол арасындағы delta (микро-секундта) басып шығарыңыз.

-tttt

Уақыт белгісін әдепкі пішімде әрбір төгетін сызықтағы күні бойынша басып шығарыңыз.

-u

Кодталған NFS тұтқаларын басып шығару.

-v

(Біраздан көп) нақты нәтиже. Мысалы, IP пакетінде өмір сүру уақыты, сәйкестендіру, жалпы ұзындық және опциялар басып шығарылады. Сондай-ақ, IP және ICMP тақырыбы бақылау сомасын тексеру сияқты қосымша пакеттік тұтастық тексерулеріне мүмкіндік береді.

Тіпті неғұрлым нақты шығу. Мысалы, қосымша өрістер NFS жауап пакеттерінен басып шығарылады және SMB пакеттері толығымен декодталған.

-вв

Тіпті неғұрлым нақты шығу. Мысалы, telnet SB ... SE опциялары толығымен басып шығарылады. -X telnet опцияларымен бірге, hex-да басылады.

-w

Шикізат пакеттерін оларды талдауға және басып шығаруға емес, файлға жазыңыз. Олар кейінірек -r опциясымен басылуы мүмкін. Егер файл `` `` болса стандартты шығыс пайдаланылады.

-x

Әр пакетті (оның сілтеме деңгейінің тақырыбын минус) алты рет басып шығарыңыз. Барлық бума немесе қысылған байттар кішірек болады. Бұл сілтеме қабатының бүкіл пакеті екенін ескеріңіз, сондықтан байланыс қабаттары үшін (мысалы, Ethernet), жоғары деңгейлі пакет қажетті толтырғышқа қарағанда қысқа болғанда, қосымша байттар да басып шығарылады.

-X

Hex басып шығару кезінде, ascii де басып шығарыңыз. Осылайша, егер -x белгіленсе, пакет hex / ascii түрінде басылады. Бұл жаңа хаттамаларды талдау үшін өте ыңғайлы. Тіпті егер -x- де орнатылмаса, кейбір пакеттердің кейбір бөліктері hex / ascii-де басылуы мүмкін.

өрнек

қай пакеттер тастанды таңдайды. Егер ешқандай өрнек берілмесе, желідегі барлық пакеттер босатылады. Әйтпесе, 'true' өрнегі үшін ғана пакеттер босатылады.

Өрнек бір немесе бірнеше примитивтерден тұрады . Примитивтер әдетте бір немесе бірнеше іріктеуіштерден бұрынғы id (аты немесе нөмірі) тұрады. Сұрыптаушының үш түрлі түрі бар:

түрі

іріктеушылар идентификацияланатын атаудың немесе нөмірдің қандай түрі екенін айтады. Мүмкін түрлері - хост , желі және порт . Мысалы, «host foo», «net 128.3», «port 20». Егер қандай да бір жіктегіш жоқ болса, хост қабылданады.

dir

жіктеуіштер белгілі бір тасымалдау бағытын және / немесе идентификаторды анықтайды . Мүмкін бағыттар src , dst , src немесе dst және src және dst . Мысалы, 'src foo', `dst net 128.3 ',` src немесе dst port ftp-data'. Егер дирекцияның біліктілігі болмаса, src немесе dst қабылданады. Нөлдік сілтеме қабаттары үшін (яғни, слип сияқты нүктелік хаттамаларға нүкте) кіретін және шығатын біліктемелер қажетті бағытты анықтау үшін пайдаланылуы мүмкін.

прото

іріктеу матчты белгілі бір хаттамаға шектейді. Мүмкін протондар: эфир , fddi , tr , ip , ip6 , arp , rarp , decnet , tcp және udp . Мысалы, 'eher src foo', `arp net 128.3 ',` tcp port 21'. Егер прото-іріктеуіш жоқ болса, онда барлық типтік хаттамалар типке сәйкес келеді. Мысалы, 'src foo' білдіреді (ip немесе arp немесе rarp) src foo (соңғы қоспағанда, заңдық синтаксисі), 'таза бар' білдіреді '(ip немесе arp немесе rarp) таза бар' және ' `(tcp немесе udp) порты 53 '.

[`fddi '- бұл эфирге арналған бүркеншік; талдаушы оларды '' көрсетілген желі интерфейсінде қолданылатын деректер байланысының деңгейі 'дегенді білдіреді.' 'FDDI тақырыптары Ethernet-ға ұқсас бастапқы және мақсатты мекен-жайларды қамтиды және Ethernet-ға ұқсас пакеттер түрлерін қамтиды, сондықтан осы FDDI өрістерінде сүзуге болады ұқсас Ethernet өрістерінде сияқты. FDDI тақырыптары басқа өрістерді де қамтиды, бірақ оларды сүзгі өрнегінде анық деп айтуға болмайды.

Сол сияқты, 'tr' - эфирге арналған бүркеншік; FDDI тақырыптары туралы алдыңғы параграфтың мәліметтері Token Ring тақырыптарына да қолданылады.]

Жоғарыда айтылғандардан басқа үлгіге сай келмейтін кейбір «қарапайым» кілт сөздер бар: шлюз , таратылым , аз , үлкен және арифметикалық өрнектер. Осының бәрі төменде сипатталған.

Күрделі сүзгі өрнектері сөздерді қолданып, немесе примитивтерді біріктірмеу арқылы жасалады. Мысалы, 'host foo және ftp фрагменті емес және ftp-data порты емес.' Теруді сақтау үшін бірдей іріктеу тізімдерін шығарып тастауға болады. Мысалы, 'tcp dst port ftp немесе ftp-data немесе домен' дәл сол сияқты `tcp dst port ftp немесе tcp dst port ftp-data немесе tcp dst port домені сияқты.

Рұқсат етілетін примитивтер:

dst хост хосты

Пакеттің IPv4 / v6 мақсатты өрісі хост болып табылады, ол мекен-жай немесе атау болуы мүмкін.

src хост хосты

Егер пакеттің IPv4 / v6 көзі хост болса .

хост хосты

Егер пакеттің IPv4 / v6 көзі немесе тағайындалған пункті хост болса . Жоғарыда келтірілген хост иелерінің кез келгені кілт сөздерді, ip , arp , rarp немесе ip6 сияқты келесідей болуы мүмкін:

ip хост хосты

бұл келесіге тең:

эфир прото \ ip және хост хосты

Егер хост бірнеше IP мекенжайлары бар атау болса, әрбір мекенжай сәйкестік үшін тексеріледі.

Ether dst ehost

Ethernet мекенжайының мекен-жайы электронды болса, шын . Ehost / etc / ethers немесе саннан есім болуы мүмкін (сандық форматта эфирлерді (3N) қараңыз).

Ether src ehost

Егер Ethernet көзінің мекен-жайы электронды болса, шын .

Эфирдің иесі

Егер Ethernet көзі немесе тағайындалған мекен-жайы екеуі болса, шын .

шлюз хосты

Егер пакет хостты шлюз ретінде пайдаланса, шын. Яғни, Ethernet көзі немесе тағайындалған мекенжайы хост болды, бірақ IP-ресурсы да, IP-мекен-жайы да хост болмады. Хост аты болуы керек және компьютердің хост-аты-IP-адрес ажыратымдылығы механизмдері (хост атауы файлы, DNS, NIS және т.б.) және компьютердің хост-аты-Ethernet-мекенжайының ажыратымдылығы механизм (/ etc / eters және т.б.). (Баламалы өрнек

Эфирді қабылдаушы және хост иесі емес

ол хост / эхост үшін аттар немесе сандармен бірге пайдаланылуы мүмкін.) Бұл синтаксис қазіргі кезде IPv6-қолдайтын теңшелімде жұмыс істемейді.

dst net net

Егер пакеттің IPv4 / v6 мекенжайының мекенжайы желінің желілік нөміріне ие болса. Таза / etc / networks немесе желінің нөмірі болуы мүмкін (толық мәліметтер алу үшін желілерді қараңыз (4) ).

src net net

Егер пакеттің IPv4 / v6 бастапқы мекенжайы желінің желі нөміріне ие болса.

таза желі

Егер пакеттің IPv4 / v6 көзі немесе тағайындалған мекен-жайы желінің желілік нөміріне ие болса, шын.

net net маска netmask

Егер IP-мекен-жайы нақты желілік маска арқылы желіге сәйкес келсе. Src немесе dst арқылы білуге ​​болады . Бұл синтаксис IPv6 желісі үшін жарамсыз екенін ескеріңіз.

net net / len

Рас, егер IPv4 / v6 мекен-жайы netmask len биты ені бар желіге сәйкес келсе. Src немесе dst арқылы білуге ​​болады .

dst port порты

Егер пакет ip / tcp, ip / udp, ip6 / tcp немесе ip6 / udp болса және порттың тағайындалған порт мәні болса. Порт , / etc / services-те пайдаланылған нөмір немесе атау болуы мүмкін ( tcp (4P) және udp (4P) қараңыз). Егер атау пайдаланылса, порт нөмірі мен хаттама тексеріледі. Егер санды немесе біркелкі емес атау пайдаланылса, тек порт нөмірі тексеріледі (мысалы, dst port 513 tcp / login трафигі мен udp / кімнің трафигин басып шығарады және порт домені tcp / domain және udp / domain трафигін басып шығарады).

src порты порты

Пакет порттың бастапқы порттық мәні болса.

порт порты

Пакеттің көзі немесе тағайындалған порты порты болса, дұрыс. Жоғарыда аталған порт өрнектерінің кез-келгені кілт сөздерді, tcp немесе udp арқылы басталуы мүмкін :

tcp src порты порты

ол бастапқы порт порты болып табылатын tcp пакеттеріне сәйкес келеді.

ұзындығы аз

Егер пакеттің ұзындығы ұзындығы немесе ұзындығы тең болса. Бұл келесіге тең:

len <= ұзындығы .

үлкен ұзындығы

Егер пакеттің ұзындығы ұзындығынан үлкен немесе тең болса. Бұл келесіге тең:

len> = ұзындығы .

ip proto хаттамасы

Егер пакет IP-пакет болса ( ip (4P) қараңыз). Протокол icmp , icmp6 , igmp , igrp , pim , ah , esp , vrrp , udp немесе tcp аттарының сан немесе біреуі болуы мүмкін. Tcp , udp және icmp идентификаторлары сондай-ақ кілт сөздер болып табылады және C-қабығындағы \\ қиғаш сызығымен (\) қашу керек. Бұл қарабайыр хаттама тақырыбының тізбегін ұстамайтынын ескеріңіз.

ip6 proto протоколы

Егер пакет хаттама түрінің протоколының IPv6 пакеті болса шын. Бұл қарабайыр хаттама тақырыбының тізбегін ұстамайтынын ескеріңіз.

ip6 protochain протоколы

Егер пакет IPv6 пакеті болса және хаттаманың үстіңгі деректемесінде тізілім протоколы бар хаттама тақырыбын қамтитын болса. Мысалға,

ip6 протокаин 6

хаттама тақырыбының тізбегіндегі TCP хаттамасының тақырыбымен кез келген IPv6 пакетіне сәйкес келеді. Пакетте, мысалы, түпнұсқалықты растау тақырыбы, бағыттау тақырыбы немесе хип-хопты опция тақырыбы, IPv6 тақырыбының және TCP тақырыбының арасында болуы мүмкін. Бұл қарабайыр шығаратын BPF коды күрделі және tcpdump-та BPF оңтайландырушы кодын оңтайландырмайды, сондықтан бұл біраз баяу болуы мүмкін.

ip protochain протоколы

IP6 protochain протоколына балама, бірақ бұл IPv4 үшін.

Эфир эфирі

Егер пакет эфирге шығатын пакет болса. Эфир кілт сөзі міндетті емес.

ip тарату

Пакет IP-хабар тарататын пакет болса. Ол барлық нөлдер мен екеуінің де әдеттегі контентті тексереді және жергілікті ішкі желі маскасын қарап шығады.

эфир мультикаст

Егер пакет эфирлік мультикастты пакет болса. Эфир кілт сөзі міндетті емес. Бұл эфирге [0] & 1! = 0 үшін стенография.

ip multicast

Егер пакет IP мультикастты пакет болса.

ip6 мультикаст

Егер пакет IPv6 мультикастты пакет болса.

Эфир прото- хаттамасы

Егер пакет эфирлік хаттамаға сәйкес келсе . Протокол ip , ip6 , arp , rarp , atalk , aarp , decnet , sca , lat , mopdl , moprc , iso , stp , ipx немесе netbeui сияқты атаулардың біреуі немесе біреуі болуы мүмкін . Бұл идентификаторлар сонымен қатар кілт сөздер болып табылады және кері қиғаш сызық (\) арқылы қашу керек.

[FDDI (мысалы, ' fddi protocol arp ') және Token Ring (мысалы, ' protocols arp ') жағдайында, осы хаттамалардың көпшілігінде хаттаманың идентификациясы 802.2 Logical Link Control (LLC) әдетте FDDI немесе Token Ring тақырыбының үстіне қабаттасады.

FDDI немесе Токен рингінде көптеген хаттама сәйкестендіргіштері үшін сүзгілеу кезінде, tcpdump инкапсулаланған Ethernet үшін 0x000000 ұйымдық құрылғы идентификаторымен (OUI) SNAP пішімінде LLC тақырыбының протокол идентификаторын ғана тексереді; ол пакеттің SNAP пішімінде OXI 0x000000 болатындығын тексермейді.

Ерекшеліктер болып табылады, ол DSAP тақырыбының DSAP (тағайындалған қызметке кіру нүктесі) және SSAP (көзі қызметтік кіру нүктесі) өрістерін тексереді, онда ол LLC тақырыбының DSAP-ін тексереді және ATAL SNAP форматындағы пакетті 0x080007 OUI және Appletalk etype түрінде тексереді.

Ethernet жағдайда, tcpdump осы хаттамалардың көпшілігі үшін Ethernet түрі өрісін тексереді; 802.3 жақтауын тексеріп, одан кейін FDDI және Token Ring үшін, сондай-ақ, Ethernet жақтауындағы Appletalk etype-ті тексеретін, сондай-ақ, FDDI және Token Ring-іне арналған LLC тақырыбын тексереді. SNAP форматындағы FDDI және Token Ring форматындағы пакет, ол Elettrap ARP түрін Ethernet жақтауында немесе 0x000000 OUI-мен бірге 802.2 SNAP жақтауында тексереді және ipx , IPX-тің Ethernet фреймі, IPX DSAP-тің LLC тақырыбындағы 802.3-і, IPX тақырыптық инкапсуляциясы жоқ және SNAP кадрларындағы IPX-тегі жоқ.]

decnet src хосты

Рас, DECNET бастапқы мекен-жайы хост болып табылады, ол '10.123' пішінінің мекенжайы немесе DECNET хост атауы болуы мүмкін. [DECNET хост атауын қолдау тек DECNET іске қосуға конфигурацияланған Ultrix жүйелерінде қол жетімді.]

decnet dst хосты

DECNET мақсатты мекенжайы хост болса .

хост қабылдаушысы

DECNET көзі немесе тағайындалған мекенжай хост болып табылған жағдайда шын.

ip , ip6 , арпа , соқыр , аталк , aarp , decnet , iso , stp , ipx , netbeui

Қысқартулар:

эфир прото- р

онда p - жоғарыда аталған хаттамалардың бірі.

lat , moprc , mopdl

Қысқартулар:

эфир прото- р

онда p - жоғарыда аталған хаттамалардың бірі. Tcpdump қазіргі уақытта осы протоколдарды талдау әдісін білмейтінін ескеріңіз.

vlan [vlan_id]

Пакет IEEE 802.1Q VLAN пакеті болса дұрыс. Егер [vlan_id] көрсетілсе, пакетте vlan_id ғана көрсетілген шын болады . Өрнекте кездесетін бірінші влад кілт сөзі пакеттің VLAN пакеті екендігі туралы болжамды қалған өрнегіне арналған декодтау схемаларын өзгертеді.

tcp , udp , icmp

Қысқартулар:

ip proto p немесе ip6 proto p

онда p - жоғарыда аталған хаттамалардың бірі.

iso proto хаттама

Егер пакет хаттама түрінің хаттамасының OSI пакеті болса, дұрыс. Протокол clnp , esis немесе isis аттарының сан немесе біреуі болуы мүмкін.

clnp , esis , isis

Қысқартулар:

iso proto p

онда p - жоғарыда аталған хаттамалардың бірі. Tcpdump бұл хаттамаларды талдаудың толық емес жұмысын жасайтынын ескеріңіз.

expr relop expr

<,> =, <=, =,! =, Және экспр - бұл бүтін тұрақты мәндерден тұратын (стандартты C синтаксисінде көрсетілген) арифметикалық өрнектің қатынасы, қалыпты екілік операторлар [+ , -, *, /, &, |], ұзындықты операторы және арнайы пакеттік деректерге арналған қосқыштар. Пакет ішіндегі деректерге қол жеткізу үшін келесі синтаксисті пайдаланыңыз:

прото [ экспр : мөлшері ]

Прото эфир, fddi, tr, ppp, slip, link, ip, arp, rarp, tcp, udp, icmp немесе ip6 бірі болып табылады және индекс жұмысының хаттамалық қабатын көрсетеді. ( эфир, fddi, tr, ppp, slip және сілтеме сілтеме қабатына сілтеме жасайды.) tcp, udp және басқа жоғарғы деңгейлі протокол түрлеріне тек IPv6 емес, IPv6 үшін (бұл болашақта бекітілетін болады) назар аударыңыз. Көрсетілген протокол қабатына қатысты байттық ығысу экспресс арқылы беріледі. Мөлшері міндетті емес және қызығушылық саласындағы байттар санын көрсетеді; ол бір, екі немесе төрт болуы мүмкін және біреуіне дефолт болады. Len сөзі арқылы көрсетілген ұзындық операторы пакеттің ұзындығын береді.

Мысалы, « эфир [0] & 1! = 0 » барлық мультикастты трафикті ұстайды. ' Ip [0] & 0xf = 5 ' өрнегі барлық IP пакеттерін опциялармен ұстайды. « Ip [6: 2] & 0x1fff = 0 » өрнегі толтырылмаған дерекқорларды ұстайды және фрагменттелген деректерді нөлден босатады. Бұл тексеру tcp және udp индексінің әрекеттеріне жанама түрде қолданылады. Мысалы, tcp [0] әрдайым TCP тақырыбының бірінші байтын білдіреді және ешқашан интервенирленген фрагменттің бірінші байтын білдіреді.

Кейбір өрістер мен өріс мәндері сандық мәндерден гөрі атаулар ретінде көрсетілуі мүмкін. Келесі хаттама тақырыбы өрісінің өрістеріне қол жетімді: icmptype (ICMP түрі өрісі), icmpcode (ICMP коды өрісі) және tcpflags (TCP жалаушалары өрісі).

Келесі ICMP түрі өрісінің мәндері қол жетімді: 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 .

Келесі TCP жалаушаларының өріс мәндері қол жетімді: tcp-fin , tcp-syn , tcp-rst , tcp-push , tcp-push , tcp-ack , tcp-urg .

Примитивтер біріктірілуі мүмкін:

Прецизиаторлар мен операторлардың жақшықты тобы (жақшалар Shell-ға ерекше және құтылу керек).

Негатив (« ! » Немесе « жоқ »).

Біріктіру (` && 'немесе` және ').

Ауыстыру (` || немесе ' немесе ').

Негативтілігі жоғары басымдыққа ие. Альтернатива және біріктіру бірдей басымдыққа ие және солдан оңға қарай біріктіріледі. Енді конкатенация үшін айқын емес және белгілер емес, қосарлы емес екенін ескеріңіз.

Егер идентификатор кілт сөзсіз берілсе, ең соңғы кілт сөз қабылданады. Мысалға,

және т.б. қарсы емес

үшін қысқа

және т.б.

бұл шатастыруға болмайды

жоқ (хост немесе аце)

Өрнек аргументтері tcpdump- ге бір дәлел ретінде немесе бірнеше аргументтер ретінде берілуі мүмкін, қайсысы ыңғайлы болса. Әдетте, өрнек құрамында Shell метасимволы бар болса, оны бір, дәйексөз келтірген дәлел ретінде беру оңайырақ. Көптеген дәлелдер талдаудан бұрын кеңістіктермен біріктіріледі.

МЫСАЛДАР

Күн батқаннан шығатын немесе кететін барлық пакеттерді басып шығару үшін:

tcpdump хостының күн батуы

Helios мен ыстық немесе ace арасындағы трафикті басып шығару үшін:

tcpdump хост хелиосы және \ (ыстық немесе ace \)

Барлық IP пакеттерін ace және helios басқа хосттар арасында басып шығару үшін:

tcpdump ip host ace және helios емес

Берклидегі жергілікті хосттар мен хосттар арасындағы барлық трафикті басып шығару үшін:

tcpdump net ucb-эфирі

Интернеттегі шлюз арқылы барлық ftp трафигін басып шығару үшін: (өрнектің қабықшаның жақшаларды түсіндірмеуін болдырмау үшін айтылғанын ескеріңіз):

tcpdump «шлюзі және (ftp немесе ftp-data) порттары

Трафикті басып шығару үшін, жергілікті хосттардан шықпай-ақ (егер сіз басқа желіге шлюз жасасаңыз, онда ол ешқашан оны жергілікті желіңізде жасамауы керек).

tcpdump ip және net localnet емес

Бастапқы және аяқталу пакеттерін (SYN және FIN пакеттері) жергілікті емес хостты қамтитын әрбір TCP сөйлесуін басып шығару.

tcpdump 'tcp [tcpflags] & (tcp-syn | tcp-fin)! = 0 және src және dst net localnet '

Шлюз арқылы жіберілген 576 байттан асатын IP пакеттерін басып шығару үшін:

tcpdump 'шлюзі мен ip [2: 2]> 576'

Ethernet тарату немесе мультикаст арқылы жіберілмеген IP таратылымын немесе мультикастты пакеттерді басып шығару үшін:

tcpdump 'эфирі [0] & 1 = 0 және ip [16]> = 224'

Эко сұраулар / жауаптар емес (мысалы, пакеттерді емес) барлық ICMP бумаларын басып шығару үшін:

tcpdump 'icmp [icmptype]! = icmp-echo және icmp [icmptype]! = icmp-echoreply'

Шығу формасы

Tcpdump-ті шығару протоколға байланысты. Келесі форматтардың көпшілігінің қысқаша сипаттамасы мен мысалдары келтірілген.

Сілтеме деңгейінің тақырыптары

Егер '-e' параметрі берілсе, сілтеме деңгейінің тақырыбы басып шығарылады. Шет елдерде мекен-жайы мен тағайындалған мекен-жайы, хаттамалары және пакеттің ұзындығы басылады.

FDDI желілерінде '-e' параметрі tcpdump- ті 'frame control' өрісін, дереккөз мен тағайындалған мекен-жайларын және пакеттің ұзындығын басып шығарады. ( Қашықтан басқару пәрмені өрісі қалған пакеттің түсіндірілуін реттейді) Қалыпты пакеттер (мысалы, IP datagrams бар) - 0-ден 7-ге дейінгі басым мәнді «async» пакеттері, мысалы, « async4 ». пакеттерде 802.2 логикалық байланыстың бақылауы (LLC) пакеті бар деп есептеледі, егер ол ISO datagram немесе SNAP пакеті деп аталмаған болса, ЖЖ тақырыбы басып шығарылады.

Token Ring желілерінде '-e' опциясы tcpdump- ке «қол жеткізуді басқару» және «кадрларды басқару» өрістерін, бастапқы және тағайындалған мекен-жайларын және пакеттің ұзындығын басып шығарады. FDDI желілерінде болғандай, пакеттерде LLC пакеті бар деп болжанады. «-e» параметрі көрсетіле ме, жоқ па, қарамастан, көзді бағыттау туралы ақпарат бастапқы көзге бағытталған пакеттер үшін басып шығарылады.

(NB: Келесі сипаттама RFC-1144 сипатталған SLIP қысу алгоритмімен танысуды қарастырады.)

SLIP сілтемелерінде, бағыт көрсеткіші (шығыс үшін `` `` `` `` `''), пакеттің түрі және қысу туралы ақпарат шығарылады. Алдымен пакеттің түрі басып шығарылады. Үш түрі - ip , utcp және ctcp . Енді ip- пакеттер үшін қосымша ақпарат жоқ. TCP пакеттері үшін қосылым идентификаторы түріне қарай басып шығарылады. Егер пакет қысылған болса, оның кодталған тақырыбы басып шығарылады. Арнайы жағдайлар * S + n және * SA + n түрінде шығарылады , мұнда n - реттік нөмір (немесе дәйектілік және ака) өзгерген сома. Егер бұл ерекше жағдай болмаса, нөл немесе одан да көп өзгерістер басылып шығады. Өзгерістер U (шұғыл көрсеткіш), W (терезе), A (ack), S (дәйектілік нөмірі) және I (пакеттік ID), кейін delta (+ n немесе -n) немесе жаңа мән (= n). Ақырында, пакеттегі және қысылған тақырып ұзындығы деректерінің саны басылады.

Мысалы, төмендегі жолда жабық қосылым идентификаторы бар шығыс қысылған TCP бумасы көрсетіледі; аук 6-ға, реттік нөмірі 49-ға, пакеттің ID-ін 6-ға өзгертті; 3 байт деректер және 6 байт қысылған тақырып бар:

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

ARP / RARP пакеттері

Arp / rarp output сұраныстың түрін және оның дәлелдерін көрсетеді. Пішім өзін түсіндіруге арналған. Міне, қысқа үлгі - host rtsg- дан хостты csam- ге дейін «rlogin» -ден басталады :

arp - бұл CSAM-ке жауапты

Бірінші жолда rtsg интернет хостының csam-дің этернеттегі мекен-жайын сұрайтын арп пакетін жіберген. Csam оның эфирнеттік мекенжайы бойынша жауап береді (бұл мысалда Ethernet мекенжайлары кэптада және төменгі жағдайда интернет мекенжайында болады).

Егер біз tcpdump -n :

128.3.254.6 арпта 128.3.254.68 арп жауап беріңіз 128.3.254.6 - 02: 07: 01: 00: 01: c4

Егер біз tcpdump -e жасаған болсақ, бірінші пакеттің эфирге шығуы және екіншісі нүкте-нүкте болып көрінуі мүмкін:

RTSG Broadcast 0806 64: RPG 0806 64: арп, CSM RTSG 0806 64: жауапты CSAM-ті білдіреді

Алғашқы пакетте бұл Ethernet көзінің мекен-жайы RTSG болып табылады, оның мақсаты - эфир желісінің эфир адресі, hex 0806 (типті ETHER_ARP түрі) және жалпы ұзындығы 64 байт болатын өріс.

TCP пакеттері

(NB: Келесі сипаттама RFC-793-де сипатталған TCP протоколымен танысуды қарастырады.Хаттамамен таныс болмасаңыз, бұл сипаттама немесе tcpdump сізге көп қолданылмайды.)

TCP протоколының жалпы пішімі:

src> dst: жалауша деректер-терезені шұғыл опцияларды белгілейді

Src және dst - көз және мақсатты IP мекенжайлары және порттары. Тулар - S (SYN), F (FIN), P (PUSH) немесе R (RST) немесе біреудің кейбір комбинациясы. (жалаулар жоқ). Data-seqno осы пакеттегі деректермен қамтылған дәйектілік кеңістігінің бөлігін сипаттайды (төмендегі мысалды қараңыз). Ack - осы қосылымдағы басқа бағытта күткен келесі деректердің реттік нөмірі. Терезе - бұл қосылымдағы басқа бағытта қол жетімді буферлік кеңістіктің байт саны. Urg пакетте «жедел» деректер бар екенін білдіреді. Опциялар бұрыштық жақшада қамтылған tcp параметрлері болып табылады (мысалы, ).

Src, dst және жалаулар әрдайым қатысады. Басқа өрістер пакеттің TCP протоколының тақырыбының мазмұнына байланысты және ол орынды болса ғана шығарылады.

Мұнда хосттың rsg- дан хостты қабылдауға арналған рлогиннің бастапқы бөлігі.

rtsg.1023> csam.login: S 768512: 768512 (0) ұтыс 4096 csam.login> rtsg.1023: S 947648: 947648 (0) ack 768513 win 4096 rtsg.1023> csam. кіру: . 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 urgent 1 csam.login> rtsg.1023: P 3: 4 (1) ack 21 win 4077 urg 1

Бірінші жолда rtsg арналған tcp port 1023 csam портының кіруіне пакетті жібереді. S SYN жалауының орнатылғанын білдіреді. Пакеттік реттік нөмірі 768512 болды және деректер жоқ. («Бірінші: соңғы (nbytes)» дегенді білдіреді, ол « біріншіден , соңғы деректерді пайдаланушының деректерінің байттарымен бірге емес» дегенді білдіреді). Шошқаларды қолдауға ие болған жоқ, қол жетімді терезе 4096 байтты құрады және 1024 байтты сұрайтын max-segment-size опциясы болды.

Csam осындай пакетпен жауап береді, тек RTSG SYN-іне арналған шошқа тіркемесі бар. Содан кейін csam SYN-ті ашады. '.' ешқандай жалаулар жоқ дегенді білдіреді. Пакетте деректер жоқ, сондықтан деректердің реттік нөмірі жоқ. Аck реттік нөмірі - шағын бүтін (1) екенін ескеріңіз. Tcpdump tcp`` әңгімелесуді бірінші рет көреді, ол пакеттегі реттік нөмірді басып шығарады. Әңгімелесудің кейінгі пакеттерінде ағымдық пакеттің реттік нөмірі мен осы бастапқы реттік нөмір арасындағы айырмашылық басылады. Бұл біріншіден кейінгі реттік нөмірлерді әңгімелесу деректер ағынында салыстырмалы байттық ұстаным ретінде түсіндіруі мүмкін екенін білдіреді (бірінші дерек байт кез-келген бағытта `1 '). `-S 'бұл функцияны алдын ала анықтайды, бұл бастапқы реттік нөмірлерді шығаруға әкеледі.

6-шы жолда rtsg csam 19 байт деректерін жібереді (әңгіменің rtsg -> csam жағында 2-ден 20-ге дейін). PUSH жалауы пакетте орнатылған. 7-ші жолда csam дейді rtsg арқылы жіберілген деректерді, бірақ байтты қоса емес, 21-ке дейін қабылдады. Бұл деректердің басым бөлігі сокет буферінде көрінеді, себебі csam қабылдау терезесі 19 байтты азайтты. Сондай-ақ, Csam осы бумада деректердің бір байтын жібереді. 8-ші және 9-шы жолдарда csam шұғыл, бұрылысқан деректерді екі байтқа жібереді.

Егер суреттің толық кішкентай болса, tcpdump толық TCP тақырыбын басып алмаған болса, ол тақырыптың көп бөлігін ғана мүмкін деп есептеп, содан кейін `` [| tcp ] '', қалғанын түсіндіру мүмкін болмады. Егер үстіңгі деректеме жалған нұсқасы болса (біреуі тым кішкентай немесе тақырыптың соңынан тыс), tcpdump оны «` [ жаман опция] »деп есептейді және басқа опцияларды түсіндірмейді (себебі айту мүмкін емес) онда олар бастайды). Егер тақырып ұзындығы опциялардың бар екендігін көрсеткен болса, бірақ IP датаграмының ұзындығы опциялардың шын мәнінде болуы үшін жеткіліксіз, tcpdump оны «[ bad hdr length ]» деп көрсетеді.

Белгілі бір жалау комбинациялары бар TCP пакеттерін түсіру (SYN-ACK, URG-ACK және т.б.)

TCP тақырыбындағы басқару биттерінде 8 бит бар:

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

TCP қосылымын орнату үшін пайдаланылатын пакеттерді көргіміз келеді деп ойлаймыз. TCP жаңа қосылымды инициализациялаған кезде 3-жақты қолжазба хаттамасын қолданады; TCP басқару биттеріне қатысты қосылу реті болып табылады

1) Қоңырау шалушы SYN жібереді

2) Алушы SYN, ACK-мен жауап береді

3) Қоңырау шалушы ҚБС жібереді

Енді біз SYN бит жиынтығы бар пакеттерді басып шығаруды қалаймыз (1-қадам). 2-қадамнан (SYN-ACK) пакеттердің қалауына жол бермейтінімізді ескеріңіз. Бізге tcpdump үшін дұрыс сүзгісі керек.

TCP тақырыбының құрылымын опцияларсыз ескеріңіз:

0 15 31 ----------------------------------------------- ------------------ | бастапқы порт тағайындалған порт -------------------------------------------------- --------------- | реттік нөмірі | -------------------------------------------------- --------------- | растау нөмірі | -------------------------------------------------- --------------- | HL | rsvd | C | E | U | A | P | R | S | F | терезе өлшемі -------------------------------------------------- --------------- | TCP бақылау сомасы | шұғыл көрсеткіш -------------------------------------------------- ---------------

Егер опциялар жоқ болса, TCP тақырыбы әдетте 20 октета деректерін ұстайды. Графиктің бірінші жолында 0 - 3 октеты, екінші жолда октстар 4 - 7 және т.б. көрсетіледі.

0 санымен басталатын тиісті TCP бақылау биты октет 13:

0 7 | 15 | 23 | 31 ---------------- | --------------- | --------------- | ---------------- | HL | rsvd | C | E | U | A | P | R | S | F | терезе өлшемі ---------------- | --------------- | --------------- | - --------------- | | 13-оттет | | |

Келіңіздер, октет №. 13:

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

Бұл бізді қызықтыратын TCP басқару биттары. Біз октоктың биты 0-ден 7-ге дейін, солдан оңға қарай, сондықтан PSH биті 3-ші бит, ал URG биті - 5-де.

Есіңізде болсын, біз тек SYN жиынтығымен пакеттерді жинағымыз келеді. Келтірейік, TCP детэграмы оның тақырыбында орнатылған SYN битімен келгенде, октет 13-не не болады:

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

Басқару биттері бөліміне қарап, біз тек бит нөмірі 1 (SYN) орнатылғанын көреміз.

13 октет нөмірінің сегіздік байт белгісі жоқ бүтін санының желілік байт реті болғандығын болжасаңыз, осы октеттің екілік мәні

00000010

және оның ондық көрінісі

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

Біз қазірдің өзінде дерлік жасалды, себебі енді SYN орнатылса, TCP тақырыбындағы 13-ші октетінің мәні, 8-биттік белгісіз бүтін ретінде желілік байт реті ретінде түсіндірілгенде, дәл 2 болуы керек.

Бұл қатынас ретінде айтылуы мүмкін

tcp [13] == 2

Бұл өрнек тек SYN орнатылған пакеттерді қарау үшін tcpdump сүзгісі ретінде қолдануға болады:

tcpdump -i xl0 tcp [13] == 2

Өрнек «TCP дэтраграммасының 13-ші октеті ондық үтірлі мәнге ие болсын» деп айтады, бұл дәл келеді.

Енді, SYN пакеттерін басып алуымыз керек, бірақ біз ACK немесе кез келген басқа TCP басқару биті бір уақытта орнатылсын деп ойламаймыз. Келіңіздер, октет 13-те SYN-ACK жиынтығымен TCP-нің детрафиясы болғанда не болатынын көрейік:

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

Қазір 1 және 4 биттері 13-секцияда орнатылған. Октоктың 13 екілік мәні


00010010

ол ондық тілге аударады

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

Енді tcpdump сүзгісінде 'tcp [13] == 18' ғана қолдануға болмайды, себебі ол SYN-ACK орнатылған, бірақ тек SYN жиынтығы бар пакеттерді ғана таңдайтындықтан. Айтуға болмайды, егер ACK немесе басқа басқару биті SYN орнатылса, орнатылған.

Біздің мақсатымызға жету үшін, біз ақиқаттың және екінші октетінің екілік мәнін SYN битін сақтау үшін кейбір басқа мәнмен қажет етуіміз керек. Біз SYN-ны кез-келген жағдайда орнатқымыз келетінін білеміз, сондықтан біз ақылға қонымды және 13-окт октадағы SYN-ың екілік мәнімен бағалаймыз:

00010010 SYN-ACK 00000010 SYN AND 00000010 (біз SYN алғымыз келеді) және 00000010 (біз SYN келеді) -------- -------- = 00000010 = 00000010

Біз ACK немесе басқа TCP басқару биті орнатылса да, бұл AND операциясы сол нәтижені береді. ЖӘНДІҢ ондық көрінісі және осы операцияның нәтижесі 2 (екілік 00000010), сондықтан SYN пакеттері үшін төмендегі қатынас дұрыс болуы керек екенін білеміз:

((октет 13 мәні) және (2)) == (2)

Бұл бізді tcpdump сүзгісінің өрнегіне көрсетеді

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

Қапшықтағы арнайы таңбаны AND ('&') жасыру үшін өрнекке бір тырнақша немесе кері қиғаш сызықты қолданыңыз.

UDP пакеттері

UDP пішімі осы пакеттің көмегімен көрсетіледі:

aktinide.who> broadcast.who: udp 84

Бұл хост- актинидтегі порт , хост арқылы хабар тарататын , интернет-трансляция мекен-жайы бойынша портқа udp датраммасын жіберген. Пакетте пайдаланушы деректерінің 84 байті бар.

Кейбір UDP қызметтері (көзден немесе тағайындалған порт нөмірінен) және жоғары деңгейдегі хаттама туралы ақпарат анықталған. Атап айтқанда, домендік атау қызметіне сұрау (RFC-1034/1035) және Sun RPC (RFC-1050) NFS-ке қоңырау шалады.

UDP атауы серверінің сұраулары

(NB: Келесі сипаттама RFC-1035-де сипатталған Домен Сервис хаттамасымен танысуды қарастырады.Хаттамамен таныс болмасаңыз, келесі сипаттама грек тілінде жазылады.)

Аты сервер сұраулары пішімделеді

src> dst: id опциялары? жалаулар qtype qclass атауы (len) h2opolo.1538> helios.domain: 3+ A? ucbvax.berkeley.edu. (37)

Хост х2ополо мекен-жай жазбасына арналған helios-де домен серверінен (qtype = A) ucbvax.berkeley.edu атымен байланысқан. Сұрау идентификаторы '3' болды. '+' Рекурсияны қажетті жалаушаның орнатылғанын білдіреді. Сұрау ұзындығы UDP және IP протоколының тақырыптарын емес, 37 байт болды. Сұрау операциясы қалыпты болды, Query , осылайша op өрісі қабылданбады. Егер op басқа нәрсе болса, ол «3» және «+» арасында басылып шығады. Сол сияқты, qclass қалыпты, C_IN және қабылданбады. Кез-келген басқа qclass «A» -тен кейін бірден басылып шығады.

Бірнеше ауытқулар тексеріліп, тік жақшаларға салынған қосымша өрістердің пайда болуына әкелуі мүмкін: Егер сұрауда жауап болса, билік жазбалары немесе қосымша жазбалар секциясы, есептік жазба , санақ немесе аралық есеп «[ n a]», `[ n n ] 'немесе' [ n au] ', онда n - тиісті санақ. Егер қандай да бір жауап биті орнатылса (AA, RA немесе rcode) немесе кез келген 'нөлге тең болуы керек' биттер екі және үш байтпен белгіленсе, онда `[b2 & 3 = x ] басылады, мұнда x - тақырып байт екі және үш.

UDP атауы серверінің жауаптары

Атаудың серверлік жауаптары ретінде пішімделеді

src> dst: id rcode жалаулар a / n / au типті деректердің (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)

Бірінші мысалда гелиос 3 жауап жазбаларымен, 3 атау серверінің жазбаларын және 7 қосымша жазбаны қамтитын h2opolo сұраныс идентификаторына жауап береді. Бірінші жауап жазуы А (мекен-жайы) және оның деректері - Интернет-адрес 128.32.137.3. Жауаптың жалпы өлшемі UDP және IP тақырыбын қоспағанда, 273 байт болды. А (Query) және жауап коды (NoError) A жазбасының класы (C_IN) сияқты болдырмады.

Екінші мысалда, гелиос жоқ жауапсыз, жауапсыз, домен жоқ (NXDomain) жауап кодымен, бір атау сервері және билік жазбалары жоқ 2-сұраққа жауап береді. '*' Дегеніміз жауап биті орнатылғанын білдіреді. Жауап жоқ болғандықтан, ешқандай тип, класс немесе деректер басып шығарылмады.

Басқа ту тудыруы мүмкін символдар `- '(рекурсия қол жетімді, RA, орнатылмаған) және` | (қысқартылған хабарлама, TC, set). Егер «сұрақ» бөлімінде бір жазба жоқ болса, «[ n q]» басылады.

Атау серверінің сұраулары мен жауаптары үлкен болады және 68 байттың әдепкі тіркесімі басып шығару үшін жеткілікті пакетті басып шығара алмайтынын ескеріңіз. Егер атау серверінің трафигін зерделеу қажет болса, жанармайды көбейту үшін -s жалауын қолданыңыз. ` -138 'маған жақсы жұмыс істеді.

SMB / CIFS декодтау

tcpdump енді UDP / 137, UDP / 138 және TCP / 139 бойынша деректер үшін өте кең SMB / CIFS / NBT декодтауды қамтиды. Сондай-ақ, IPX және NetBEUI SMB деректерінің кейбір қарапайым декодтауы жасалады.

Әдепкі бойынша, әдетте, өте аз декодтау орындалады, егер де -v қолданылса, неғұрлым толық декодтау орындалады. -va-SM бірыңғай пакеті бетті немесе одан көп уақыт кетуі мүмкін екендігі туралы ескертіңіз.

Егер Unicode жолдары бар SMB сеанстарын декодтауда болсаңыз, онда USE_UNICODE ортасының айнымалы мәнін 1 мәніне орнатқыңыз келуі мүмкін. Unicode үлгілерін автоматты түрде анықтауға арналған түзету үшін құпталады.

SMB пакеттерінің пішімдері және барлық өрістердің қайсысы сіздің сүйікті samba.org айнасында орналасқан сайтында www.cifs.org немесе pub / samba / specs / каталогын білу үшін ақпарат алу үшін. SMB патчтарын Эндрю Триджелл (tridge@samba.org) жазған.

NFS сұраулары мен жауаптары

Sun NFS (желілік файл жүйесі) сұраулары мен жауаптары төмендегідей басып шығарылады:

src.xid> dst.nfs: len op args src.nfs> dst.xid: жауап мәртебесін нәтиже sushi.6709> wrl.nfs: 112 readlink fh 21,24 / 10.73165 wrl.nfs> sushi.6709: 40 readlink «../var» sushi.201b> wrl.nfs: 144 іздеу fh 9,74 / 4096,6878 «xcolors» wrl.nfs> sushi.201b: жауап ok 128 іздеу fh 9,74 / 4134,3150

Алғашқы жолда хост- суша id 6709- мен wrl- ге транзакцияны жібереді (src хостынан кейінгі нөмір - бастапқы порт емес , транзакция идентификаторы екенін ескеріңіз ). Сұрау UDP және IP тақырыптарын қоспағанда 112 байт болды. Операция оқуға арналған сілтеме (оқылған символдық сілтеме) файлдың тұтқасындағы ( fh ) 21,24 / 10.731657119 болды. (Егер біреуі бақытты болса, бұл жағдайда файлдың дескрипторы негізгі, кішігірім құрылғы саны жұбы, одан кейін инодтың нөмірі мен ұрпақ нөмірі ретінде түсіндірілуі мүмкін.) Wrl сілтеменің мазмұнын «ok» деп жауап береді.

Үшінші жолда суши 9,74 / 4096,6878 каталогтағы файлда ' xcolors ' деген атауды іздейді. Жазылған деректер операция түріне байланысты екенін ескеріңіз. Пішім NFS протоколының ерекшеліктерімен бірге оқылған болса, өзін түсіндіруге арналған.

Егер -v (verbose) белгісі берілсе, қосымша ақпарат басып шығарылады. Мысалға:

sushi.1372a> wrl.nfs: 148 оқылды fh 21,11 / 12.195 8192 bytes @ 24576 wrl.nfs> sushi.1372a: жауап ok 1472 оқу REG 100664 ids 417/0 sz 29388

(-v-ақ осы мысалдан шығарылған IP-тақырыпты TTL, ID, ұзындық және үзінді өрістерді басып шығарады). Бірінші жолда, sushi 8,192 байтты 21,11 / 12.195 файлынан оқуға шақырады, байтты офсетпен 24576. Wrl жауап 'ok'; екінші жолда көрсетілген бума жауаптың алғашқы фрагменті болып табылады, демек, тек 1472 байт (басқа байттар кейінгі фрагменттерде сақталады, бірақ бұл фрагменттерде NFS немесе тіпті UDP тақырыптары жоқ, сондықтан басып шығарылмауы мүмкін, пайдаланылатын сүзгіштің өрнегіне байланысты). -v файлы берілгендіктен, файл атрибуттарының кейбіреуі (файлдық деректерге қосымша қайтарылған) басып шығарылады: файлдың түрі («REG», тұрақты файл үшін), файл режимі (сегіздік), uid және gid және файл өлшемі.

Егер -v туы бірнеше рет берілсе, одан да көп мәлімет басып шығарылады.

Назар аударыңыз, NFS сұранымдары өте үлкен және көп бөлігі бөлшекті басып шығарылмайды, егер кескін көбейтілмесе. NFS трафигін көру үшін ` -s 192 'пайдаланып көріңіз.

NFS жауап пакеттері RPC операциясын айқын анықтамайды. Оның орнына, tcpdump «жақында» келетін сұраныстарын қадағалайды және оларды мәміле идентификаторын пайдаланып жауаптарға сәйкес келеді. Егер жауап тиісті сұрауды мұқият қадағаласа, бұл мүмкін емес болуы мүмкін.

AFS сұраулары мен жауаптары

Transarc AFS (Andrew File System) сұраулары мен жауаптары төмендегідей басылады:

src.sport> dst.dport: rx пакеттік түрдегі src.sport> dst.dport: rx пакеттік түрдегі қызмет қоңырауы қоңырау шалу args src.sport> dst.dport: rx пакеттік түрдегі қызмет жауап қоңыраулар аты args elvis. 7001> pike.afsfs: rx деректер fs call rename ескі fid 536876964/1/1 «.newsrc.new» new fid 536876964/1/1 «.newsrc» pike.afsfs> elvis.7001: rx деректер fs жауап атын өзгерту

Бірінші жолда хост-элвис RX пакетін шортанға жібереді. Бұл fs (fileserver) қызметіне арналған RX деректер пакеті және RPC қоңырауының басы. RPC қоңырауы 536876964/1/1 ескі каталогтық файл идентификаторымен және '.newsrc.new' ескі файл атауымен және 536876964/1/1 жаңа каталог файлының идентификаторымен және жаңа файл атауымен атын өзгертті. newsrc '. Қабылдағыш шабыс RPC атауын қайта атауына жауап береді (ол табысты болды, себебі ол деректер пакеті және үзілген пакет емес).

Тұтастай алғанда, барлық AFS RPC-лары кем дегенде RPC қоңырау атауы арқылы декодталған. Көптеген AFS RPC-лердің ең болмағанда кейбір дәлелдері декодталған (әдетте, қызықты кейбір түсініктемелер үшін «қызықты» дәлелдер ғана).

Пішім өзін-өзі сипаттау үшін арналады, бірақ AFS және RX жұмысымен таныс емес адамдар үшін пайдалы болмауы мүмкін.

Егер -v (verbose) жалаушасы екі рет берілсе, RX қоңырау кодын, қоңырау шалу нөмірін, реттік нөмірін, сериялық нөмірін және RX пакетінің жалаулары сияқты растау пакеттері мен қосымша тақырып ақпараты басып шығарылады.

Егер -v таңбасы екі рет берілсе, RX қоңырау коды, сериялық нөмір және RX пакет жалаулары сияқты қосымша ақпарат басып шығарылады. MTU келіссөздері туралы ақпарат ақ RX ack пакеттерінен басылады.

Егер -v тусы үш рет берілсе, қауіпсіздік индексі және қызмет идентификаторы басылады.

Қате кодтары Ubik сигналдық пакеттерін қоспағанда, пакеттерді тоқтату үшін басып шығарылады (себебі, абоненттік пакеттер Ubik хаттамасына «иә» дауыс беру үшін пайдаланылады).

AFS сұраулары өте үлкен екенін ескеріңіз және көптеген дәлелдер көбейгенше басып шығарылмайды. AFS трафигін көру үшін ` -s 256` пайдаланып көріңіз.

AFS жауап пакеттері RPC операциясын айқын анықтамайды. Оның орнына, tcpdump «жақында» келетін сұраныстарды қадағалайды және қоңыраулар нөмірі мен қызмет идентификаторын пайдаланып жауаптарға сәйкес келеді. Егер жауап тиісті сұрауды мұқият қадағаласа, бұл мүмкін емес болуы мүмкін.

KIP Appletalk (UDP ішіндегі DDP)

UDP протоколдарында инкапсулаланған апплетальдық DDP пакеттері DDP пакеттері ретінде (мысалы, барлық UDP тақырыбы ақпараты алынып тасталған) де-капсулаланған және тастанды. /etc/atalk.names file appletalk net және түйін сандарын аттарға аудару үшін пайдаланылады. Бұл файлдағы сызықтар пішінді

санының атауы 1.254 эфир 16.1 икс-net 1.254.110 ace

Алғашқы екі жол апплет желілерінің атауын береді. Үшінші жол белгілі бір хосттың атын береді (хосттың санында 3-окт октдан бөлек - таза санында екі октет болуы керек және хост нөмірінде үш октет болуы керек ). Нөмір мен атауды бөліп алу керек бос орын арқылы (бос немесе қойындылар). /etc/atalk.names файлы таза жолдар немесе түсіндірме сызықтары болуы мүмкін ('#' бастап басталатын жолдар).

Appletalk мекенжайлары формада басып шығарылады:

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

(Егер /etc/atalk.names жоқ болса немесе кейбір appletalk хост / желі нөмірі үшін жазба болмаса, мекенжайлар сандық түрде басып шығарылады.) Бірінші мысалда НТС (DDP порты 2) 144.1 209 торабы 112-ші тораптың 112-ші торабында тыңдағандардың барлығын жібереді. Екінші жол көз түйінінің толық атауы («кеңсе») қоспағанда, бірдей. Үшінші жол - цид-желі NBP порты арқылы трансляциялау үшін желінің jsmag торабында (239) 235 порты арқылы жіберу (назар аудару мекен-жайы (255) хост нөмірі жоқ таза атаумен көрсетіледі - сондықтан жақсы идея торап аттарын және /etc/atalk.names ішіндегі нақты атауларын сақтау).

NBP (атауды қосу хаттамасы) және ATP (Appletalk транзакция хаттамасы) пакеттері олардың мазмұнын түсіндіреді. Басқа протоколдар хаттаманың атын (немесе хаттамаға атау болмаса, нөмірді) және пакеттің өлшемін ғана тастайды.

NBP бумалары келесі мысалдар сияқты пішімделеді:

icsd-net.112.220> jssmag.2: nbp-lkup 190: «=: LaserWriter @ *» jssmag.209.2> icsd-net.112.220: nbp-жауап 190: «RM1140: LaserWriter @ *» 250 techpit.2> icsd -net.112.220: nbp-жауап 190: «techpit: LaserWriter @ *» 186

Бірінші жол - net icsd хосты 112 арқылы жіберілген лазерлі жазушыларға арналған іздеуді іздеу және net jssmag арқылы тарату. Іздеуге арналған nbp идентификаторы - 190. Екінші жолда 250-ші портта тіркелген «RM1140» деп аталатын лазерверлік ресурс бар екенін айтатын хосттың jssmag.209-дан осы сұрауға жауап (оның идентификаторына назар аударыңыз) line - 186 портада тіркелген «techpit» лазервергі бар екенін айтады.

ATP пакеттік пішімдеу келесі мысал арқылы көрсетіледі:

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-rel 12266 <0-7> 0xae030001 jssmag.209.133> helios.132: atp-req * 12267 <0 -7> 0xae030002

Jssmag.209 8 хабары пакеттерін («<0-7> ') сұрау арқылы хост хелиясымен 12266 транзакция идентификаторын бастайды. Жолдың соңындағы ондық сан - сұраудағы «userdata» өрісінің мәні.

Гелиос 8 512 байтты пакеттермен жауап береді. Мәміле идентификаторынан кейінгі `` сан: транзакциядағы пакеттік реттік нөмірді береді және паренс санын - атп тақырыбын қоспағанда, пакеттегі деректер саны. 7 пакетіндегі '*' EOM биті орнатылғанын білдіреді.

Jssmag.209 содан кейін 3 & 5 пакеттерін қайта жіберуді сұрайды. Helios оларды қайта жібереді, содан кейін jssmag.209 мәмілені шығарады. Соңында, jssmag.209 келесі сұрауды бастайды. Өтінімдегі '*' XO ('бір рет') орнатылмағанын көрсетеді.

IP үзіндісі

Фрагменттелген интернет-дератрафтар ретінде басып шығарылады

(frag id : мөлшері @ offset +) (frag id : size @ offset )

(Бірінші формада фрагменттер бар, екіншісі бұл соңғы фрагменттің екендігін білдіреді.)

Id - үзінді идентификаторы. Өлшем - IP тақырыбын қоспағанда фрагменттің өлшемі (байттармен). Офсет - бұл фрагменттің теңдеуі (байттармен) бастапқы деректер кестесінде.

Фрагменттің ақпараты әрбір фрагментке шығарылады. Бірінші фрагментте жоғары деңгейлі хаттама тақырыбы бар, ал хаттама ақпараты хаттамадан кейін басылады. Біріншісінен кейінгі фрагменттер жоғары деңгейлі хаттама тақырыбын қамтымайды, ал ақпарат көзі мен тағайындалған мекенжайларынан кейін басылады. Мысалы, arizona.edu-дан lbl-rtsg.arpa-ге дейін 576 байтты дерматографияны өңдемейтін CSNET қосылымы арқылы ftp-ның бөлігі болып табылады:

arizona.ftp-data> rtsg.1170 :. 1024: 1332 (308) ack 1 win 4096 (frag 595a: 328 @ 0 +) аризона> rtsg: (frag 595a: 204 @ 328) rtsg.1170> arizona.ftp-data:. 1536 ұтып 2560

Мұнда атап өтуге болатын екі нәрсе бар: Біріншіден, 2-жолдағы мекенжайлар порт нөмірін қамтымайды. Бұл TCP протоколы туралы ақпарат бірінші фрагментте болғандықтан және кейінірек фрагменттерді басып шығарған кездегі порты немесе дәйектілік сандары туралы білмейміз. Екіншіден, бірінші жолдағы tcp реттік ақпараты 512 байт болғанда 308 байтты пайдаланғандай басып шығарылады (алғашқы фрагта 308 және екінші секунд ішінде 204). Кездейсоқ кеңістіктегі саңылауларды іздесеңіз немесе пакеттермен апарып алмасаңыз, бұл сізді алдап алады.

IP пакеті бар фрагменттің жалауы жоқ (DF) белгісімен белгіленеді.

Уақыт белгілері

Әдепкі бойынша, барлық шығыс жолдарының алдында уақыт белгісі болады. Уақыт белгісі пішіндегі ағымдағы сағат уақыты

hh: mm: ss.frac

және ядро ​​сағаты сияқты дәл. Уақыт белгісі ядро ​​пакетті бірінші рет көрген уақытты көрсетеді. Ethernet интерфейсі пакетті сымнан алып тастаған кезде және ядро ​​«жаңа пакет» үзілісіне қызмет көрсету уақытының арасындағы уақыт аралығын есепке алмайды.

Сондай-ақ қараңыз

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

Маңызды: Жеке компьютерде пәрменді қалай пайдалану керектігін көру үшін man ( % man ) пәрменін пайдаланыңыз.