Tcpdump - Linux Command - Unix Command

NAME

tcpdump - сүлжээнд dump - ийн урсгал

Синнассис

tcpdump [ -adeflnNOpqRStuvxX ] [ -c тоо ]

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

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

[ -s snaplen ] [ -T төрөл ] [ -U хэрэглэгчийн ] [ -w файл ]

[ -E algo: нууц ] [ илэрхийлэл ]

ТОДОРХОЙЛОЛ

Tcpdump нь boolean илэрхийллэгтэй таардаг сүлжээний интерфэйс дээрх пакетуудын толгойг гаргадаг. Үүнийг бас -w туг ашиглан ажиллуулж болно. Ингэснээр пакетийн өгөгдлийг дараа нь шинжилгээнд зориулж файлд хадгалж болдог бөгөөд / эсвэл -r тугтай пакетуудыг уншихаасаа илүү хадгалсан пакет файлаас уншихад хүргэдэг. Сүлжээний интерфэйсээс. Бүх тохиолдолд зөвхөн илэрхийлэлд тохирсон пакетууд tcpdump -ээр боловсруулагдах болно.

Tcpdump нь хэрэв -c тугтай хамт ажиллуулаагүй бол SIGINT дохиог тасалдуулсны дараа (жишээ нь, тасалдлын тэмдэгт, C) эсвэл SIGTERM дохио (ихэвчлэн (1) тушаал); хэрэв -c тохируулгатай ажиллуулбал энэ нь SIGINT эсвэл SIGTERM дохио эсвэл тодорхойлогдсон пакетийн тоо тасалдсан хүртэл пакетуудыг агуулна.

Tcpdump пакетуудыг барьж дуусах үед дараах тоог мэдээлнэ:

"шүүлтүүрээр хүлээн авсан" пакетууд (энэ утгаараа tcpdump-г ажиллаж байгаа үйлдлийн OS болон магадгүй OS-г тохируулагдсан OS-ийн тохиргоон дээр тулгуурлана. Хэрэв шүүгч тушаалын мөрөнд тодорхойлогдсон бол зарим үйлдлийн системүүд дээр пакетууд нь шүүлтүүрийн илэрхийллэгтэй таарсан эсэхээс үл хамааран бусад үйлдлийн системүүд дээр зөвхөн шүүлтүүрийн илэрхийлэлд таарсан пакетуудыг тоолж tcpdump -ээр боловсруулсан байх);

(энэ нь tcpdump ажиллаж байгаа үйлдлийн систем дэх пакет барих механизмаар буфферын зайгүй, пакетуудыг унагаж байсан пакетуудын тоо, хэрэв OS нь програмууд нь мэдээлэлд програмууд мэдээлэгдсэн бол энэ нь пакетуудыг унагасан тоо юм; хэрэв үгүй ​​бол үүнийг 0 гэж мэдээлнэ.

SIGINFO дохиог дэмждэг платформууд дээр, ихэнх BSD-үүдийг дэмждэг платформууд дээр SIGINFO дохиог хүлээж авах үед (жишээлбэл, "status" тэмдэгтийг бичихдээ ихэвчлэн хяналт-T) үүсгэж пакетуудыг үргэлжлүүлэн авах болно. .

Сүлжээний интерфэйсээс пакетуудыг унших нь танд тусгай зөвшөөрлүүд шаарддаг:

SunOS 3.x эсвэл 4.x дагуу NIT эсвэл BPF-тай:

Та / dev / nit эсвэл / dev / bpf * уруу хандахээ унших эрхтэй байх ёстой.

DLPI -тай Solaris-ийн доор:

Сүлжээний хиймэл төхөөрөмжрүү унших / бичих эрхтэй байх ёстой, өөрөөр хэлбэл / dev / le . Solaris-ийн зарим хувилбарууд дээр tcpdump тушаалыг хайхрамжгүй горимд оруулахыг зөвшөөрөх хангалттай биш; Solaris-ийн эдгээр хувилбаруудын хувьд та root байх ёстой, эсвэл эротик горимд шилжүүлэхийн тулд setuid-г root уруу суулгаж байх ёстой. Ихэнх (магадгүй бүгд) интерфэйсүүд дээр хэрэв та хайхрамжгүй горимд байхгүй бол та ямар нэгэн гадагш чиглэсэн пакетуудыг харахгүй болно, тэгэхээр садар самуун горимд хийгдэхгүй байх нь ашигтай байж болох юм.

HP-UX-ийн дагуу DLPI-тай:

Та root байх ёстой эсвэл tcpdump нь setuid-г root гэж суулгасан байх ёстой.

IRIX дор судлах

Та root байх ёстой эсвэл tcpdump нь setuid-г root гэж суулгасан байх ёстой.

Линукс доор:

Та root байх ёстой эсвэл tcpdump нь setuid-г root гэж суулгасан байх ёстой.

Ultrix болон UNIX / Tru64 тоонууд UNIX:

Аль ч хэрэглэгч сүлжээний урсгалыг tcpdump ашиглан олж авч чадна. Гэхдээ супер хэрэглэгчийн хувьд интерфэйс дээр pfconfig (8) ашиглан интерфэйс дээр тулгуурласан ажиллагааг идэвхжүүлээгүй л бол хэрэглэгчийг (супер хэрэглэгчийн ч биш) интерфэйс дээр идэвхгүй горимд барьж чаддаггүй бөгөөд хэрэглэгчийн (тэр ч байтугай супер хэрэглэгчийн ) нь super-user pfconfig- г ашиглан тэр интерфэйс дээрх хуулбар-бүх горимыг идэвхжүүлээгүй л бол интерфэйс дээр хүлээн авсан эсвэл илгээсэн unicast трафикийг агуулж чаддаггүй бөгөөд ашигтай пакетийг интерфэйс дээр интерфэйс дээр ажиллуулах нь хүссэн горим эсвэл хуулбарыг шаарддаг -бол-горимын үйлдэл, эсвэл аль алиных нь аль ч үйлдлийн горимд тэр интерфэйс дээр идэвхжих болно.

BSD-ийн хүрээнд:

Та / dev / bpf * уруу хандах эрхтэй байх ёстой.

Хадгалагдсан пакетийн файлыг унших нь онцгой эрх шаарддаггүй.

OPTIONS

Сүлжээний болон цацалтын хаягуудыг нэрээр нь хөрвүүлэхийг оролдох.

-c

Тоо пакетуудыг авсны дараа гарах.

-C

Хадгалсан файлд түүхийн пакет бичихээсээ өмнө файлын хэмжээ file_size- ээс их эсэхийг шалгаарай, хэрэв байгаа бол одоо хадгалагдсан файлаа хааж, шинэ нээгдэнэ үү. Savefiles нь эхний savefile файлд -w сонголтоор нэрлэгдсэн нэртэй байх бөгөөд 2-ээс эхлэн үргэлжилж мөн дээш үргэлжлүүлэгддэг. File_size- ийн нэгжүүд сая сая байт (1,000,000 байт, 1,048,576 байт) биш юм.

-d

Нийлмэл пакет тохирох кодыг уншиж болохуйц хэлбэрээр стандарт гаралтад зогсоод зогсоо.

-dd

C програмын фрагмент байдлаар Dump пакетийн тохирох код.

-ddd

Dump пакет тохирох кодыг аравтын тоо болгон тоолно.

-e

Холбоосын түвшний толгойнуудыг dump мөрөн дээр хэвлэх.

-E

Агшо ашигла : IPsec ESP пакетуудыг задлах нууц . Алгоритмууд нь des- ccc , 3des-cbc , blowfish-cbc , rc3-cbc , cast128-cbc , эсвэл байхгүй байж болно. Анхдагч нь des-cbc . Хэрэв та tcpdump -ийг криптограф ашиглан идэвхжүүлсэн бол пакетийг буцааж шифрлэх чадвар байдаг. ESP нууц түлхүүрийг ASC мэдээнд нууцлана. Энэ мөчид бид дурын хоёртын утга авдаггүй. Энэ сонголт нь RFC2406 ESP, RFC1827 ESP биш. Энэ тохируулга нь зөвхөн дибаг хийхэд зориулагдсан бөгөөд энэ сонголтыг жинхэнэ нууц түлхүүрээр ашиглахыг хориглосон байдаг. IPsec нууц түлхүүрийг тушаалын мөрөнд үзүүлэхээр та үүнийг ps (1) болон бусад тохиолдлуудад бусдад харагдуулдаг.

-f

"Гадаад" интернетийн хаягуудыг тоон хэлбэрээр биш харин тоон хэлбэрээр хэвлэх (Энэ тохируулга нь Sun-ийн yp серверт ноцтой тархины гэмтэл учруулах зорилготой.

-F

Шүүлтүүрийг илэрхийлэхийн тулд файлыг оруулаарай. Тушаалын мөрөнд өгсөн нэмэлт илэрхийлэлийг үл тоомсорлодог.

-i

Интерфэйс дээрээс сонс. Хэрэв тодорхойгүй бол tcpdump нь хамгийн бага дугаарлагдсан, тохируулагдсан хүртэл интерфэйсийн жагсаалтыг (loopback оруулахгүйгээр) хайх болно. Эхний тоглолтыг сонгосны дараа хэлхээ холбоо тасарна.

Линукс системүүд дээр 2.2 буюу түүнээс цааш цөмүүд дээр байгаа бүх пакетуудыг интерфэйсүүдээс авахын тулд "аль ч" интерфэйсийн нэмэлт өгөгдөлийг ашиглаж болно. "Ямар нэгэн төхөөрөмж" дээр хулганыг идэвхгүй горимд хийхгүй гэдгийг анхаарна уу.

-l

Stdout мөрийг buffered болгох. Хэрэв та датаг барьж байх явцад өгөгдлийг харахыг хүсвэл ашигтай эсэх. Жишээ нь,
`` tcpdump -l | tee dat '' эсвэл `tcpdump -l 'төг & төг -f dat' '.

SMI MIB модулын тодорхойлолтыг файлын модулаас ачаална . Энэ сонголтыг хэд хэдэн MIB модулийг tcpdump болгон хэд хэдэн удаа ашиглаж болох юм.

-n

Хост хаягуудыг нэрээр нь хөрвүүлэх хэрэггүй. Энэ нь DNS хайлтаас зайлсхийхийн тулд ашиглаж болно.

-nn

Протокол болон портын дугаар г.

-N

Хост нэрний домэйн нэрийг хэвлэх шаардлагагүй. Жишээ нь, хэрэв та энэ тугийг өгөх юм бол tcpdump нь `nic.ddn.mil '-н оронд` nic' -г хэвлэнэ.

Пакет-тохирох кодын оновчлогчийг бүү ажиллуул. Энэ нь оновчлогч дээр алдаа гэж сэжиглэхэд л ашигтай.

-p

Завсрын горимд интерфэйсийг бүү тавь. Интерфейс өөр бусад шалтгаанаар хайхрамжгүй горимд байж болохыг анхаарна уу; Тиймээс `-p 'нь` ether host {local-hw-addr} эсвэл эфир цацалт' гэсэн товчилсон үг биш юм.

-q

Хурдан (чимээгүй?) Гаралт. Протоколын мэдээллийг багаар хэвлэх тул шугамын гаралт богино байна.

-R

ESP / AH пакетуудыг хуучин тодорхойлолт дээр үндэслэн (RFC1825-аас RFC1829) дээр үндэслэнэ. Хэрэв заасан бол tcpdump replay урьдчилан сэргийлэх талбарыг хэвлэхгүй. ESP / AH тодорхойлолт дахь протоколын хувилбарын талбар байхгүй тул tsppump нь ESP / AH протоколыг хувилж чадахгүй.

-r

Файлаас пакетуудыг (-w сонголтоор үүсгэгдсэн) -г унших. Стандарт оролт нь файл бол `- ''.

-S

Хамааралтай, TCP дарааллын тооноос илүү үнэмлэхүй хэвлэ.

-s

68 (анхдагч утгууд нь 96) харин хамгийн багадаа 68 (SunOS-ийн NIT-тай хамт багцлана) бүрээс өгөгдлийг Snarf snaplen байт. 68 байт IP, ICMP, TCP ба UDP-д хангалттай боловч нэр сервер болон NFS пакетуудаас протоколын мэдээллийг таслах болно (доороос харна уу). Хязгаарлагдмал хормын хувилбар нь "" [| proto ] '', proto гэдэг нь таслалт явагдсан протоколын түвшингийн нэр юм. Том хормын хувилбартай болох нь пакетийг боловсруулахад шаардагдах хугацааг ихэсгэж, үр дүнтэйгээр пакетийн буфер хэмжээг багасгаж болохыг анзаарах болно. Энэ нь пакетуудыг алдаж болзошгүй юм. Та snaplen- ийг хамгийн багадаа хамгийн сонирхдог дугаараар нь хязгаарлах хэрэгтэй. Snaplen- ийг 0 болгож тохируулах нь бүх пакетуудыг олохын тулд шаардлагатай уртыг ашиглана.

" Илэрхийлэл " -ээр сонгосон пакетууд нь заагдсан төрлийг тайлбарлах болно. Өнөө үед мэдэгдэж байгаа төрөл нь cnfp (Cisco NetFlow протокол), rpc (Remote Procedure Call), rtp (Real-Time Програм протокол), rtcp (Real-Time Програмын хяналтын протокол), snmp (Simple Network Management Protocol) ), wb (цагаан самбарыг тараасан).

Демпингийн мөр бүр дээр цагийн хуваарийг бүү оруул .

Хаягдлын мөр бүр дээр тохиромжгүй цаг хугацааг хэвлэ.

-U

Root эрхүүдийг оруулаад хэрэглэгчийн ID бүлгийн хэрэглэгчийн ID-г хэрэглэгчийн үндсэн бүлэгт оруулдаг.

Анхаар! Улаан Hat Линуксийн автоматаар автоматаар "pcap" хэрэглэгчийг өөрчилдөг.

Одоогийн болон өмнөх мөр хоорондын хогийн мөрөнд дельта (бичил секундээр) хэвлэх.

-тtt

Үүссэн мөр бүр дээр он сар өдрийг хэвлэж анхдагч форматаар хэвлэ.

Шаардлагагүй NFS бариулыг хэвлэх.

-v

(Бага зэрэг) дэлгэрэнгүй гаралт. Жишээлбэл, IP пакетийн амьдрах хугацаа, таних, нийт урт, сонголтууд хэвлэгдэх болно. Мөн IP ба ICMP толгой checksum-г шалгах зэрэг нэмэлт пакетийг бүрэн хянах боломжийг олгодог.

Илүү дэлгэрэнгүй гаралт. Жишээ нь, NFS хариулах пакетуудаас нэмэлт талбарууд хэвлэгдэх бөгөөд SMB пакетууд бүрэн декод хийж болно.

Илүү дэлгэрэнгүй гаралт. Жишээлбэл, telnet SB ... SE сонголтууд бүрэн хэвлэгдэж байна. -X telnet тохируулгууд нь hex дээр бас хэвлэгддэг.

-w

Түүхий пакетуудыг бичиж цэгцлэхийн оронд файлын өгөгдлийг бичих хэрэгтэй. Тэд дараа нь -r сонголтоор хэвлэгдэх боломжтой. Стандарт гаралт нь файлын `` - '' юм.

-x

Багц бүрийг (хасах холбоосын түвшний толгойн хэсгийг хасах) -ийг hx дээр хэвлэ. Бүх пакет эсвэл snaplen байтаас бага хэвлэгдэх болно. Энэ нь бүх холбоос-давхаргын пакет юм. Тэгэхээр холбоосын давхаргууд (жишээлбэл Ethernet) хувьд өндөр давхаргын пакет шаардлагатай тавцангаас богино байхад хэвлэнэ.

-X

Hex хэвлэх үед ASCII хэвлэх. Хэрэв -x тохируулагдсан бол пакет нь hex / ascii хэлбэрээр хэвлэгддэг. Энэ нь шинэ протоколыг шинжлэхэд маш тохиромжтой. Хэдийгээр -x бас тохируулагдаагүй ч зарим пакетуудын зарим хэсгийг hex / ascii хэлбэрээр хэвлэж болно.

илэрхийлэл

аль пакетуудыг хаяхыг сонгоно. Хэрэв ямар нэг илэрхийлэл өгөгдөөгүй бол сүлжээн дэх бүх пакетууд демпинг болно. Үгүй бол зөвхөн илэрхийлэл байгаа зөвхөн пакетууд агуулах болно.

Энэ илэрхийлэл нь нэг буюу хэд хэдэн командуудаас бүрдэнэ. Праймер нь ихэвчлэн нэг буюу хэд хэдэн шалгуураар өмнөх id (нэр эсвэл дугаар) -аас бүрдэнэ. Гурван өөр төрлийн ур чадвар:

төрөл

нэр, дугаарыг ямар төрлийн зүйл гэж нэрлэдгийг тодруулдаг. Боломжит төрлүүд нь хост , цэвэр , порт . Жишээ нь: `host foo ',` net 128.3', `port 20 '. Хэрэв ямар ч төрлийн шалгагч байхгүй бол хостыг тооцоолно.

dir

кредитүүд нь тодорхой шилжүүлгийн чиглэлийг тодорхойлогч ба / эсвэл id- ээс зааж өгдөг. Боломжит чиглэл бол src , dst , src эсвэл dst болон src ба dst юм. Жишээ нь `src foo ',` net 128.3', `src эсвэл dst порт ftp-data 'гэх мэт. Хэрэв ямар ч класс байхгүй бол src эсвэл dst гэж тооцно. `Null 'холболтын давхаргууд (өөрөөр хэлбэл хуудас гэх мэт протоколууд руу чиглүүлэхэд зааж өгнө) дотогшоо болон гадагш чиглэсэн квитанцийг хүссэн чиглэлийг заахад ашиглаж болно.

proto

Чиглүүлэгч нь тухайн протоколыг тоглохыг хязгаарладаг. Боломжит протоколууд нь: эфир , fddi , tr , ip , ip6 , arp , rarp , decnet , tcp болон udp юм. Жишээ нь `ether src foo ',` arp net 128.3', `tcp port 21 '. Хэрэв proto тохируулагч байхгүй бол төрөлтэй нийцэж байгаа бүх протоколыг гаргана. Жишээ нь `src foo` нь` ip (arp буюу rarp) src foo 'гэсэн утгатай (сүүлчийнх нь хууль ёсны синтакс биш бол), `net bar' нь` (ip эсвэл arp эсвэл rarp`) `(tcp эсвэл udp) порт 53 '.

[`fddi 'нь үнэндээ` эфер' нэртэй байна; parser нь "тодорхой сүлжээний интерфэйс дээр ашиглагдаж байгаа өгөгдөл холболтын түвшин" гэсэн утгаар хэрэглэгддэг. FDDI толгойнууд нь Ethernet-тэй төстэй эхлэл болон очих хаягийг агуулдаг бөгөөд Ethernet-тэй төстэй пакетийн төрлийг агуулдаг тул эдгээр FDDI талбарууд ижил төстэй Ethernet талбаруудтай адил юм. FDDI удирдагчид бас бусад талбаруудыг агуулдаг боловч тэдгээрийг шүүлтүүрийн илэрхийлэлд шууд нэрлэж болохгүй.

Үүний нэгэн адил `tr 'нь` эфир' нэртэй alias юм; FDDI удирдамжийн өмнөх догол мөрүүд Token Ring толгойнуудад бас хэрэглэнэ.]

Дээрхээс гадна гарц , цацалт , бага , илүү их , арифметик илэрхийлэл байдаг зарим онцгой "энгийн" түлхүүр үгүүд байдаг. Эдгээр бүх зүйлсийг дор тайлбарлав.

Илүү нарийн түвэгтэй шүүлтүүрийн илэрхийллүүд нь үгүүдийг ашиглах замаар, эсвэл , командыг хослуулахгүй. Жишээ нь `host foo ба порт ftp биш порт ftp-өгөгдөл '. Бичигчийг хадгалахын тулд ижил тvрхчийн жагсаалтыг орхиж болно. Жишээ нь `tcp порт ftp эсвэл ftp-домэйн эсвэл домэйн 'нь` tcp dst порт ftp эсвэл tcp dst порт ftp-өгөгдөл эсвэл tcp dst порт домэйнтой яг адилхан юм.

Зөвшөөрөгдсөн командууд нь:

хост хост

Пакетийн IPv4 / v6 очих талбар нь эзэн эсвэл нэр байж болох юм.

src хост host

Пакетийн IPv4 / v6 эх талбар нь хост байгаа эсэхийг үнэн юм.

хост хост

Хэрэв пакетийн IPv4 / v6-ийн эхлэл эсвэл очих газар байгаа бол хост байх эсэх нь үнэн . Дээрх хост илэрхийллүүдийн аль нэгийг түлхүүр үгнүүд, ip , arp , rarp эсвэл ip6-тай цуг ашиглаж болно:

ip хост хост

Үүнд:

ether proto \ ip болон хост хост

Хэрвээ хост олон тооны IP хаягтай нэр байвал, хаяг бүр тохирсон эсэхийг шалгана.

Ether гэх мэт

Ethernet чиглүүлэлтийн хаяг нь сүнс байгаа эсэхийг үнэн юм. Ehost нь / etc / ethers эсвэл дугаартай (аль эсвэл тоон форматтай байх ишлэлийг (3N) харж болно.

Этерний Сүлд

Этернет эх хаягийг спам гэж үзье .

эферийн хост host

Ethernet эх сурвалж эсвэл очих хаягийг аль алинаар нь байгаа бол үнэн бол.

гарц хост

Пакет хостыг гарц маягаар ашигладаг уу гэдэг нь үнэн. Тиймээ, Ethernet эхлэл эсвэл очих хаяг нь хост байсан боловч IP-ийн эхлэл болон IP очих газар хоёулаа хост байсангүй. Host нь нэр байх ёстой бөгөөд хост-нэр-IP-хаяг шийдвэрлэх механизмууд (хост нэрийн файл, DNS, NIS, гэх мэт) хоёуланг нь хоёуланг нь олж авах ёстой бөгөөд машины хост-нэр -ээс-Ethernet-хаягийн механизм (/ etc / ethers гэх мэт). (Үүний адил илэрхийлэл нь

ether host host болон хост host биш

host / host тушаалд нэрс эсвэл дугаараар ашиглагдаж болно.) Энэ синтакс нь одоогоор IPv6-т боломжтой тохиргоогоор ажиллахгүй байна.

net net байна

Пакет IPv4 / v6 хүрэх хаяг сүлжээний сүлжээний дугаартай бол үнэн үү? Цэвэр нь / etc / networks-ийн нэр эсвэл сүлжээний дугаар (дэлгэрэнгүйг сүлжээнүүд (4-с үзнэ үү) байж болно.

src цэвэр net

Пакет IPv4 / v6 эх хаягийг цэвэр сүлжээний тоог агуулдаг бол үнэн.

цэвэр цэвэр

Пакет IPv4 / v6 эх үүсвэр эсвэл очих хаягийг цэвэр сүлжээний тоог аль алинаар нь авна уу.

net net mask netmask

IP хаяг нь netmask- тэй яг тохирч байх ёстой. Src эсвэл dst- тай таарч болох юм. Энэ синтакс нь IPv6 сүлжээнд хүчин төгөлдөр биш гэдгийг анхаарна уу.

цэвэр net / len

Хэрэв IPv4 / v6 хаяг нь netmask len-ийн өргөнтэй цэвэрхэн тохирч байвал үнэн юм. Src эсвэл dst- тай таарч болох юм.

dst порт порт

Хэрэв пакет IP / tcp, ip / udp, ip6 / tcp эсвэл ip6 / udp байгаа эсэх болон портын чиглэлийн портын утгатай бол үнэн юм. Порт нь / etc / services -д хэрэглэгддэг дугаар эсвэл нэр байж болно ( tcp (4P) болон udp (4P) -г үзнэ үү. Хэрэв нэр ашиглагдсан бол портын дугаар болон протоколыг шалгана. Хэрэв тоо эсвэл хоёрдмол утгатай нэр хэрэглэсэн бол зөвхөн портын дугаарыг шалгасан (өөрөөр хэлбэл dst порт 513 нь tcp / нэвтрэх урсгал болон udp / хэн урсгалыг хоёуланг нь хэвлэдэг бөгөөд портын домэйны хувьд tcp / domain болон udp / domain traffic) хоёуланг хэвлэдэг.

src порт порт

Пакет порт нь портын эхлэлийн портын утгатай эсэх нь үнэн.

порт порт

Хэрэв пакетийн эхлэл эсвэл очих порт нь порт бол Дээрх портын илэрхийллүүдийн аль нэгийг түлхүүр үгнүүд, tcp эсвэл udp- тай цуг ашиглаж болно:

tcp src порт порт

Энэ нь зөвхөн эхлэл порт юм.

бага урт

Пакет урттай эсвэл урттай тэнцүү урттай бол үнэн . Энэ нь:

len <= урт .

илүү урт

Пакет урттай эсвэл урттай тэнцүү урттай бол үнэн . Энэ нь:

len> = урт .

ip proto протокол

Пакет IP пакет ( ip (4P) -ийг протоколийн төрөл протокол хараарай. Протокол нь icmp , icmp6 , igmp , igrp , pim , ah , esp , vrrp , udp эсвэл tcp нэрүүдийн аль нэг юмуу эсвэл нэг байж болох юм. Тcp , udp , icmp гэсэн ялгуурууд нь мөн түлхүүр үгнүүд бөгөөд C-бүрхүүл дээр \\ backslash (\) байгаа. Энэ команд нь протоколын толгойн гинжийг хөөхгүй гэдгийг санаарай.

ip6 proto протокол

Пакет бол протоколын төрлийн протоколын IPv6 пакет юм. Энэ команд нь протоколын толгойн гинжийг хөөхгүй гэдгийг санаарай.

ip6 protochain протокол

Пакет IPv6 пакет бол үнэн бөгөөд протоколын толгойн сүлжээний протоколын толгойн протоколыг агуулна. Жишээлбэл,

ip6 protochain 6

нь протоколын толгой гинжин хэлхээний TCP протоколын толгойтой ямар ч IPv6 пакетийг тааруулдаг. Пакет нь жишээлбэл, таньж нэвтрүүлэх толгой, чиглүүлэлтийн толгой, эсвэл hop-by-hop сонголт толгой IPv6 толгой болон TCP толгойн хооронд агуулж болно. Энэ командаар ялгарах БОУХ-ийн код нь нарийн төвөгтэй бөгөөд tcpdump дахь БПФ-ийн оновчтой кодоор оновчтой болж чадахгүй тул энэ нь арай удаан байдаг.

IP протокол протокол

Ip6 protochain протоколтой ижил боловч энэ нь IPv4 юм.

эфир цацах

Хэрэв пакет нь Ethernet цацах пакет бол үнэн юм. Ether түлхүүр үг нь заавал байх ёстой.

ip broadcast

Пакет IP нэвтрүүлэх пакет бол үнэн юм. Энэ нь бүхэл тэг болон бүх нэвтрүүлэх конвенцуудыг шалгаж орон нутгийн дэд сүлжээг шалгадаг.

эфир multicast

Пакет бол ethernet multicast пакет бол үнэн юм. Ether түлхүүр үг нь заавал байх ёстой. Энэ бол ' ether [0] & 1! = 0 ' товчлол юм.

ip multicast

Пакет бол IP multicast пакет бол үнэн юм.

ip6 multicast

Хэрэв пакет IPv6 multicast пакет бол үнэн бол.

ether proto протокол

Пакет бол ether type protocol бол үнэн. Протокол нь ip , ip6 , arp , rarp , atalk , aarp , decnet , sca , lat , mopdl , moprc , iso , stp , ipx эсвэл netbeui гэсэн дугаар эсвэл нэртэй байж болох юм. Эдгээр ялгуурууд нь бас түлхүүр үгнүүд бөгөөд backslash (\) тэмдэгтүүдээр зайлуулагдах ёстой.

[FDDI жишээлбэл (` fddi protocol arp ') болон Token Ring (ж.нь,` tr protocol arp '), эдгээр протоколуудын ихэнх нь протоколын тодорхойлолт нь 802.2 Logical Link Control (LLC) голдуу FDDI эсвэл Token Ring толгой дээр байрладаг.

FDDI эсвэл Token Ring дээр ихэнх протоколын танихад шүүлт хийх үед tcpdump нь ХХНС-ийн удиртгал ID талбарыг SNAP форматыг 0x000000-ийн зохион байгуулалтын нэгдлийн танигч (OUI) -тай зөвхөн encapsulated Ethernet; Энэ нь пакет SNAP форматтай байгаа эсэхийг OUI-ийн 0x000000-тэй эсэхийг шалгадаггүй.

Аль ч үл хамаарах зүйлүүд нь iso бөгөөд энэ нь LLC толгой ба stp болон netbeui дахь DSAP (Үйлчилгээний үйлчилгээний цэг) болон SSAP (Source Service Access Point) талбаруудыг шалгаж байна. 0x080007 болон Appletalk etype-ийн OUI-тэй SNAP-хэлбэрийн пакетуудыг шалгана.

Ethernet тохиолдолд tcpdump нь тэдгээр протоколуудын ихэнх нь Ethernet төрлийн талбарыг шалгадаг; үл хамаарах зүйл нь iso , sap , netbeui бөгөөд үүгээр 802.3 фреймийг шалгаж дараа нь FDDI болон Token Ring-ийн хувьд толгойг шалгаж байна. Энэ нь альтернет Ethernet хүрээн дэх Appletalk etype SNAP-хэлбэрийн пакет нь FDDI болон Token Ring, aetp , Appletalk ARP etype-г Ethernet хүрээ эсвэл 802.2 SNAP фреймтэй 0x000000 OUI ба IPx-тэй эсэхийг шалгадаг. ХХК-ийн толгой дахь IPX DSAP, 802.3-тай хамт IPX толгойн encapsulation болон IPX-ийн SNAP фрэймээс гаргасан Ethernet хүрээ.]

decnet src хост

DECNET эхлэл хаяг нь хост болох бөгөөд энэ нь "10.123" эсвэл DECNET хостын нэр байж болох юм. [DECNET хост нэр нь зөвхөн Ultrix систем дээр DECNET ажиллуулахаар тохируулагдсан байдаг.]

decnet dst хост

DECNET хүрэх хаяг нь хост юм.

decnet хост хост

DECNET эх сурвалж эсвэл очих хаягийн аль нь ч хост байх эсэх нь үнэн .

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

Товчлолууд:

эфир прото х

энд p нь дээрх протоколуудын аль нэг юм.

лат

Товчлолууд:

эфир прото х

энд p нь дээрх протоколуудын аль нэг юм. Одоогоор tcpdump эдгээр протоколыг хэрхэн задлахаа мэдэхгүй байгааг анзаараарай.

vlan [vlan_id]

Пакет бол IEEE 802.1Q VLAN пакет юм уу үнэн юм. Хэрэв [vlan_id] тодорхойлогдсон бол зөвхөн пакет тодорхой vlan_id байна. Пакет нь VLAN пакет гэсэн таамаглалд илэрхийлсэн үлдэгдэл илэрхийллийн хувьд decoding offsets илэрхийлэлд орсон анхны vlan түлхүүр үг гэдгийг санаарай.

tcp , udp , icmp

Товчлолууд:

ip proto p эсвэл ip6 proto p

энд p нь дээрх протоколуудын аль нэг юм.

iso протокол протокол

Хэрэв пакет нь протоколын төрлийн протоколын OSI пакет бол үнэн бол. Протокол нь clnp , esis , oris гэсэн нэрс эсвэл тооны аль нэг байж болно.

clnp , esis , isis

Товчлолууд:

iso proto p

энд p нь дээрх протоколуудын аль нэг юм. Tcpdump эдгээр протоколуудыг шийдэх бүрэн бус ажил хийдэг гэдгийг санаарай.

expop relop expr

, Rel = нь бүхэл тоон тогтмолуудаас бүрдэх арифметик илэрхийлэл (стандарт C синтаксаар илэрхийлсэн), хэвийн хоёртын операторууд [+] , -, *, /, &, |], урт оператор, тусгай пакет өгөгдөл холбогч. Пакет дотор өгөгдөлд хандахын тулд дараах синтаксийг ашиглана уу:

proto [ expr : size ]

Proto бол эфир, fddi, tr, ppp, slip, холбоос, ip, arp, rarp, tcp, udp, icmp эсвэл ip6-ийн нэг бөгөөд индексийн үйлдлийн протоколын давхаргыг заана. (бүгдийг холбох давхарга , ether, fddi, tr, ppp, хуудас , линк зэрэг холбоосуудын давхаргыг холбоно.) Tcp, udp болон бусад дээд түвшний протоколын төрлүүд нь зөвхөн IPv6 биш IPv4-д хамаатай болохыг анхаарна уу (энэ нь ирээдүйд засагдах болно). Тэмдэгт протоколын давхаргатай харьцуулсан байт объектыг expr -ээр өгдөг . Хэмжээ нь сонголттой бөгөөд сонирхлын талбарт байтын тоог илэрхийлнэ; Энэ нь нэг, хоёр эсвэл дөрөв байж болох ба нэг нь анхдагч байж болно. Урт холбогч нь түлхүүр үгийн тусламжтайгаар пакетын уртыг өгдөг.

Жишээлбэл ` ether [0] & 1! = 0 'нь бүх multicast урсгалыг агуулдаг. ` 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 icmp-ireq , icmp-ireqreply , icmp-maskreq , icmp-maskreply .

Дараах TCP тугуудын талбарын утгууд байдаг: tcp-fin , tcp-syn , tcp-rst , tcp-push , tcp-push , tcp-ack , tcp-urg .

Командуудыг дараах байдлаар хослуулан хэрэглэж болно:

Командууд болон операторуудын хаалттай бүлэг (хаалт нь Shell-д тусгайлан зориулагдсан бөгөөд зугтах ёстой).

Нэвтрэх (` ! 'Эсвэл` үгүй ').

Нийлүүлэлт (` && 'эсвэл` ба ').

Шилжилт (` || ' эсвэл` эсвэл ').

Нэвтрэх нь тэргүүлэх ач холбогдол өгдөг. Альтернатив ба нэгдмэл байдал нь адил тэгш, нэгдмэл байдалтай байна. Тодруулбал , жетонууд нь хоорондоо нэгдмэл байх шаардлагагүй гэдгийг анхаарна уу.

Хэрвээ тодорхойлогч нь түлхүүр үг өгөгдөөгүй бол хамгийн сүүлийн үеийн түлхүүр үг хэлнэ. Жишээлбэл,

host болон адс биш

богино байна

Ажилд орохгүй, эзэн хүлээн авахгүй

Энэ нь андуурч болохгүй

үгүй (хост сүсэг бишрэл эсвэл хөшөө)

Тэлэлтийн нэмэлт өгөгдлүүдийг tcpdump болгон ганц аргумент эсвэл олон нэмэлт өгөгдлөөр аль аль нь илүү тохиромжтой гэж үзэн өгч болно. Ерөнхийдөө, хэрэв илэрхийлэл Shell мета-тэмдэгтийг агуулдаг бол энэ нь ганц, иш татсан аргумент байдлаар дамжих нь илүү хялбар байдаг. Зарим нэмэлт өгөгдлүүдийг задлан шинжлэхээс өмнө зайгаар тусгаарладаг.

Жишээ нь

Нар жаргахаас ирж эсвэл гарч ирэх бүх пакетуудыг хэвлэхийн тулд:

tcpdump хост нар жаргах

Хайлт болон халуун эсвэл хөзрийн хоорондох урсгалыг хэвлэх:

tcpdump host helios ба \ (hot or ace \)

Бүх төрлийн IP пакетуудыг helios болон бусад хостуудын хооронд хэвлэх хэрэгтэй.

tcpdump ip host эзэн, helios биш

Беркли дэх хостууд болон хостуудын хоорондох бүх урсгалыг хэвлэх хэрэгтэй:

net ucb-ээс тогтох

Интернэтийн гарцын серверээр дамжуулан бүх ftp траффортийг хэвлэхийн тулд : (илэрхийлэл нь бүрхүүлийг ( mis- ) хаалтыг тайлбарлахаас ишлэж байгаа гэдгийг анхаарна уу:

tcpdump 'гарцын snup болон (port ftp эсвэл ftp-data)'.

Орон нутгийн хостуудад зориулж ямар нэгэн эх үүсвэрээс эсвэл чиглүүлэлт хийхгүй байхыг хэвлэх (хэрэв та өөр нэг сүлжээнд нэвтрэх бол үүнийг энэ нь хэзээ ч өөрийн дотоод сүлжээнд хэзээ ч хийж болохгүй).

net localnet биш tcpdump ip

TCP харилцан яриа бүрийн эхлэл болон төгсгөлийн пакетуудыг (SYN ба FIN пакет) хэвлэхэд орон нутгийн бус хост хамаарна.

tcpflags] & (tcp-syn | tcp-fin)! = 0 бөгөөд src болон net localnet -

Гарцын дуудлагаар дамжуулан илгээсэн 576 байтаас урт IP пакетуудыг хэвлэхийн тулд:

tcpdump 'гарцын snup болон ip [2: 2]> 576'

Ethernet цацалт эсвэл multicast ашиглан илгээгээгүй IP цацалт эсвэл multicast пакетуудыг хэвлэхийн тулд:

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

ICCHP пакетуудыг хэвлүүлэхийн тулд цуурай хүсэлт / хариулт (өөрөөр хэлбэл пакетуудыг биш) хэвлэхийг хүсэх:

tcpdump 'icmp [icmptype]! = icmp-echo болон icmp [icmptype]! = icmp-echoreply'

OUTPUT FORMAT

Tcpdump тушаал нь протоколын хамааралтай байдаг. Дараах жишээнүүд нь ихэнх форматын товч тайлбар, жишээг өгдөг.

Холбоос түвшний удирдагчид

Хэрэв '-e' сонголт өгөгдсөн бол холбоосын түвшингийн толгой гарчигтай хэвлэгдэнэ. Эрчим хүчний эх үүсвэр, эх сурвалж, хүрэх хаяг, протокол, пакетийн урт хэвлэгддэг.

FDDI сүлжээнүүд дээр '-e' сонголт tcpdump нь frame control буюу эхлэл ба очих хаяг, пакетийн уртыг хэвлэхэд хүргэдэг. ("Frame control" талбар нь бусад пакетын тайлбарыг зохицуулдаг.) ​​Энгийн пакетууд (IP датриумууд агуулсан гэх мэт) нь "async" пакетууд бөгөөд 0-ээс 7 хоорондох давуу эрхтэй утга, жишээ нь, ` async4 '. пакетууд нь 802.2 логик холболтын хяналт (LLC) пакет агуулж байвал LLC толгой нь ISO дорим буюу SNAP пакет биш бол хэвлэгддэг.

Token Ring сүлжээнүүд дээр '-e' сонголт tcpdump нь хандалтын хяналт болон хүрээ хяналтын талбарууд, эхлэл болон очих хаягууд, пакетийн уртыг хэвлэхэд хүргэдэг. FDDI сүлжээнүүдийн адилаар пакетууд ХХК-ийн багцыг агуулна гэсэн үг юм. '-e' тохируулга тодорхойлогдсон эсэхээс үл хамааран эх үүсвэр чиглүүлэгдсэн пакетуудын хувьд эх чиглүүлэлтийн мэдээлэл хэвлэгддэг.

(NB: Дараах тайлбар нь RFC-1144-д тодорхойлсон SLIP шахах алгоритмтай танил болсныг харуулна.)

SLIP холбоос дээр чиглэлийн заагч (гадагшаа "I", гадагшаа "O"), пакетын төрөл, шахалтын мэдээлэл хэвлэгддэг. Пакет төрөл нь эхэлж хэвлэгдэнэ. Эдгээр гурван төрлүүд нь ip , utcp , ctcp юм. Илгээхийн тулд IP пакетуудад цаашид холбоос мэдээллийг оруулахгүй. TCP пакетуудын хувьд холболтын тодорхойлогч төрөл төрлөөр хэвлэгдэнэ. Хэрэв пакет шахагдсан бол түүний кодчилсон толгой гарчигтай хэвлэгдэнэ. Тусгай тохиолдлууд нь * S + n ба * SA + n гэж хэвлэгдсэн, n нь дарааллын дугаар (эсвэл дарааллын дугаар ба дараалал) өөрчлөгдсөн тоо. Хэрэв энэ нь тусгай тохиолдол биш бол тэг буюу түүнээс дээш өөрчлөлт хэвлэгддэг. Өөрчлөлтийг U (яаралтай заагч), W (цонх), A (ack), S (дарааллын дугаар), би (пакет ID), дельта (+ n эсвэл -n), эсвэл шинэ утга (= n). Эцэст нь пакетийн өгөгдлийн хэмжээ болон шахагдсан толгойн урт нь хэвлэгддэг.

Жишээлбэл, дараах мөрөнд гадагшаа шахагдсан TCP пакетыг, холболт тогтоогчийн таних кодыг харуулж байна; Дараа нь 6, дараалсан дугаар 49, пакетийн дугаар 6; 3 байт өгөгдөл болон шахсан толгойн 6 байт байна:

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

ARP / RARP пакетууд

Arp / rarp гаралт нь хүсэлтийн төрөл болон түүний аргументуудыг харуулдаг. Формат нь өөрөө тайлбарлах зориулалттай. Host-ээс ` rlogin'- ээс эхлээд сс- ийг хост руу авах богино жишээг энд үзүүлэв :

CS-д CS-тэй CS-д хандах гэж байгаа arp -г хэлж байна

Эхний мөрөнд rtsg интерфэйсийн хост ссемийн ethernet хаягыг асууж arp пакет илгээсэн гэжээ. Csam хариултууд нь Ethernet хаягтай (энэ жишээнд ethernet хаягууд хязгаартай, интернет хаягууд бага тохиолдолд).

Хэрэв бид tcpdump -n тушаал хийсэн бол энэ нь илүү их харагдах болно:

128.3.254.6 128.3.254.6 128.3.254.68 arp хариулт 128.3.254.6 хэлэх 02: 07: 01: 00: 01: c4

Хэрэв бид tcpdump -e- г хийснийхээ дараа эхний пакет цацагдах бөгөөд хоёр дахь нь point-to-point харагдах болно:

RTSG нэвтрүүлэг 0806 64: CSS RTSG 0806 64: arp хариулт csam CSAM

Эхний пакетийн хувьд Ethernet эх хаягийн хаяг нь RTSG, очих хаяг нь Ethernet цацах хаяг, төрөл талбар нь Hex 0806 (ETHER_ARP төрөл) ба нийт урт нь 64 байт байна.

TCP пакетууд

(NB: Дараах тайлбар нь RFC-793-д тайлбарласан TCP протоколтой танилцсан байхыг шаарддаг . Хэрэв та протоколоо сайн мэдэхгүй байгаа бол энэ тодорхойлолт эсвэл tcpdump нь танд ч хамаагүй хэрэг болно.)

TCP протоколын мөрний ерөнхий хэлбэр нь:

src> dst: тугны өгөгдөл-seqno ack цонх яаралтай тохируулгууд

Src болон бусад нь эхлэл ба очих IP хаягууд ба портууд юм. Тугуудыг SY (SYN), F (FIN), P (PUSH), R (RST) эсвэл нэг `. (ямар ч тугнууд). Өгөгдөл-seqno нь энэ пакетийн өгөгдлийн хамрах хүрээний хэсгийг тодорхойлно (доорх жишээг үзнэ үү). Ack нь энэ холболтод байгаа өөр чиглэлээс хүлээгдэж буй дараагийн өгөгдлийн дарааллын дугаар юм. Цонх нь энэ холболтод байгаа бусад чиглэлийг хүлээн авах буфер талбайн тоо юм. Уртраг нь пакет дотор яаралтай өгөгдөл байгаа эсэхийг заана. Тохируулга нь tcp тохируулгууд өнцгийн хаалтанд хаалттай байдаг (жишээ нь, ).

Src, dst ба тугууд нь үргэлж байдаг. Бусад талбарууд нь пакетийн TCP протоколын толгой хэсгийн агуулгаас хамаарч зөвхөн тохиромжтой бол гаралт юм.

Энд host тушаалаас ирсэн rlogin-н эхний хэсэг нь csam- г хостолдог .

rtsg.1023> csam.login: S 768512: 768512 (0) win 4096 csam.login> rtsg.1023: S 947648: 947648 (0) ack 768513 ялах 4096 rtsg.1023> csam. нэвтрэх:. ack 1 ялах 4096 rtsg.1023> csam.login: P 1: 2 (1) ack 1 ялах 4096 csam.login> rtsg.1023:. ack 2 win 4096 rtsg.1023> csam.login: P 2:21 (19) ack 1 ялах 4096 csam.login> rtsg.1023: P 1: 2 (1) ack 21 ялах 4077 csam.login> rtsg.1023: P 2: 3 (ack 21 ялалт 4077 яаралтай 1 csam.login> rtsg.1023: P 3: 4 (1) ack 21 ялалт 4077 яаралтай 1

Эхний мөр нь rtsg дээр tcp port 1023 пакетыг csam дээр порт руу илгээсэн гэж зааж өгсөн. S нь SYN тугийг тавьсаныг заана. Пакет дэс дарааллын дугаар 768512 байсан бөгөөд энэ нь ямар ч өгөгдөл агуулаагүй байна. (Тодорхойлолт нь эхнийх нь: сүүлд (nbytes) гэсэн үг бөгөөд `дарааллын тоо нь эхлээд хүртэлх хэрэглэгчийн өгөгдлийн nbytes байт, гэхдээ сүүлд нь оруулагдана гэсэн үг юм.) Piggy дээр тулгуурласан ack байхгүй бөгөөд боломжтой хүлээн авах цонх нь 4096 байт, 1024 байт нь mss-ийг хүсэх хамгийн их сегмент-хэмжээтэй тохируулга байсан.

Csam хариултууд нь ижил төстэй пакеттай бөгөөд rtsg's SYN-т зориулсан piggy-backed ack-ээс өөр юм. Rtsg дараа нь csam-ийн SYN. `. ' гэдэг нь ямар ч тугийг тохируулаагүй гэсэн үг юм. Пакет ямар ч өгөгдөл агуулаагүй тул өгөгдлийн дарааллын дугаар байхгүй. Ack дараалсан дугаар нь жижиг тоо (1) юм. Эхний удаа tcpdump tcp `conversation '-г хардаг бөгөөд энэ нь пакетийн дараалсан дугаарыг хэвлэдэг. Харилцааны дараагийн багц дээр одоогийн пакетийн дарааллын дугаар болон эхний дарааллын дугааруудын хоорондын ялгаа хэвлэгддэг. Энэ нь харилцан ярианы өгөгдлийн урсгалд харьцангуй байтын байрлал гэж тайлбарлагдаж болно (эхний өгөгдлийн байт нь чиглэл бүр нь `1'-тэй). `-S 'нь энэ функцийг дарж, анхны дарааллын тоог гаргаж ирэх болно.

6 дахь мөрөнд rtsg 19 байт өгөгдлийг илгээдэг (харилцан ярианы rtsg -> csam тал дахь 2 байт). PUSH тугийг пакет дээр тавьсан. 7-р мөрөнд csam нь rtsg-ээр илгээгдсэн өгөгдлийг хүлээн авдаг боловч 21-ийг оруулалгүй өгөгдлийг хүлээн авдаг гэж үздэг. Энэ өгөгдөлийн ихэнх нь 19 бут секундэд хүрч ирснээс хойш сокет buffer-д сууж байгаа юм. Csam нь мөн нэг байт өгөгдлийг энэ пакет дахь rtsg рүү илгээдэг. 8, 9-р мөрөнд csam хоёр байтыг яаралтай илгээж, өгөгдлийг rtsg рүү илгээдэг.

Хэрэв хормын хувилбар TCP толгойг бүрэн хэмжээгээр аваагүй бол tcpdump нь бүрэн TCP толгойг агуулж чадаагүй бол толгой хуудасны хэмжээг ихэвчлэн тайлбарлаж " tcp ] '' үлдсэнийг тайлбарлах боломжгүй байна. Хэрэв толгой нь буруу тохируулгыг агуулдаг (толгойн төгсгөлөөс хэтэрхий жижиг юмуу эсвэл урт урттай) бол tcpdump үүнийг [" муу opt " гэж тайлагнадаг бөгөөд нэмэлт сонголтуудыг тайлбарлахгүй (учир нь үүнийг хэлэх боломжгүй юм Тэд хаанаас эхлээд). Хэрэв толгойн урт нь тохируулгууд байгааг харуулдаг бол IP датагтын урт нь сонголтууд тэнд байхаар хангалттай урт биш юм, tcpdump үүнийг "[ bad hdr length ]" гэж мэдээлдэг .

Тодорхой тугнуудтай хослуулсан TCP пакетуудыг олж авах (SYN-ACK, URG-ACK гэх мэт)

TCP толгой хэсгийн хяналтын бит хэсгүүдэд 8 бит байдаг:

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

TCP холболт тогтооход ашиглагдах пакетуудыг харахыг хүсэж байна гэж үзье. TCP нь шинэ холболтыг эхлүүлэх үед 3-way handshake протоколыг ашигладаг гэдгийг санаарай; TCP хяналтын битийн хувьд холболтын дараалал нь

1) Дуудагч SYN илгээдэг

2) Хүлээн авагч нь SYN, ACK-тэй хариу өгдөг

3) Дуудагч ACK илгээдэг

Одоо бид зөвхөн SYN-тэй тохируулсан пакетуудыг татаж авах сонирхолтой байна (Алхам 1). Бид 2-р алхам (SYN-ACK) пакетуудыг ердөө л энгийн SYN-ийн пакетуудыг авахыг хүсэхгүй байгаа гэдгийг анхаарна уу. Бидэнд хэрэгтэй зүйл бол tcpdump- д зөв шүүлтүүр гэсэн илэрхийлэл байдаг.

TCP толгойн бүтэцгүй сонголтыг бүтнээр нь санах:

0 15 31 ----------------------------------------------- ------------------ | эх код destination порт | -------------------------------------------------- --------------- | дарааллын дугаар | -------------------------------------------------- --------------- | хүлээн зөвшөөрөх дугаар | -------------------------------------------------- --------------- | HL | rsvd | C | E | U | A | P | R | S | F | цонхны хэмжээ | -------------------------------------------------- --------------- | TCP checksum | яаралтай заагч | -------------------------------------------------- ---------------

TCP толгой нь ихэнхдээ өгөгдлүүд байхгүй бол 20 октетыг агуулдаг. Графикийн эхний мөр нь 0-3-тай octets, хоёр дахь мөр нь octets 4 - 7 г.

0-ээр тоологдохоосоо өмнө холбогдох TCP-ийн хяналтын битүүдийг octet 13-д агуулна.

0 7 | 15 | 23 | 31 ---------------- | --------------- | --------------- | ---------------- | HL | rsvd | C | E | U | A | P | R | S | F | цонхны хэмжээ | ---------------- | --------------- | --------------- | - --------------- | | 13-р октет | | |

Octet no-ийг илүү ойроос харцгаая. 13:

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

Эдгээр нь бид сонирхож байгаа TCP-ийн хяналтын хэсгүүд юм. Бид энэ октет дээрх 0-ээс 7 дугаартай, зүүнээс баруун тийш библийн дугаарыг дугаарласан бөгөөд PSH битийн тоо 3, URG битийн тоо 5 байна.

Пакетуудыг зөвхөн SYN тохируулгаар авахыг хүсч байгаагаа санаарай. TCP datagram нь SYN битийн толгой хэсэгт түүний ирдэг бол octet 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 нь сүлжээний байт дараалалд 8 битийн unsigned бүхэл тоо юм гэж үзвэл энэ октет дээрх хоёртын утга нь

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-г тохируулсан бол одоо TCN толгой дахь 8-бит unsigned integer гэж ойлгогдож байгаа TCP толгой дахь 13-р октаны утга яг 2 байна.

Энэ харилцааг дараах байдлаар илэрхийлж болно

tcp [13] == 2

Бид энэ илэрхийллийг tcpdump- д зориулсан шүүлтүүрээр зөвхөн SYN тохируулсан пакетуудыг харахын тулд ашиглаж болно:

tcpdump -i xl0 tcp [13] == 2

Энэ илэрхийлэл нь "TCP datagram-ийн 13 октет аравтын утга 2 байна" гэж бичсэн байна.

Одоо бид SYN пакетуудыг барьж байх хэрэгтэй гэж үзье гэхдээ ACK эсвэл бусад TCP-ийн хяналтын бит нэг зэрэг тохируулагдсан эсэхийг бид анхаарах хэрэггүй юм. SYN-ACK багцтай TCP datagram гарч ирэх үед octet-д юу тохиолдохыг үзье.

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

Одоо 13-р octet дээр 1 ба 4-р битүүдийг тавьсан. Octet 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 битийг хадгалахын тулд өөр нэг утга бүхий octet-ийн хоёртын утга шаардлагатай. Бид SYN-г ямар ч тохиолдолд тохируулахыг хүсч байгааг мэдэж байгаа болохоор бид 13-р octet дахь SYN-ийн утгыг нь SYN-ийн утгатай тэнцүү байх болно:

00010010 SYN-ACK 00000010 SYN AND 00000010 (бид SYN) AND 00000010 (бид SYN) -------- -------- = 00000010 = 00000010

Энэ AND operation нь ACK эсвэл өөр TCP-ийн хяналтын бит тохируулагдсан эсэхээс үл хамааран ижил үр дүнг харуулдаг. Энэ AND аргын аргуудын аравтын дүрслэл болон энэ үйл ажиллагааны үр дүн нь 2 (binary 00000010) бөгөөд SYNтэй пакетуудын хувьд дараах хамааралтай байх ёстойг бид мэднэ:

(octet 13) AND (2)) == (2)

Энэ нь биднийг tcpdump шүүлтүүрийн илэрхийлэлд заадаг

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

Бүрхүүлээс AND ('&') тусгай тэмдэгтийг нуухын тулд нэг хашилт эсвэл уртраг зураас ашиглан илэрхийлэх ёстойг анхаарна уу.

UDP пакетууд

UDP форматыг энэ пакетаар харуулсан болно:

actinide.who> broadcast.who: udp 84

Энэ нь хост actinide нь хост цацах , интернетийн цацалтын хаяг дээр хэн портод udp datagram илгээсэн гэж үздэг. Пакет нь 84 байт хэрэглэгчийн өгөгдлийг агуулна.

Зарим UDP үйлчилгээ хүлээн зөвшөөрөгддөг (эх үүсвэр эсвэл очих портын дугаараас) болон дээд түвшний протоколын мэдээллийг хэвлэдэг. Тухайлбал, Домэйн нэрийн үйлчилгээний хүсэлтүүд (RFC-1034/1035) болон Sun RPC дуудлага (RFC-1050) руу NFS рүү шилждэг.

UDP Нэр Серверийн хүсэлт

(NB: RFC-1035-д тодорхойлсон Домэйн Үйлчилгээний протоколтой танилцахдаа дараах тайлбарыг өгнө. Хэрэв та протоколоо сайн мэддэггүй бол дараах тайлбарыг greek бичнэ гэсэн үг юм.)

Серверийн нэрийн хүсэлтүүд нь форматлагдсан байна

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

H2opolo host нь helios дээр домэйн сервер асууж ucbvax.berkeley.edu -той холбоотой хаягийн бичлэг (qtype = A) -г асуусан. Хайлтын нэр нь `3 'байсан. `+ 'Нь рекурс хүссэн туг тавьсаныг заана. Хайлтын урт нь 37 байт, UDP болон IP протоколын толгойг оруулаагүй болно. Хайлтын үйлдэл нь ердийн нэг байсан, Query , тиймээс op талбарыг орхисон. Хэрэв op нь өөр зүйл байсан бол `3 'болон' + 'хооронд хэвлэгдэх байсан. Үүнтэй адилаар qclass хэвийн, C_IN , хэвийн бус байсан. Бусад qclass нь `A 'дараа даруй хэвлэгдэх байсан.

Хэд хэдэн гажилтыг шалгаж, дөрвөлжин хаалтанд хавсаргасан нэмэлт талбаруудад хүргэж болох юм. Хэрэв асуулга нь хариултыг агуулсан бол эрх мэдэлтнүүдийн бүртгэл эсвэл нэмэлт бичлэгийн хэсэг, тоон , nscount , эсвэл arcount нь '[ n a]', ' n ' ] 'эсвэл `[ n au]' энд n нь зохих тоо юм. Хүлээн авах битүүдийн аль нэгийг (АА, RA эсвэл rcode) эсвэл "тэг байх ёстой" аль нь аль нь байтаар хоёр, гуравт тохируулагдсан бол x [ x ' толгой байт хоёр ба гурав.

UDP Нэр Серверийн хариултууд

Серверийн нэрийг нэрлэх нь форматтай байна

src> dst: id op rcode flags 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)

Эхний жишээнд helios нь h2opolo-ийн id 3 хариултын хариу 3 хариуг, 3 нэрний серверийн бичлэг, 7 нэмэлт бичлэгийг үзүүлдэг. Эхний хариулт нь A (А) хаягийг бичиж өгөгдөл нь интернетийн хаяг 128.32.137.3 юм. Хариултын нийт хэмжээ нь 273 байт, UDP болон IP толгойг оруулаагүй болно. А тэмдэглэл (Query) болон хариу код (NoError) -ыг А тэмдэглэлийн ангиллын (C_IN) хаягийг оруулаагүй болно.

Хоёрдахь жишээнд helios нь асуултад хариулт өгөх хариугүй хариугүй код (NXDomain) хариулт, хариулт, нэг нэрийн сервер, эрх бүхий бүртгэл байхгүй гэсэн хариу өгдөг. `* 'Нь эрх мэдэл бүхий хариултыг тогтоосон байна. Хариулт байхгүй тул ямар ч төрлийн, анги, өгөгдөл хэвлэгдээгүй.

Бусад гарч ирж байгаа туг тэмдэгтүүд нь `- '(боломжтой рекурс, RA, not set) ба` |' (тасархай мэдээ, ТС, багц). `Асуулт 'хэсэгт яг нэг оруулга агуулаагүй бол` [ n q]' хэвлэгддэг.

Нэр серверийн хүсэлтүүд болон хариултууд нь ихэвчлэн том байх бөгөөд 68 байтын анхдагч snaplen нь уг пакетийг хэвлэх хангалттай мэдээллийг агуулж чаддаггүйг санаарай . Хэрэв та нэр серверийн урсгалыг нухацтай судалж үзэх хэрэгтэй бол s flag ашиглаж snaplen-ийг нэмэх хэрэгтэй. ` -s 128 'миний хувьд сайн ажилласан.

SMB / CIFS декодлох

tcpdump нь UDP / 137, UDP / 138 болон TCP / 139 дээрх өгөгдөлд зориулж SMB / CIFS / NBT декодлууг агуулдаг. IPX болон NetBEUI SMB-ийн өгөгдөлийн зарим дэс дарааллуудыг мөн хийдэг.

Анхдагчаар нэлээн бага уншилт хийдэг бөгөөд хэрэв -v ашиглагдсан бол илүү нарийвчилсан кодод хийгддэг. -vva-нэг SMB пакеттай хамт нэг хуудас эсвэл түүнээс дээш хэмжээгээр авч болно гэдгийг анхааруулмаар байна, тиймээс зөвхөн -v -г бүх үнэн хэрэгтээ бүх чиний дэлгэрэнгүй мэдээллийг хүсэж байгаа бол -v-ашиглах.

Хэрэв та Unicode мөр агуулсан SMB сессүүдийг декодлож байгаа бол USE_UNICODE орчны хувьсагчийг тохируулахыг хүсч болох юм. Unicode скрайнуудыг автоматаар илрүүлэх засварыг тавтай морилно уу.

SMB пакетийн форматын тухай мэдээлэл болон бүх талбарууд нь www.cifs.org эсвэл таны дуртай samba.org толь сайтад тавигдсан pub / samba / specs / санг үзнэ үү. SMB засваруудыг Andrew Tridgell (tridge@samba.org) бичсэн.

NFS хүсэлт ба хариулт

Sun NFS (Сүлжээний Файлын Систем) хүсэлт болон хариу нь дараах байдалтай байна:

src.xid> dst.nfs: len op args src.nfs> dst.xid: хариулах стат len op үр дүн sushi.6709> wrl.nfs: 112 readlink fh 21,24 / 10.73165 wrl.nfs> sushi.6709: хариулах 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

Эхний мөрөнд хост суши id 6709- тай гүйлгээг илгээдэг (src хостын дараах тоо нь эх үүсвэрийн порт биш гүйлгээний дугаар юм ). Уг хүсэлт нь 112 байт, UDP болон IP толгойг оруулаагүй болно. Энэ үйлдэл нь файлын бариул (fh) 21,24 / 10.731657119 дээр readlink (уншсан симболын холбоос) байсан. (Хэрэв азтай бол, энэ тохиолдолд файлын бариулыг гол, жижиг төхөөрөмжийн дугаар хос гэж нэрлээд дараа нь inode дугаар болон үйлдвэрлэгчийн дугаар гэж бичнэ.) Wrl хариулт нь 'холбоос' гэсэн холбоосыг агуулна .

Гурав дахь мөрөнд sushi нь xcolors гэсэн нэрийг 9,74 / 4096.6878 гэсэн фолдерт хайхыг хүсдэг. Хэвлэсэн өгөгдөл нь үйлдлийн төрлөөс хамаарна гэдгийг анхаарна уу. Энэ формат нь NFS протоколын тодорхойлолттой хамт уншигдахаар бол өөрөө тайлбарлах зориулалттай юм.

Хэрэв -v (дэлгэрэнгүй) тугийг өгсөн бол нэмэлт мэдээлэл хэвлэгддэг. Жишээлбэл:

sushi.1372a> wrl.nfs: 148 read fh 21,11 / 12.195 8192 байт @ 24576 wrl.nfs> sushi.1372a: хариулах OK 1472 уншаар REG 100664 ids 417/0 sz 29388

(-v нь мөн IP толгой TTL, ID, урт, тасархай талбаруудыг энэ жишээн дээр оруулаагүй болно.) Эхний мөрөнд sushi wrt тушаалыг 8192 байт файлыг 21,11 / 12.195 гэсэн файлаас уншихыг асуут 24576. Wrl хариулт 'ok'; Хоёр дахь мөрөнд харуулсан пакет нь хариуны эхний хэсэг юм. Тиймээс зөвхөн 1472 байт урт (бусад байтууд нь дараагийн хэсгүүдэд дагах болно) боловч эдгээр хэсгүүд нь NFS эсвэл бүр UDP толгойнуудыг агуулдаггүй болохоор хэвлэгдэхгүй байж болох юм. ашиглах шүүлтүүрээс хамаарна). Учир нь -v тугийг өгсөн учир файлын зарим шинж чанарууд (файлын өгөгдлөөс гадна буцаж ирдэг) хэвлэгддэг: файлын төрөл (`` REG '', ердийн файлын хувьд), файлын горим (octal дээр), uid болон gid, файлын хэмжээ.

Хэрэв -v туг нь нэгээс илүү удаа өгөгдсөн бол илүү дэлгэрэнгүй мэдээлэл хэвлэгддэг.

NFS хүсэлтүүд нь маш том бөгөөд snaplen нэмэгдээгүй л бол нарийвчилсан мэдээллүүд хэвлэгдэхгүй гэдгийг санаарай . NFS урсгалыг үзэхийн тулд ` -s192 'ашиглана уу.

NFS хариулах пакетууд RPC үйлдлийг тодорхой зааж өгөөгүй байна. Үүний оронд tcpdump нь "сүүлийн үеийн" хүсэлтийг дагаж, гүйлгээний ID-г ашиглан хариултуудтай тааруулна. Хариулт нь холбогдох хүсэлтийг дагаж мөрдөхгүй бол үүнийг хийх боломжгүй болно.

AFS Хүсэлтүүд болон хариултууд

Transarc AFS (Эндрю файлын систем) хүсэлт ба хариулт дараах байдалтай байна:

src.sport> dst.dport: rx пакет-type src.sport> dst.dport: rx пакет төрлийн үйлчилгээ call call- args src.sport> dst.dport: rx пакет төрлийн үйлчилгээ хариулах дуудлагын нэр argv. 7001> pike.afsfs: rx өгөгдөл fs rename old fid гэж нэрлэгддэг 536876964/1/1 ".newsrc.new" шинэ форум 536876964/1/1 ".newsrc" pike.afsfs> elvis.7001: rx өгөгдөл fs өөрчлөгдсөн хариулт

Эхний мөрөнд host elvis нь Pike нь RX пакетыг илгээдэг. Энэ нь RX өгөгдлийн багцыг fs (fileserver) үйлчилгээнд үзүүлсэн бөгөөд RPC дуудлагын эхлэл юм. RPC дуудлага нь нэр нь хуучин нэртэй файл болох 536876964/1/1, `.newsrc.new 'гэсэн файлын хуучин файлын нэр болон шинэ файлын файлын ID 536876964/1/1 болон`. newsrc '. Host pike нь RPC хариулттай нэрийг дуудах (амжилттай болсон, энэ нь өгөгдлийн пакет, тасархай пакет биш байсан тул).

Ер нь, бүх AFS RPC-ууд наад зах нь RPC дуудлагын нэрээр декодлогдсон байна. Ихэнх AFS RPC нь наад зах нь аргументууд декодчилогдсон байдаг (ер нь зөвхөн сонирхолтой зарим тодорхойлолтуудын хувьд зөвхөн "сонирхолтой" аргументууд байдаг).

Формат нь өөрөө өөрийгөө дүрсэлж байх зорилготой боловч AFS болон RX-ийн үйл явцыг сайн мэдэхгүй хүмүүст ашигтай байж болох юм.

Хэрэв -v (дэлгэрэнгүй) туг хоёр удаа өгөгдсөн бол RX дуудлагын ID, дуудлагын дугаар, дарааллын дугаар, серийн дугаар, RX пакетийн туг гэх мэт нэмэлт хүлээн зөвшөөрөгдсөн пакетууд болон нэмэлт толгойн мэдээлэл хэвлэгддэг.

Хэрэв -v туг хоёр удаа өгөгдсөн бол RX дуудлагын ID, серийн дугаар, RX пакетийн туг зэрэг нэмэлт мэдээлэл хэвлэгддэг. MTU тохиролцооны мэдээллийг RX ack пакетуудаас хэвлэсэн болно.

Хэрэв -v туг гурван удаа өгөгдсөн бол аюулгүй байдлын индекс ба үйлчилгээний ID хэвлэгдэх болно.

Ubic дохионы пакетуудаас бусад нь abort пакетууд нь Ubic протоколуудад yes yes санал өгөхөд ашиглагддаг алдааны кодууд хэвлэгддэг.

AFS хүсэлтүүд нь маш том бөгөөд snaplen нэмэгдээгүй л бол нэмэлт өгөгдлүүд олон хэвлэгдэхгүй гэдгийг санаарай . AFS-ийн урсгалыг үзэхийн тулд ` -s 256 'ашиглана уу.

AFS хариулах пакетууд RPC үйлдлийг тодорхой зааж өгөөгүй байна. Харин оронд нь tcpdump нь "сүүлд" хүсэлтийг дагаж, дуудлагын дугаар болон үйлчилгээний ID дугаарыг ашиглан хариултуудтай тааруулна. Хариулт нь холбогдох хүсэлтийг дагаж мөрдөхгүй бол үүнийг хийх боломжгүй болно.

KIP Appletalk (UDP дэх DDP)

Хэрэглээний протокол нь UDP datagrams-ээр encapsulated DDP пакетуудыг алга болгосноор DDP пакетууд (өөрөөр хэлбэл бүх UDP толгойн мэдээлэл устгагдах болно) хаядаг. /etc/atalk.names файл нь appletalk net болон node тоог нэрээр нь орчуулахад хэрэглэгддэг. Энэ файлын мөрүүд нь маягттай байна

тоо нэр 1.254 эт 16.1 icsd-net 1.254.110 ace

Эхний хоёр мөр нь appletalk сүлжээнүүдийн нэрийг өгдөг. Гурав дахь мөрөнд тодорхой хостоны нэрийг өгдөг (хост нь net-ээс 3-р октетаар дугаарлагдсан тоогоор дугаарлагддаг бол цэвэр дугаар нь хоёр октеттай байх ба хостын дугаар нь гурван октэттэй байх ёстой ). Тоо ба нэрийг тусгаарлах ёстой хоосон зай (хоосон зай эсвэл цонх). /etc/atalk.names файл нь хоосон мөр эсвэл тайлбар мөр агуулж байж магадгүй (`# '-р эхэлсэн мөрүүд).

Аппаратын хаягууд нь дараах хэлбэртэй байна:

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 хост / цэвэр тоог оруулахгүй бол хаягийг тоон хэлбэрээр хэвлэдэг.) Эхний жишээнд NBP (DDP порт 2) цэвэр 144.1 зангилаа 209 нь 220-р порт 220-ийн netbook дээр сонсож байгаа бүх хүмүүст илгээгддэг. Хоёр дахь мөр нь эх цэгийн мэдэгдлийн («оффис») бүрэн нэрээс өөр юм. Гурав дахь мөр нь icsd-net NBP порт дээр цацагдах 235-р портоос илгээсэн net jssmag зангилаа -ээс илгээдэг бөгөөд (цацалтын хаяг (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 байна. Хоёр дахь мөрөнд jssmag.20-оос энэ хүсэлтийг (ижил id байгаа гэдгийг анхаарна уу) тэмдэглэнэ. Энэ нь порт 250 дээр бүртгэгдсэн "RM1140" нэртэй лазер бичвэрийн нөөцтэй гэсэн үг. мөр нь ижил хүсэлтэнд хариу өгөх өөр нэг хариулт нь 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: хүндрэл 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

Jssmag.209 нь 8 хүртэл пакетуудыг ('<0-7>') шаарддаг гүйлгээний id-ийг эхлээд хостоос эхлээд гүйлгээний ID эхлүүлдэг. Мөрийн төгсгөлд байгаа hex дугаар нь хүсэлт дэх "userdata" талбарын утга юм.

Helios 8 512-байтын пакетуудаар хариу үйлдэл хийдэг. Гүйлгээний ID-ийн дагуу `: цифр 'нь гүйлгээний пакет дарааллын дугаарыг өгдөг бөгөөд паренсийн дугаар нь атp толгойг оруулахгүйгээр пакетийн өгөгдлийн хэмжээ юм. 7-р пакет дээр `* 'нь АНХ-ийн битийг тавьсаныг заана.

Jssmag.209 нь 3 ба 5 пакетуудыг дахин дамжуулахыг шаарддаг. Helios тэдгээрийг зарлаж дараа нь jssmag.209 гүйлгээг гаргадаг. Эцэст нь, jssmag.209 дараагийн хүсэлтийг эхлүүлдэг. Хүсэлтийн дагуу `* 'нь XO (" яг нэг удаа ") тохиргоог хийгээгүй болохыг заадаг.

IP хуваагдал

Fragmented Internet datagrams гэж хэвлэгдэнэ

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

(Эхний хэлбэр нь илүү олон фрагмент байгаа гэдгийг харуулж байна, хоёрдугаарт энэ нь хамгийн сүүлчийн фрагмент болохыг харуулж байна.)

Id нь fragment id байна. Хэмжээ нь IP толгойг оруулахгүйгээр фракцийн хэмжээ (байтаар) байна. Offset бол энэ фракц (анхны байтаар) дахь анхны функционал (offset) юм.

Хэсэгчилсэн мэдээлэл нь фрагмент бүрт гарах үр дүн юм. Эхний фрагмент нь дээд түвшний протоколын толгойг агуулдаг бөгөөд протоколын мэдээллүүдийн дараа frag info мэдээлэл хэвлэгддэг. Эхний маягийн фрагментууд нь дээд түвшний протоколын толгой байхгүй бөгөөд эх сурвалж болон очих хаягийн хаягуудын дараа эмзэг мэдээллийг хэвлэдэг. Жишээлбэл, arizona.edu -с ftp файлаас lbl-rtsg.arpa-ийн нэг хэсэг нь 576 байт дэмбэррүү ажиллахад харагдахгүй CSNET холболтоор холбосон хэсэг юм:

arizona.ftp-өгөгдөл> 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 ялах 2560

Энд тэмдэглэх хэд хэдэн зүйл байдаг: Нэгдүгээрт, 2 дахь мөрөнд хаягууд нь портын дугаарыг агуулдаггүй. Учир нь TCP протоколын мэдээлэл нь эхний фрагмент дотор байгаа бөгөөд бид дараачийн фрагментүүдийг хэвлэх үед порт эсвэл дараалсан дугааруудыг мэдэхгүй байх болно. Хоёрдугаарт, эхний мөр дэх tcp дарааллын мэдээлэл нь хэрэглэгчийн өгөгдлийн 308 байт байсаар байгаа бөгөөд үнэндээ 512 байт байдаг (эхний хэсэг нь 308, хоёр дахь нь 204) байдаг. Хэрэв та дарааллын зайд нүх хайж байна уу, эсвэл шуудайтай пакетуудыг тааруулахыг оролдвол энэ нь таныг хуурч магадгүй юм.

IP-тэй пакет хуваагдалгүй тугийг далбаа (DF) гэж тэмдэглэв.

Хугацаа

Анхдагч байдлаар, бүх гаралтын мөрөнд timestamp-аар өмнө нь байрлана. Timestamp гэдэг нь цаг хугацааны одоогийн цаг цаг юм

hh: mm: ss.frac

Цөмийн цаг шиг яг нарийн нарийвчлалтай юм. Timestamp нь кернел анх удаа пакетийг харсан хугацааг тусгана. Ethernet интерфэйс нь утсан дээрх пакетийг устгаж, шинэ цөмийг "шинэ пакетийг тасалдуулах" үед цаг хугацааны хоцролтыг тооцоолоогүй.

БҮЛЭГ

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

Чухал: Тушаалын командыг ашиглана ( % man ) ашиглана.