Tcpdump - ពាក្យបញ្ជាលីនុច - ពាក្យបញ្ជាយូនីក

NAME

tcpdump - បោះបង់ចរាចរនៅលើបណ្តាញមួយ

SYNOPSIS

tcpdump [ -adeflnNOpqRStuvxX ] [ -c រាប់ ]

[ -C ឯកសារ _ ទំហំ ] [ - FF ឯកសារ ]

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

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

[ -E algo: អាថ៌កំបាំង ] [ ការបញ្ចេញមតិ ]

DESCRIPTION

Tcpdump បោះពុម្ពបឋមកថានៃកញ្ចប់ព័ត៌មាននៅលើចំណុចប្រទាក់បណ្តាញដែលផ្គូផ្គង កន្សោម ប៊ូលីន។ វាក៏អាចត្រូវបានរត់ជាមួយទង់ -w ដែលបណ្តាលឱ្យវារក្សាទុកទិន្នន័យកញ្ចប់ព័ត៌មានទៅឯកសារសម្រាប់ការវិភាគនៅពេលក្រោយនិង / ឬទង់ -r ដែលបណ្តាលឱ្យវាអានពីឯកសារកញ្ចប់ដែលបានរក្សាទុកជាជាងអានកញ្ចប់ព័ត៌មាន។ ពីចំណុចប្រទាក់បណ្តាញ។ ក្នុងករណីទាំងអស់មានតែកញ្ចប់ព័ត៌មានដែលផ្គូផ្គង ការបញ្ចេញមតិប៉ុណ្ណោះ នឹងត្រូវបានដំណើរការដោយ tcpdump

Tcpdump នឹងមិនដំណើរការជាមួយទង់ -c នៅតែបន្តចាប់យកកញ្ចប់ព័ត៌មានរហូតដល់វាត្រូវបានរំខានដោយសញ្ញា SIGINT (ឧទាហរណ៍ដោយវាយតួអក្សរបង្អាក់របស់អ្នកជាទូទៅគ្រប់គ្រង C) ឬសញ្ញា SIGTERM (ជាធម្មតាត្រូវបានបង្កើតដោយការ សំលាប់ (1) ពាក្យបញ្ជា); ប្រសិនបើរត់ជាមួយទង់ -c វានឹងចាប់យកកញ្ចប់ព័ត៌មានរហូតដល់វាត្រូវបានរំខានដោយសញ្ញា SIGINT ឬ SIGTERM ឬចំនួនកញ្ចប់ដែលបានបញ្ជាក់ត្រូវបានដំណើរការ។

នៅពេលដែល tcpdump បញ្ចប់ការចាប់យកកញ្ចប់ព័ត៌មានវានឹងរាយការណ៍រាប់នៃ:

កញ្ចប់ព័ត៌មានដែលបានទទួលដោយតម្រង (អត្ថន័យនៃការនេះអាស្រ័យលើប្រព័ន្ធប្រតិបត្តិការដែលអ្នកកំពុងរត់ tcpdump និងអាចធ្វើទៅបាននៅលើរបៀបដែលប្រព័ន្ធប្រតិបត្តិការត្រូវបានកំណត់រចនាសម្ព័ន្ធ - ប្រសិនបើតម្រងត្រូវបានបញ្ជាក់នៅលើបន្ទាត់ពាក្យបញ្ជានៅលើប្រព័ន្ធមួយចំនួនវារាប់ កញ្ចប់ដោយមិនគិតពីថាតើវាត្រូវបានផ្គូផ្គងដោយកន្សោមតម្រងនិងលើប្រព័ន្ធប្រតិបត្តិការផ្សេងទៀតទេវារាប់តែកញ្ចប់ដែលត្រូវបានផ្គូផ្គងដោយកន្សោមតម្រងនិងត្រូវបានដំណើរការដោយ tcpdump );

កញ្ចប់ព័ត៌មានដែលត្រូវបានទម្លាក់ដោយខឺណែល (នេះគឺជាចំនួនកញ្ចប់ដែលត្រូវបានទម្លាក់ដោយសារតែខ្វះកន្លែងទំនេរដោយយន្តការចាប់យកកញ្ចប់នៅក្នុងប្រព័ន្ធប្រតិបត្តិការដែល tcpdump កំពុងដំណើរការប្រសិនបើប្រព័ន្ធប្រតិបត្តិការរាយការណ៍ព័ត៌មានទៅកម្មវិធី។ បើមិនដូច្នោះវានឹងត្រូវបានរាយការណ៍ជា 0) ។

នៅលើវេទិកាដែលគាំទ្រសញ្ញា SIGINFO ដូចជា BSDs វានឹងរាយការណ៍អំពីចំនួនទាំងនោះនៅពេលដែលវាទទួលសញ្ញា SIGINFO (ឧទាហរណ៍ដូចជាការវាយតួអក្សរ `` ស្ថានភាព '' ជាទូទៅគ្រប់គ្រង T) និងបន្តការចាប់យកកញ្ចប់ព័ត៌មាន។ ។

ការអានកញ្ចប់ព័ត៌មានពីចំណុចប្រទាក់បណ្តាញមួយអាចតម្រូវឱ្យអ្នកមានសិទ្ធិពិសេស:

នៅក្រោម SunOS 3.x ឬ 4.x ជាមួយ NIT ឬ BPF:

អ្នកត្រូវមានសិទ្ធិចូលអាន / dev / nit/ dev / bpf *

ក្រោម Solaris ជាមួយ DLPI:

អ្នកត្រូវតែមានសិទ្ធិអាន / សរសេរទៅឧបករណ៍បណ្តាញប្រូកស៊ីឧ។ / dev / le ។ យ៉ាងហោចណាស់ Solaris មួយចំនួនទោះជាយ៉ាងណានេះមិនគ្រប់គ្រាន់ដើម្បីអនុញ្ញាត tcpdump ដើម្បីចាប់យកនៅក្នុងរបៀប promiscuous; នៅលើ Solaris ទាំងនោះអ្នកត្រូវតែជា root ឬ tcpdump ត្រូវតែដំឡើង setuid ដើម្បី root ដើម្បីចាប់យកនៅក្នុងរបៀប promiscuous ។ ចំណាំថានៅលើចំណុចប្រទាក់ជាច្រើន (ប្រហែលជាទាំងអស់) ប្រសិនបើអ្នកមិនចាប់យកនៅក្នុងរបៀប promiscuous អ្នកនឹងមិនឃើញកញ្ចប់ចេញដែលដូច្នេះការចាប់យកមិនបានធ្វើនៅក្នុងរបៀប promiscuous មួយប្រហែលជាមិនមានប្រយោជន៍ខ្លាំងណាស់។

ក្រោម HP-UX ជាមួយ DLPI:

អ្នកត្រូវតែជា root ឬ tcpdump ត្រូវតែដំឡើង setuid ទៅជា root ។

នៅក្រោម IRIX ជាមួយ snoop:

អ្នកត្រូវតែជា root ឬ tcpdump ត្រូវតែដំឡើង setuid ទៅជា root ។

នៅក្រោមលីនុច:

អ្នកត្រូវតែជា root ឬ tcpdump ត្រូវតែដំឡើង setuid ទៅជា root ។

នៅក្រោម Ultrix និង Digital UNIX / Tru64 UNIX:

អ្នកប្រើណាមួយអាចចាប់យកចរាចរបណ្តាញជាមួយ tcpdump ។ ទោះជាយ៉ាងណាក៏ដោយគ្មានអ្នកប្រើប្រាស់ (ទោះបីជាអ្នកប្រើប្រាស់ជាន់ខ្ពស់) អាចចាប់យកនៅក្នុងរបៀបដែលមិនសមស្របនៅលើចំណុចប្រទាក់ទេលុះត្រាតែអ្នកប្រើប្រាស់ទំនើបបានបើកដំណើរការ ម៉ូឌុល នៅលើចំណុចប្រទាក់នោះដោយប្រើ pfconfig (8) ហើយគ្មានអ្នកប្រើ (សូម្បីតែអ្នកប្រើជាន់ខ្ពស់ក៏ដោយ) ) អាចចាប់យកចរាចរយូនីកូដដែលបានទទួលឬបញ្ជូនដោយម៉ាស៊ីននៅលើចំណុចប្រទាក់មួយលុះត្រាតែអ្នកប្រើប្រាស់ទំនើបបានបើកដំណើរការគ្រប់ម៉ូដែលទាំងអស់នៅលើចំណុចប្រទាក់នោះដោយប្រើ pfconfig ដូច្នេះការចាប់យកកញ្ចប់ព័ត៌មានដែល មានប្រយោជន៍ នៅលើចំណុចប្រទាក់មួយប្រហែលជាតម្រូវឱ្យមានរបៀប ឌីជីថល ឬចម្លង។ - ទាំងអស់ - របៀបរបៀបឬរបៀបប្រតិបត្តិការទាំងពីរត្រូវបានបើកនៅលើចំណុចប្រទាក់នោះ។

ក្រោម BSD:

អ្នកត្រូវតែមានសិទ្ធិចូលអាន / dev / bpf *

ការអានឯកសារកញ្ចប់ដែលបានរក្សាទុកមិនត្រូវការសិទ្ធិពិសេសទេ។

ជម្រើស

- ក

ប៉ុនប៉ងដើម្បីបម្លែងអាសយដ្ឋានបណ្ដាញនិងអាសន្នទៅជាឈ្មោះ។

-c

ចេញបន្ទាប់ពីទទួលកញ្ចប់ព័ត៌មាន រាប់

-

មុនពេលសរសេរកញ្ចប់ព័ត៌មានដើមទៅ savefile ពិនិត្យមើលថាតើឯកសារបច្ចុប្បន្នមានទំហំធំជាង file_size ហើយបើសិនជាបិទឯកសារ savefile បច្ចុប្បន្នហើយបើកថ្មី។ Savefiles បន្ទាប់ពី savefile ដំបូងនឹងមានឈ្មោះដែលបានបញ្ជាក់ជាមួយ -w flag ជាមួយចំនួនបន្ទាប់ពីវាចាប់ផ្តើមពីលេខ 2 ហើយបន្តឡើងលើ។ ឯកតានៃ file_size មានរាប់លានបៃ (1,000,000 បៃមិនមែន 1,048,576 បៃទេ) ។

-d

បោះចោលក្រដាសដែលផ្គូផ្គងកញ្ចប់ព័ត៌មានក្នុងទម្រង់ដែលអាចអានបានរបស់មនុស្សទៅនឹងទិន្នផលស្តង់ដារនិងបញ្ឈប់។

-dd

លុបលេខកូដដែលផ្គូផ្គងកញ្ចប់ជាបំណែកកម្មវិធី C

-ddd

បោះបង់ឯកសារផ្គូផ្គងកញ្ចប់ព័ត៌មានជាលេខគោលដប់ (ដែលរាប់ដោយរាប់) ។

- e

បោះពុម្ពបឋមកថាកម្រិតតំណនៅលើបន្ទាត់ចាក់សំរាមនីមួយៗ។

- E

ប្រើអាល់ ហ្គូ: សម្ងាត់ សម្រាប់ឌីគ្រីបកញ្ចប់ព័ត៌មាន IPsec ESP ។ ក្បួនដោះស្រាយអាចជា des-cbc , 3des-cbc , blowfish-cbc , rc3-cbc , cast128-cbcគ្មាន ។ លំនាំដើមគឺ des-cbc ។ សមត្ថភាពក្នុងការឌិគ្រីបកញ្ចប់គឺមានតែនៅពេលដែល tcpdump ត្រូវបានចងក្រងជាមួយការបើកដំណើរការគ្រីប។ សំអាតអត្ថបទ ascii សម្រាប់កូនសោសម្ងាត់ ESP ។ យើងមិនអាចយកតម្លៃគោលពីរខុសៗគ្នានៅពេលនេះទេ។ ជម្រើសរើសយក RFC2406 ESP មិនមែន RFC1827 ESP ទេ។ ជម្រើសគឺសម្រាប់គោលបំណងបំបាត់កំហុសប៉ុណ្ណោះហើយការប្រើជម្រើសនេះដោយប្រើកូនសោសម្ងាត់ពិតប្រាកដមិនត្រូវបានលើកទឹកចិត្តទេ។ តាមរយៈការបង្ហាញកូនសោសម្ងាត់ IPsec នៅលើបន្ទាត់ពាក្យបញ្ជាអ្នកអាចឱ្យវាមើលឃើញអ្នកដទៃតាមរយៈ ps (1) និងឱកាសផ្សេងទៀត។

-f

បោះពុម្ពអ៊ីធឺណិត 'បរទេស' ជាលេខជាជាងនិមិត្តសញ្ញា (ជម្រើសនេះមានគោលបំណងដើម្បីទទួលបានការខូចខាតខួរក្បាលយ៉ាងធ្ងន់ធ្ងរនៅក្នុងម៉ាស៊ីន yp របស់ Sun --- ជាទូទៅវាព្យួរជារៀងរហូតដើម្បីបកប្រែលេខអ៊ីនធឺណែតមិនមែនមូលដ្ឋាន) ។

-F

ប្រើ ឯកសារ ជាធាតុបញ្ចូលសម្រាប់កន្សោមតម្រង។ កន្សោមបន្ថែមដែលបានផ្ដល់ឱ្យនៅលើបន្ទាត់បញ្ជាត្រូវបានមិនអើពើ។

-i

ស្ដាប់នៅលើ ចំណុចប្រទាក់ ។ ប្រសិនបើមិនបានបញ្ជាក់ tcpdump ស្វែងរកបញ្ជីចំណុចប្រទាក់ប្រព័ន្ធសម្រាប់ចំណុចទាបបំផុតដែលបានកំណត់រចនាសម្ព័ន្ធចំណុចប្រទាក់ (មិនរួមបញ្ចូលរង្វិលជុំ) ។ ចំណងត្រូវបានខូចដោយជ្រើសរើសការប្រកួតដំបូងបំផុត។

នៅលើប្រព័ន្ធលីនុចដែលមានខឺណែល 2.2 ឬខ្ពស់ជាងនេះអាគុយម៉ង់ ចំណុចប្រទាក់ នៃ `` ណាមួយ '' អាចត្រូវបានប្រើដើម្បីចាប់យកកញ្ចប់ព័ត៌មានពីគ្រប់ចំណុចប្រទាក់ទាំងអស់។ ចំណាំថាការចាប់យកនៅលើឧបករណ៍ `` ណាមួយ '' នឹងមិនត្រូវបានធ្វើនៅក្នុងរបៀប promiscuous ទេ។

-l

ធ្វើឱ្យបន្ទាត់ stdout buffered ។ មានប្រយោជន៍ប្រសិនបើអ្នកចង់មើលទិន្នន័យខណៈពេលចាប់យកវា។ ឧ។
`` tcpdump -l | tee dat '' ឬ `` tcpdump -l> dat & tail- f dat '' ។

-m

ផ្ទុកការកំណត់ម៉ូឌុល SMI MIB ពី ម៉ូឌុល ឯកសារ។ ជម្រើសនេះអាចត្រូវបានប្រើច្រើនដងដើម្បីផ្ទុកម៉ូឌុល MIB ជាច្រើនចូលទៅក្នុង tcpdump

-n

កុំប្តូរអាស័យដ្ឋានផ្ទះទៅជាឈ្មោះ។ នេះអាចត្រូវបានប្រើដើម្បីជៀសវាងការរកមើល DNS ។

- ន

កុំបម្លែងពិធីការនិងលេខច្រក។ ល។ ទៅឈ្មោះ។

-

កុំបោះពុម្ពគុណនាមឈ្មោះដែននៃឈ្មោះម៉ាស៊ីន។ ឧទាហរណ៍ប្រសិនបើអ្នកផ្តល់ទង់នេះនោះ tcpdump នឹងបោះពុម្ព `` nic '' ជំនួសឱ្យ `` nic.ddn.mil '' ។

-O

កុំដំណើរការដំណើរការបង្កើនលេខកូដដែលផ្គូផ្គងកញ្ចប់ព័ត៌មាន។ នេះមានប្រយោជន៍តែក្នុងករណីដែលអ្នកសង្ស័យថាមានកំហុសនៅក្នុងកម្មវិធីសុទិដ្ឋិនិយម។

-p

កុំ ដាក់ប្រតិកម្មទៅជារបៀបបញ្ឆេះម៉ាស៊ីន។ ចំណាំថាចំណុចប្រទាក់អាចនៅក្នុងរបៀប promiscuous សម្រាប់ហេតុផលមួយចំនួនផ្សេងទៀត; ហេតុ, '-p' មិនអាចត្រូវបានប្រើជាអក្សរកាត់សម្រាប់ `ម៉ាស៊ីនអេទ័រ {local-hw-addr} ឬការចាក់អេទ្រីទេ> ។

-q

លឿន (ស្ងាត់?) ។ បោះពុម្ពព័ត៌មានពិធីការតិចជាងមុនដូច្នេះបន្ទាត់ផលិតកម្មខ្លីជាង។

- R

សន្មត់ថាកញ្ចប់ព័ត៌មាន ESP / AH ត្រូវផ្អែកលើការបញ្ជាក់ចាស់ (RFC1825 ទៅ RFC1829) ។ ប្រសិនបើបានបញ្ជាក់ tcpdump នឹងមិនបោះពុម្ពវាលបង្ការចាក់ឡើងវិញទេ។ ដោយហេតុថាមិនមានវាលកំណែពិធីការនៅក្នុងការបញ្ជាក់ ESP / AH ទេ tcpdump មិនអាចរកកម្រិតនៃពិធីការ ESP / AH ។

-r

អានកញ្ចប់ពី ឯកសារ (ដែលត្រូវបានបង្កើតដោយប្រើជម្រើស -w) ។ ការបញ្ចូលស្តង់ដារត្រូវបានប្រើប្រសិនបើ ឯកសារ `` - '' ។

-

បោះពុម្ពលេខលំដាប់ TCP ដាច់ខាតជាជាងតួលេខ។

-s

snaplen បៃនៃទិន្នន័យពីកញ្ចប់នីមួយៗជាជាងលេខ 68 (ជាមួយ NIT របស់ SunOS អប្បបរមាគឺពិតប្រាកដ 96) ។ 68 បៃគឺគ្រប់គ្រាន់សម្រាប់ IP, ICMP, TCP និង UDP ប៉ុន្តែអាចកាត់បន្ថយព័ត៌មានពិធីការពីម៉ាស៊ីនបម្រើឈ្មោះនិងកញ្ចប់ព័ត៌មាន NFS (សូមមើលខាងក្រោម) ។ កញ្ចប់ត្រូវបានកាត់ឱ្យខ្លីដោយសារតែរូបថតដែលមានកំណត់ត្រូវបានចង្អុលបង្ហាញនៅក្នុងលទ្ធផលជាមួយ `` [| proto ] '', ដែល proto គឺជាឈ្មោះនៃកម្រិតពិធីការដែលការកាត់ឱ្យខ្លីបានកើតឡើង។ ចំណាំថាការថតរូបកាន់តែធំបង្កើនទាំងពេលវេលាដែលវាត្រូវការដើម្បីដំណើរការកញ្ចប់ព័ត៌មាននិងមានប្រសិទ្ធិភាពបន្ថយបរិមាណនៃអង្គចងចាំបណ្តោះអាសន្ន។ វាអាចបណ្តាលឱ្យបាត់បង់កញ្ចប់ព័ត៌មាន។ អ្នកគួរតែកំណត់ចំនួន ខ្ទាស់ តូចបំផុតដែលនឹងចាប់យកព័ត៌មានពិធីការដែលអ្នកចាប់អារម្មណ៍។ ការកំណត់ snaplen ទៅ 0 មានន័យថាប្រើប្រវែងដែលត្រូវការដើម្បីចាប់យកកញ្ចប់ព័ត៌មានទាំងមូល។

-

បង្ខំកញ្ចប់ព័ត៌មានដែលបានជ្រើសដោយ " កន្សោម " ដើម្បីបកប្រែ ប្រភេទ ដែលបានបញ្ជាក់។ ប្រភេទដែលស្គាល់បច្ចុប្បន្នគឺ cnfp (ពិធីការ Cisco NetFlow) rpc (ការហៅនីតិវិធីពីចម្ងាយ) rtp (ពិធីការកម្មវិធីពេលវេលាពិត) rtcp (ពិធីការគ្រប់គ្រងកម្មវិធីពេលវេលាពិត) snmp (ពិធីការគ្រប់គ្រងបណ្តាញសាមញ្ញ) vat (ឧបករណ៍សម្លេងរូបភាព ), និង wb (ក្រុមប្រឹក្សាភិបាលពណ៌សចែកចាយ) ។

- ត

កុំ ព្រីនត្រាពេលវេលានៅលើបន្ទាត់ចាក់សំរាមនីមួយៗ។

-tt

បោះពុម្ពត្រាពេលវេលាដែលមិនទាន់បានកំណត់នៅលើបន្ទាត់ចាក់សំរាមនីមួយៗ។

-U

ទម្លាក់សិទ្ធិជា root និងផ្លាស់ប្ដូរលេខសម្គាល់អ្នកប្រើទៅ អ្នកប្រើ និងលេខសម្គាល់ក្រុមទៅក្រុម អ្នកប្រើ ចម្បង។

ចំណាំ! Red Hat Linux ចោលសិទ្ធិដោយស្វ័យប្រវត្តិទៅអ្នកប្រើ `` pcap '' ប្រសិនបើមិនមានអ្វីត្រូវបានបញ្ជាក់។

-ttt

បោះពុម្ព delta មួយ (ក្នុងមីក្រូវិនាទី) រវាងបន្ទាត់បច្ចុប្បន្ននិងបន្ទាត់លើបន្ទាត់ចាក់សំរាមនីមួយៗ។

-tttt

បោះពុម្ពត្រាពេលវេលាក្នុងទ្រង់ទ្រាយលំនាំដើមដែលបានដំណើរការតាមកាលបរិច្ឆេទនៅលើបន្ទាត់ចាក់សំរាមនីមួយៗ។

-u

បោះពុម្ពចំណុចទាញ NFS ដែលមិនទាន់បានកំណត់។

- v

(តិចជាងនេះបន្តិច) លទ្ធផល verbose ។ ឧទាហរណ៍ពេលវេលាដើម្បីរស់នៅអត្តសញ្ញាណប្រវែងសរុបនិងជម្រើសនៅក្នុងកញ្ចប់ IP ត្រូវបានបោះពុម្ព។ អាចបើកការត្រួតពិនិត្យភាពត្រឹមត្រូវនៃកញ្ចប់ព័ត៌មានបន្ថែមទៀតដូចជាការផ្ទៀងផ្ទាត់បឋមកថា IP និង ICMP ឆេកសាំ។

- vv

ទិន្នផលរឹតតែខ្លាំងថែមទៀត។ ឧទាហរណ៍វាលបន្ថែមត្រូវបានបោះពុម្ពពីកញ្ចប់ព័ត៌មាន NFS ហើយកញ្ចប់ព័ត៌មាន SMB ត្រូវបានឌីកូដពេញលេញ។

-

ទិន្នផលរឹតតែខ្លាំងថែមទៀត។ ឧទាហរណ៍ជម្រើស Telnet SB ... SE ត្រូវបានបោះពុម្ពពេញ។ ជាមួយនឹងជម្រើស telnet -X ត្រូវបានបោះពុម្ពក្នុងប្រព័ន្ធគោលដប់ប្រាំមួយផងដែរ។

-w

សរសេរកញ្ចប់ព័ត៌មានដើមទៅ ឯកសារ ជាជាងញែកនិងបោះពុម្ពពួកវា។ ពួកវាអាចបោះពុម្ពដោយប្រើជម្រើស -r ។ លទ្ធផលស្តង់ដារត្រូវបានប្រើប្រសិនបើ ឯកសារ `` - '' ។

-x

បោះពុម្ពកញ្ចប់ព័ត៌មាននីមួយៗ (ដកបឋមកថាកម្រិតតំណរបស់វា) នៅក្នុងប្រព័ន្ធគោលដប់ប្រាំមួយ។ ទំហំតូចនៃកញ្ចប់ព័ត៌មានរឺកញ្ចប់ ខ្ទាស់ នឹងត្រូវបានបោះពុម្ព។ ចំណាំថានេះជាកញ្ចប់តំណស្រទាប់ទាំងមូលដូច្នេះសម្រាប់ស្រទាប់តំណដែលបន្ទះ (ឧ។ អ៊ីសឺរណិត) នោះបៃបត់នឹងត្រូវបានបោះពុម្ពផងដែរនៅពេលកញ្ចប់ស្រទាប់ខ្ពស់ជាងខ្លីជាងចន្លោះដែលត្រូវការ។

-X

នៅពេលបោះពុម្ព hex បោះពុម្ព ascii ផងដែរ។ ដូច្នេះបើ -x ត្រូវបានកំណត់សំណុំឯកសារត្រូវបានបោះពុម្ពជា hex / ascii ។ វាងាយស្រួលប្រើសម្រាប់ការវិភាគពិធីការថ្មី។ ទោះបីជា -x មិនត្រូវបានកំណត់ក៏ដោយផ្នែកខ្លះនៃកញ្ចប់ព័ត៌មានមួយចំនួនអាចត្រូវបានបោះពុម្ពជា hex / ascii ។

កន្សោម

ជ្រើសរើសកញ្ចប់ព័ត៌មានណាមួយដែលនឹងត្រូវបោះចោល។ ប្រសិនបើគ្មាន ការបញ្ចេញកន្សោម កញ្ចប់ទាំងអស់នៅលើសំណាញ់នឹងត្រូវបានបោះចោល។ បើមិនដូច្នោះទេមានតែកញ្ចប់ព័ត៌មានដែល កន្សោម ពិត "ពិត" នឹងត្រូវបោះចោលប៉ុណ្ណោះ។

កន្សោម មានមួយឬច្រើនជាងនេះ primitives ។ អាទិភាពជាទូទៅមាន លេខសម្គាល់ (ឈ្មោះឬលេខ) ដែលបន្តដោយគុណវុឌ្ឍិមួយរឺច្រើន។ មានបីប្រភេទផ្សេងគ្នានៃគុណលក្ខណៈ:

វាយ

គុណវុឌ្ឍិនិយាយថាប្រភេទអ្វីដែលឈ្មោះលេខឬលេខសំដៅ។ ប្រភេទដែលអាចធ្វើបានគឺ ម៉ាស៊ីន , សុទ្ធ និង ច្រក ។ ឧ។ 'foo ម៉ាស៊ីន', `net 128.3 ',` port 20' ។ ប្រសិនបើមិនមានគុណវុឌ្ឍិប្រភេទទេ ម៉ាស៊ីននឹង ត្រូវគេសន្មត់។

dir

វគ្គជម្រុះបញ្ជាក់ទិសដៅផ្ទេរជាក់លាក់មួយទៅនិង / ឬពី លេខសម្គាល់ ។ ទិសដៅដែលអាចមានគឺ src , dst , src ឬ dst និង src និង dst ។ ឧ។ `src foo ',` dst net 128.3', `src ឬ dst ផែហ្វាន់ទិន្នន័យ '។ ប្រសិនបើគ្មានលិបិក្រម dir, src ឬ dst ត្រូវបានសន្មត់។ សម្រាប់ស្រទាប់តំណ `null '(មានន័យថាចំណុចប្រូតូកូលដូចជារុញ) គុណវុឌ្ឍិ ចូល និង ខាងក្រៅ អាចត្រូវបានប្រើដើម្បីបញ្ជាក់ទិសដៅដែលចង់បាន។

proto

វគ្គជម្រុះកំហិតការប្រកួតទៅពិធីការពិសេស។ protos ដែលអាចធ្វើបានគឺ: អេធើរ , fddi , tr , ip , ip6 , arp , rarp , decnet , tcp និង udp ។ ឧទា, `ether src foo ',` arp net 128.3', `ccp port 21 '។ ប្រសិនបើមិនមានគុណវុឌ្ឍិគ្រប់គ្រាន់ទេពិធីការទាំងអស់ស្របតាមប្រភេទត្រូវបានសន្មត់។ ឧទាហរណ៍ 'src foo' មានន័យថា `(ip ឬ arp ឬ rarp) src foo '(លើកលែងតែកំណែចុងក្រោយមិនមែនជាវាក្យសម្ព័ន្ធច្បាប់)" net bar "មានន័យថា" net (ip ឬ arp ឬ rarp) net bar "និង" port 53 " `(tcp ឬ udp) ច្រក 53 '។

['fddi' គឺពិតជាឈ្មោះក្លែងក្លាយសម្រាប់ 'ether'; កម្មវិធីញែកចាត់ទុកពួកវាដូចគ្នានឹងកម្រិតតំណទិន្នន័យដែលត្រូវបានប្រើនៅលើចំណុចប្រទាក់បណ្តាញដែលបានបញ្ជាក់។ '' ក្បាល FDDI មានផ្ទុកប្រភពនិងអាសយដ្ឋានគោលដៅអ៊ីសឺរណិតហើយជារឿយៗមានប្រភេទកញ្ចប់ព័ត៌មានដូចអ៊ីធឺណិតដូច្នេះអ្នកអាចត្រងលើវាល FDDI ទាំងនេះ។ គ្រាន់តែជាមួយនឹងវាលអ៊ីសឺរណិតស្រដៀងគ្នា។ ក្បាល FDDI ក៏មានវាលផ្សេងទៀតដែរប៉ុន្តែអ្នកមិនអាចដាក់ឈ្មោះពួកវាយ៉ាងជាក់លាក់នៅក្នុងកន្សោមតម្រង។

ស្រដៀងគ្នានេះដែរ 'tr' គឺជាឈ្មោះក្លែងក្លាយសម្រាប់ `ether '; សេចក្តីថ្លែងរបស់កថាខណ្ឌមុនអំពីក្បាលអេហ្វឌីឌីក៏អនុវត្តចំពោះក្បាលរបស់ Token Ring ។ ]

បន្ថែមទៅខាងលើមានពាក្យគន្លឹះ« primitive »ពិសេសខ្លះដែលមិនធ្វើតាមលំនាំ: ការចេញដំណើរ , ការផ្សាយ , តិច , ធំជាង និងនព្វន្ធ។ ទាំងអស់នេះត្រូវបានពិពណ៌នាដូចខាងក្រោម។

កន្សោមតម្រងកាន់តែស្មុគស្មាញត្រូវបានបង្កើតឡើងដោយការប្រើពាក្យ និងនិង ដើម្បី មិន បញ្ចូលបន្សំបុព្វបទ។ ឧទាហរណ៍ \ n "" ម៉ាស៊ីន foo និងមិន ftp ftp និងមិនមែន port ftp-data \ '។ ដើម្បីរក្សាទុកវាយបញ្ចូលបញ្ជីគុណវុឌ្ឍិដូចគ្នាអាចលុបបាន។ ឧ។ `ccp dst ft ft ឬ ftp ទិន្នន័យឬដែន 'គឺពិតជាដូចគ្នានឹង` tcp dst ftp ftp ឬ tcp dst ftp-data ឬ tcp dst port port' ។

អាទិភាពដែលអាចប្រើបានគឺ:

dst host host

ពិតប្រសិនបើវាលទិសដៅ IPv4 / v6 នៃកញ្ចប់ព័ត៌មានគឺជា ម៉ាស៊ីន ដែលអាចជាអាសយដ្ឋានឬឈ្មោះ។

ម៉ាស៊ីនបង្ហោះរបស់ src

ពិតប្រសិនបើវាលប្រភព IPv4 / v6 នៃកញ្ចប់ព័ត៌មានគឺជា ម៉ាស៊ីន

ម៉ាស៊ីន ធ្វើជាម្ចាស់ផ្ទះ

ពិតប្រសិនបើប្រភព IPv4 / v6 ឬទិសដៅនៃកញ្ចប់ព័ត៌មានគឺជា ម៉ាស៊ីន ។ ណាមួយនៃកន្សោមម៉ាស៊ីនខាងលើអាចត្រូវបានដាក់បន្ថែមមុនដោយពាក្យគន្លឹះ ip , arp , rarp , ឬ ip6 ដូចនៅក្នុង:

host host

ដែលស្មើនឹង:

អេកូ proto \ ip និងម៉ាស៊ីន បង្ហោះ

ប្រសិនបើ ម៉ាស៊ីន គឺជាឈ្មោះដែលមានអាសយដ្ឋាន IP ច្រើនអាសយដ្ឋាននីមួយៗនឹងត្រូវបានជ្រើសរើសសម្រាប់ល្បែងមួយ។

អេ ទ័ រអេឌអេសអូអេស

ពិតប្រសិនបើអាសយដ្ឋានគោលដៅអ៊ីធឺណិតគឺ អ៊ីអេចអូEhost អាចជាឈ្មោះពី / etc / ethers ឬលេខ (សូមមើល អេធើរអេស (3N) សម្រាប់ទ្រង់ទ្រាយលេខ) ។

ether src ehost

ពិតប្រសិនបើអាសយដ្ឋានប្រភពអ៊ីសឺរណិតគឺ ehost

ម៉ាស៊ីន អេក

ពិតប្រសិនបើទាំងអាសយដ្ឋានអ៊ីនិកឬអាសយដ្ឋានគោលដៅគឺ អ៊ីអេចអូ

ម៉ាស៊ីន ច្រក

ពិតប្រសិនបើកញ្ចប់ត្រូវបានគេប្រើ ធ្វើជាម៉ាស៊ីន gateway ។ ឧទាហរណ៍អាសយដ្ឋានអ៊ីធឺណិតឬអាសយដ្ឋានគោលដៅគឺជា ម៉ាស៊ីន ប៉ុន្តែមិនមានប្រភព IP ឬគោលដៅ IP ជា ម៉ាស៊ីន ទេ។ ម៉ាស៊ីន ត្រូវតែជាឈ្មោះនិងត្រូវតែរកឃើញដោយយន្ដការដោះស្រាយដំណោះស្រាយអាស័យដ្ឋានឈ្មោះម៉ាស៊ីនទៅ IP-IP របស់ម៉ាស៊ីន (ឈ្មោះម៉ាស៊ីនឈ្មោះ DNS NIS ។ ល។ ) និងដោយការដោះស្រាយអាសយដ្ឋានម៉ាស៊ីនទៅជាឈ្មោះអ៊ីធឺណិត។ យន្តការ (/ etc / ethers ។ ល។ ) ។ (កន្សោមដែលស្មើគ្នាគឺ

ម៉ាស៊ីនអេអេចអេអេជអេស និងមិនធ្វើជា ម្ចាស់ផ្ទះ

ដែលអាចប្រើជាមួយឈ្មោះឬលេខសម្រាប់ host / ehost ។ ) វាក្យសម្ព័ន្ធនេះមិនដំណើរការនៅក្នុងការតំឡើង IPv6 ដែលបានបើកនៅពេលនេះទេ។

dst net net

ពិតប្រសិនបើអាសយដ្ឋានទិសដៅ IPv4 / v6 នៃកញ្ចប់ព័ត៌មានមានបណ្តាញ netNet អាចជាឈ្មោះពីបណ្តាញ / etc / ឬលេខទូរស័ព្ទ (សូមមើល បណ្តាញ (4) សម្រាប់ព័ត៌មានលំអិត) ។

net net net

ពិតប្រសិនបើអាសយដ្ឋានប្រភព IPv4 / v6 នៃកញ្ចប់ព័ត៌មានមានបណ្តាញចំនួន សុទ្ធ

សុទ្ធ សុទ្ធ

ពិតប្រសិនបើអាសយដ្ឋាន IPv4 / v6 ឬអាសយដ្ឋានគោលដៅនៃកញ្ចប់ព័ត៌មានមានបណ្តាញ net

net mask mask net

ពិតប្រសិនបើអាសយដ្ឋាន IP ផ្គូផ្គង សុទ្ធ ជាមួយនឹង របាំងបណ្ដាញ ជាក់លាក់។ អាចមានគុណភាពជាមួយ srcdst ។ ចំណាំថាវាក្យសម្ព័ន្ធនេះមិនត្រឹមត្រូវសម្រាប់ IPv6 សុទ្ធ ទេ។

net net / len

ពិតប្រសិនបើអាសយដ្ឋាន IPv4 / v6 ផ្គូផ្គង សុទ្ធ ជាមួយបាស len ន័រ ធំទូលាយ។ អាចមានគុណភាពជាមួយ srcdst

dst port port

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺ ip / tcp, ip / udp, ip6 / tcp ឬ ip6 / udp ហើយមានតម្លៃច្រកទិសដៅនៃ ច្រកច្រក អាចជាលេខឬឈ្មោះដែលប្រើក្នុង / etc / services (សូមមើល tcp (4P) និង udp (4P)) ។ ប្រសិនបើឈ្មោះត្រូវបានប្រើទាំងលេខច្រកនិងពិធីការត្រូវបានធីក។ ប្រសិនបើប្រើលេខឬភាពមិនច្បាស់ឈ្មោះមានតែលេខច្រកប៉ុណ្ណោះដែលត្រូវបានគូសធីក (ឧទាហរណ៍ dst port 513 នឹងបោះពុម្ពចរាចរ tcp / login និង udp / who ចរាចរហើយ domain port នឹងបោះពុម្ពទាំង tcp / domain និងចរាចរ udp / domain) ។

ច្រកកំពង់ផែ src

ពិតប្រសិនបើកញ្ចប់មានតម្លៃច្រកប្រភពនៃ ច្រក

ច្រក កំពង់ផែ

ពិតបើច្រកប្រភពឬទិសដៅនៃកញ្ចប់ព័ត៌មានគឺ ច្រក ។ ណាមួយនៃកន្សោម port ខាងលើអាចត្រូវបានបន្ថែមដោយពាក្យគន្លឹះ tcpudp ដូចនៅក្នុង:

TCP ច្រក កំពង់ផែ

ដែលផ្គូផ្គងតែកញ្ចប់ tcp ដែលច្រកប្រភពគឺ កំពង់ផែ

ប្រវែង តិច

ពិតប្រសិនបើកញ្ចប់មានប្រវែងវែងជាងឬស្មើ។ នេះស្មើនឹង:

len <= ប្រវែង

ប្រវែង កាន់តែច្រើន

ពិតប្រសិនបើកញ្ចប់មានប្រវែងវែងជាងឬស្មើ។ នេះស្មើនឹង:

len> = ប្រវែង

ip protocol

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ IP (មើល ip (4P)) នៃពិធីការប្រភេទ ពិធីការពិធីការ អាចជាលេខឬមួយនៃឈ្មោះ icmp , icmp6 , igmp , igrp , pim , អា , esp , vrrp , udp , ឬ tcp ។ ចំណាំថាអត្តសញ្ញាណ tcp , udp និង icmp ក៏ជាពាក្យគន្លឹះហើយត្រូវបានគេចចេញតាមរយៈសញ្ញា (\) ដែលជា \\ នៅក្នុង C-shell ។ ។ ចំណាំថា primitive នេះមិនដេញតាមខ្សែអក្សរបឋមកថាពិធីការទេ។

ip6 protto protocol

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ IPv6 នៃពិធីការប្រភេទ ពិធីការ ។ ។ ចំណាំថា primitive នេះមិនដេញតាមខ្សែអក្សរបឋមកថាពិធីការទេ។

ip6 ពិធីការ protochain

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ IPv6 ហើយមានបឋមកថាពិធីការជាមួយ ពិធីការ ប្រភេទនៅក្នុងសង្វាក់បឋមកថាពិធីការរបស់វា។ ឧទាហរណ៍,

ip6 protochain 6

ផ្គូផ្គងនឹងកញ្ចប់ IPv6 ណាមួយដែលមានបឋមកថាពិធីការ TCP នៅក្នុងខ្សែបញ្ជូនបឋមកថាពិធីការ។ កញ្ចប់ព័ត៌មានអាចមានឧទាហរណ៍បឋមកថាការផ្ទៀងផ្ទាត់បឋមកថាបឋមកថាឬបឋមកថាជម្រើសដោយបហបរវាងបឋមកថា IPv6 និងបឋមកថា TCP ។ កូដ BPF ដែលត្រូវបានបញ្ចេញដោយបុព្វបទនេះគឺស្មុគស្មាញនិងមិនអាចត្រូវបានធ្វើឱ្យប្រសើរដោយលេខកូដបង្កើនប្រសិទ្ធិភាព BPF នៅក្នុង tcpdump ដូច្នេះនេះអាចយឺតបន្តិច។

IP protocol protochain

សមមូលទៅ ip6 prottochain ពិធីការ ប៉ុន្តែនេះគឺសម្រាប់ IPv4 ។

ការចាក់អេក

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ព័ត៌មានអ៊ីសឺរណិត។ ពាក្យគន្លឹះ អេធើរ គឺស្រេចចិត្ត។

IP ផ្សាយ

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ផ្សាយ IP ។ វាពិនិត្យមើលទាំងសូន្យទាំងអស់និងអនុសញ្ញាផ្សាយទាំងអស់និងមើលរបាំងបណ្ដាញរងមូលដ្ឋាន។

ether multicast

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ multicast អ៊ីសឺរណិត។ ពាក្យគន្លឹះ អេធើរ គឺស្រេចចិត្ត។ នេះជាអក្សរកាត់សម្រាប់ ` ether [0] & 1! = 0 '។

ip multicast

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ IP multicast ។

ip6 multicast

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ពហុកញ្ចប់ IPv6 ។

អេកូ ពិធីការ

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានមាន ពិធីការ ប្រភេទអេស៊ា។ ពិធីការ អាចជាលេខឬឈ្មោះមួយនៃឈ្មោះ ip , ip6 , arp , rarp , atalk , aarp , decnet , sca , lat , mopdl , moprc , iso , stp , ipxnetbeui ។ ចំណាំអត្តសញ្ញាណទាំងនេះក៏ជាពាក្យគន្លឹះហើយត្រូវបានគេចចេញតាមរយៈសញ្ញា (\) ។

[ក្នុងករណី FDDI (ឧ។ ' fddi protocol arp ') និង Token Ring (ឧទាហរណ៍ ' tr protocol arp ') សម្រាប់ពិធីការទាំងនោះភាគច្រើនអត្តសញ្ញាណពិធីការគឺមកពីក្បាលវត្ថុបញ្ជាតក្កវិជ្ជា 802.2 (LLC) ជាទូទៅត្រូវបានគេដាក់នៅផ្នែកខាងលើនៃក្បាល FDDI ឬ Token Ring ។

នៅពេលត្រងសម្រាប់អត្តសញ្ញាណពិធីការភាគច្រើននៅលើ FDDI ឬ Token Ring tcpdump ត្រួតពិនិត្យតែវាលលេខសំគាល់ពិធីការនៃបឋមកថា LLC នៅក្នុងទម្រង់ SNAP ដែលគេហៅថាលេខសម្គាល់អង្គភាព (OUI) នៃ 0x000000 សម្រាប់អ៊ីសឺរណិតដែលបានស្រោប។ វាមិនពិនិត្យមើលថាតើកញ្ចប់ព័ត៌មានមានទ្រង់ទ្រាយ SNAP ជាមួយនឹង OUI 0x000000 ។

ការលើកលែងគឺមាន ISo ដែលវាពិនិត្យមើល DSAP (Point of Access Point Access Point) និង SSAP (ប្រភព Access Point Access Point) នៃបឋមកថា LLC និង netbeui LLC ដែលវាត្រួតពិនិត្យ DSAP នៃបឋមកថា LLC និងកន្លែងដែលវា ពិនិត្យមើលកញ្ចប់ព័ត៌មាន SNAP ជាមួយ OUI នៃ 0x080007 និងប្រភេទ Appletalk ។

ក្នុងករណី Ethernet tcpdump ត្រួតពិនិត្យវាលប្រភេទអ៊ីសឺរណិតសម្រាប់ពិធីការទាំងនោះភាគច្រើន។ ករណីលើកលែងគឺមាន iso , sap និង netbeui ដែលវាត្រួតពិនិត្យស៊ុម 802.3 ហើយបន្ទាប់មកពិនិត្យមូលប័ត្រ LLC ដូចជាវាសម្រាប់ FDDI និង Token Ring atalk ដែលវាត្រួតពិនិត្យទាំងពីរសម្រាប់ Appletalk etype នៅក្នុងស៊ុមអ៊ីសឺរណិតនិងសម្រាប់ កញ្ចប់ព័ត៌មាន SNAP ដូចដែលវាធ្វើសម្រាប់ FDDI និង Token Ring, aarp , ដែលជាកន្លែងដែលវាត្រួតពិនិត្យសម្រាប់ប្រភេទ Appletalk ARP នៅក្នុងស៊ុមអ៊ីសឺរណិតឬស៊ុម SNAP 802.2 ជាមួយ OUI នៃ 0x000000 និង ipx ដែលវាត្រួតពិនិត្យសម្រាប់ប្រភេទ IPX ។ ស៊ុម Ethernet, IPX DSAP នៅក្នុងក្បាលរបស់ LLC, 802.3 ដោយគ្មានក្បាល SSL encapsulation នៃ IPX និងប្រភេទ IPX នៅក្នុងស៊ុម SNAP មួយ។ ]

ម៉ាស៊ីនបង្ហោះ ឌិន

ពិតប្រសិនបើអាសយដ្ឋានប្រភព DECNET ជា ម៉ាស៊ីន ដែលអាចជាអាសយដ្ឋាននៃទំរង់ `` 10.123 '' ឬឈ្មោះម៉ាស៊ីន DECNET ។ [ការគាំទ្រឈ្មោះម៉ាស៊ីន DECNET មានតែនៅលើប្រព័ន្ធ Ultrix ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីដំណើរការ DECNET ។ ]

decnet dst host

ពិតប្រសិនបើអាសយដ្ឋានទិសដៅរបស់ DECNET គឺជា ម៉ាស៊ីន

host host decnet

ពិតប្រសិនបើប្រភព DECNET ឬអាសយដ្ឋានគោលដៅជា ម៉ាស៊ីន

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

អក្សរកាត់សម្រាប់:

ether proto p

ដែល p គឺជាពិធីការខាងលើមួយ។

lat , moprc , mopdl

អក្សរកាត់សម្រាប់:

ether proto p

ដែល p គឺជាពិធីការខាងលើមួយ។ ចំណាំថា tcpdump មិនដឹងពីវិធីក្នុងការញែកពិធីការទាំងនេះ។

vlan [vlan_id]

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ IEEE 802.1Q VLAN ។ ប្រសិនបើ [vlan_id] ត្រូវបានបញ្ជាក់តែពិតនោះកញ្ចប់ព័ត៌មានមាន vlan_id ដែលបានបញ្ជាក់។ ចំណាំថាពាក្យគន្លឹះ vlan ដំបូងដែលបានជួបប្រទះក្នុង ការ ផ្លាស់ប្តូរការបម្លែងអុហ្វសិតឌី ផេរ៉ង់ស្យិ៍ សម្រាប់សល់នៃ ការបញ្ចេញមតិ លើការសន្មត់ថាកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ព័ត៌មាន VLAN ។

tcp , udp , icmp

អក្សរកាត់សម្រាប់:

ip proto p ឬ ip6 proto p

ដែល p គឺជាពិធីការខាងលើមួយ។

អ៊ីតាលី ពិធីការ

ពិតប្រសិនបើកញ្ចប់ព័ត៌មានគឺជាកញ្ចប់ព័ត៌មាន OSI នៃពិធីការប្រភេទ ពិធីការពិធីការ អាចជាលេខឬមួយក្នុងចំណោមឈ្មោះ clnp esisisis

clnp , esis , isis

អក្សរកាត់សម្រាប់:

iso proto p

ដែល p គឺជាពិធីការខាងលើមួយ។ ចំណាំថា tcpdump ធ្វើការងារមិនពេញលេញនៃការញែកពិធីការទាំងនេះ។

expr relop expr

ពិតប្រសិនបើទំនាក់ទំនងជាប់ជាកន្លែងដែល relop ជាផ្នែកមួយនៃ <,> = <=, = ,! = និង expr គឺជាកន្សោមនព្វន្តដែលមានសមីការអាំងតេក្រាល (បង្ហាញតាមវាក្យសម្ព័ន្ធ C ស្តង់ដារ) , -, *, /, &], ប្រតិបត្តិករប្រវែងនិងអ្នកចូលមើលទិន្នន័យកញ្ចប់ពិសេស។ ដើម្បីចូលដំណើរការទិន្នន័យនៅក្នុងកញ្ចប់ព័ត៌មានប្រើវាក្យសម្ព័ន្ធដូចខាងក្រោម:

តួអក្សរ [ ទំហំឧទា ហរណ៏ ]

Proto គឺជាផ្នែកមួយនៃ អេទ្រី, fddi, tr, ppp, រអិល, តំណ, ip, arp, rarp, tcp, udp, icmpip6 និងបង្ហាញស្រទាប់ពិធីការសម្រាប់ប្រតិបត្តិការលិបិក្រម។ សូមកត់សម្គាល់ថាប្រភេទពិធីការ tcp, udp និងប្រភេទខាងលើផ្សេងទៀតត្រូវបានអនុវត្តចំពោះ IPv4 មិនមែន IPv6 ទេ (វានឹងត្រូវបានជួសជុលនាពេលអនាគត) ។ អុហ្វសិតបៃដែលទាក់ទងនឹងស្រទាប់ពិធីការដែលបានបញ្ជាក់ត្រូវបានផ្តល់ដោយ exprទំហំ គឺស្រេចចិត្តនិងចង្អុលបង្ហាញចំនួនបៃនៅក្នុងវាលនៃការចាប់អារម្មណ៍; វាអាចជាលេខមួយពីរឬបួននិងលំនាំដើមទៅមួយ។ សញ្ញាប្រមាណវិធីប្រវែងដែលចង្អុលបង្ហាញដោយ len ពាក្យគន្លឹះផ្តល់នូវប្រវែងនៃកញ្ចប់ព័ត៌មាន។

ឧទាហរណ៍ ' ether [0] & 1! = 0 ' ចាប់យកចរាចរច្រើន។ កន្សោម ` ip [0] & 0xf! = 5 'ចាប់កញ្ចប់ព័ត៌មាន IP ទាំងអស់ជាមួយជម្រើស។ កន្សោម ` ip [6: 2] & 0x1fff = 0 'ចាប់តែក្រដាសទិន្នន័យឥតគណនានិងបំណែកសូន្យនៃឌីផេរ៉ូមដែលបែកចែក។ ការត្រួតពិនិត្យនេះត្រូវបានអនុវត្តទាំងស្រុងទៅលើប្រតិបត្តិការ tcp និង udp index ។ ឧទាហរណ៍ tcp [0] តែងតែមានន័យថាបៃទីមួយនៃ បឋមកថា TCP និងមិនមានន័យថាបៃទីមួយនៃបំណែកអន្តរាគមន៍។

តម្លៃអុហ្វសិតនិងតម្លៃវាលខ្លះអាចត្រូវបានបញ្ជាក់ជាឈ្មោះជាជាងតម្លៃជាលេខ។ ការបិទវាលវាលបឋមកថាពិធីការខាងក្រោមមាន: icmptype (វាលប្រភេទ ICMP), icmpcode (វាលកូដ ICMP) និង tcpflags (វាលទង់ TCP) ។

តម្លៃវាលប្រភេទ ICMP ខាងក្រោមអាចរកបាន: icmp-echoreply , icmp-unreach , icmp-sourcequench , icmp-redirect , icmp- អេកូ , 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

អាទិភាពអាចត្រូវបានផ្សំដោយប្រើ:

ក្រុមតូចមួយនៃបឋមនិងប្រតិបត្តិករ (វង់ក្រចកគឺពិសេសចំពោះសែលហើយត្រូវតែគេចចេញ) ។

អវិជ្ជមាន (` ! 'ឬ` មិន ') ។

អបអរសាទរ (` && 'ឬ` និង ') ។

ជម្រើស (` || 'ឬ` ') ។

អវិជ្ជមានមានអាទិភាពខ្ពស់។ ជម្មើសជំនួសនិងផ្សំគ្នាមានអាទិភាពស្មើៗគ្នានិងសហការគ្នាពីឆ្វេងទៅស្តាំ។ សូមកត់សម្គាល់ថាពាក្យសម្ងាត់ និង ថូខឹនមិនត្រូវគ្នាទេឥឡូវនេះត្រូវបានទាមទារសម្រាប់ការដាក់បន្តគ្នា។

ប្រសិនបើអត្តសញ្ញាណកម្មត្រូវបានផ្តល់ដោយគ្មានពាក្យគន្លឹះពាក្យគន្លឹះថ្មីបំផុតនឹងត្រូវបានសន្មត់។ ឧទាហរណ៍,

មិនមែនជាម្ចាស់ផ្ទះទល់និងអាត់ទេ

គឺខ្លីសម្រាប់

មិនមែនជាម្ចាស់ផ្ទះទល់និងម្ចាស់ផ្ទះ

ដែលមិនគួរច្រឡំជាមួយ

មិន (ម៉ាស៊ីនទល់ឬសន្លឹកអាត់)

អាគុយម៉ង់ Expression អាចត្រូវបានបញ្ជូនទៅ tcpdump ជាអាគុយម៉ង់តែមួយឬជាអាគុយម៉ងច្រើនដែលងាយស្រួលជាង។ ជាទូទៅប្រសិនបើកន្សោមមានតួអក្សរមេតាស័រសែលវាងាយស្រួលក្នុងការបញ្ជូនវាជាអាគុយម៉ង់ដែលបានដកស្រង់មួយ។ អាគុយម៉ង់ច្រើនត្រូវបានដាក់បន្តគ្នាដោយដកឃ្លាមុនពេលញែក។

ឧទាហរណ៍

ដើម្បីបោះពុម្ពកញ្ចប់ព័ត៌មានទាំងអស់ដែលមកដល់ឬចាកចេញពី ថ្ងៃលិច :

tcpdump sundown ម៉ាស៊ីន

ដើម្បីបោះពុម្ពចរាចររវាង helios និង ក្តៅសន្លឹកអាត់ :

tcpdump host helios និង \ (hot ឬ ace \) ។

ដើម្បីបោះពុម្ពកញ្ចប់ព័ត៌មាន IP ទាំងអស់រវាង អាត់ និងម៉ាស៊ីនណាមួយលើកលែងតែ helios :

tcpdump អាយស៊ីធីអាយស៊ីនិងមិនមែន helios

ដើម្បីបោះពុម្ពចរាចរណ៍ទាំងអស់រវាងម៉ាស៊ីននិងម៉ាស៊ីននៅ Berkeley:

tcpdump net ucb-ether

ដើម្បីបោះពុម្ពចរាចរ ftp ទាំងអស់តាមរយៈ snup gateway អ៊ីនធឺណិត: (ចំណាំថាកន្សោមត្រូវបានដកស្រង់ដើម្បីការពារសែលពី (mis-) បកប្រែវង់ក្រចក:

tcpdump 'snup gateway និង (ftp ឬ ftp ទិន្នន័យ)'

ដើម្បីបោះពុម្ពចរាចរណ៍មិនមានប្រភពពីឬសម្រាប់ប្រទេសម្ចាស់ផ្ទះទេ (ប្រសិនបើអ្នកចូលទៅកាន់ច្រកផ្សេងទៀតនោះវត្ថុនេះមិនត្រូវធ្វើលើវាទេ) ។

tcpdump ip និងមិន netnetnet ទេ

ដើម្បីបោះពុម្ពកញ្ចប់ព័ត៌មានចាប់ផ្ដើមនិងបញ្ចប់ (កញ្ចប់ SYN និង FIN) នៃការសន្ទនា TCP នីមួយៗដែលទាក់ទងនឹងម៉ាស៊ីនមិនមែនជាមូលដ្ឋាន។

tcpdump 'tcp [tcpflags] & (tcp-syn | tcp-fin)! = 0 និងមិនមែន src និង dst net localnet '

ដើម្បីបោះពុម្ពកញ្ចប់ IP ដែលវែងជាង 576 bytes ដែលត្រូវបានផ្ញើតាមរយៈ snup gateway:

tcpdump 'ច្រកចេញចូលនិង ip [2: 2]> 576'

ដើម្បីបោះពុម្ពកញ្ចប់ផ្សាយ IP ឬ multicast ដែល មិន ត្រូវបានផ្ញើតាមរយៈការចាក់អ៊ីសឺរណិតឬ multicast:

tcpdump 'ether [0] & 1 = 0 និង ip [16]> = 224'

ដើម្បីបោះពុម្ពគ្រប់ ICMP កញ្ចប់ទាំងអស់ដែលមិនមែនជាសំណូមពរ / ការឆ្លើយតបអេកូ (មានន័យថាមិនត្រូវខ្ចប់កញ្ចប់ព័ត៌មាន):

tcpdump 'icmp [icmptype]! = icmp-echo និង icmp [icmptype]! = icmp-echoreply'

OUTPUT FORMAT

លទ្ធផលរបស់ tcpdump គឺជាពិធីការដែលពឹងផ្អែកលើ។ ខាងក្រោមផ្តល់នូវការពិពណ៌នាសង្ខេបនិងឧទាហរណ៍នៃទ្រង់ទ្រាយភាគច្រើនបំផុត។

ក្បាលតំណកម្រិត

ប្រសិនបើជម្រើស '-e' ត្រូវបានផ្តល់បឋមកថាកម្រិតតំណត្រូវបានបោះពុម្ព។ នៅលើអ៊ីសឺរណិតអាសយដ្ឋានប្រភពនិងទិសដៅពិធីការនិងប្រវែងកញ្ចប់ត្រូវបានបោះពុម្ព។

នៅលើបណ្តាញ FDDI ជម្រើស '-e' បណ្តាលឱ្យ tcpdump បោះពុម្ពវាល `វត្ថុបញ្ជាស៊ុម 'ជាប្រភពនិងអាសយដ្ឋានទិសដៅនិងប្រវែងកញ្ចប់។ (វាលវត្ថុបញ្ជា 'ការគ្រប់គ្រងស៊ុម' គ្រប់គ្រងការបកស្រាយនៃកញ្ចប់ព័ត៌មានដែលនៅសល់។ កញ្ចប់ធម្មតា (ដូចជាឯកសារដែលមាន IP) គឺជាកញ្ចប់ព័ត៌មាន 'async' ដែលមានអាទិភាពរវាង 0 និង 7 ឧទាហរណ៍ ' async4 ' ។ កញ្ចប់ព័ត៌មានត្រូវបានសន្មត់ថាមានកញ្ចប់ត្រួតត្រាតក្កវិជ្ជា 802.2 (LLC) បឋមកថា LLC ត្រូវបានបោះពុម្ពប្រសិនបើវា មិនមែន ជាក្រដាសទិន្នន័យអាយអេសអូឬកញ្ចប់ដែលហៅថាកញ្ចប់ SNAP ។

នៅលើបណ្តាញទូរស័ព្ទ Token Ring ជម្រើស '-e' បណ្តាលឱ្យ tcpdump បោះពុម្ពវត្ថុបញ្ជា `` ត្រួតពិនិត្យ '' និង 'វត្ថុបញ្ជាស៊ុម' ជាអាសយដ្ឋានប្រភពនិងទិសដៅនិងប្រវែងកញ្ចប់។ ដូចនៅលើបណ្តាញ FDDI កញ្ចប់ត្រូវបានសន្មត់ថាមានកញ្ចប់ LLC ។ ដោយមិនគិតថាតើជម្រើស '-e' ត្រូវបានបញ្ជាក់ឬអត់ព័ត៌មានប្រភពត្រូវបានបោះពុម្ពសម្រាប់កញ្ចប់ព័ត៌មានដែលបានបញ្ចូនប្រភព។

(NB: ការពិពណ៌នាដូចខាងក្រោមសន្មតថាភាពស៊ាំជាមួយនឹងក្បួនដោះស្រាយបង្រួម SLIP ដែលបានពិពណ៌នានៅក្នុង RFC-1144 ។ )

នៅលើតំណ SLIP សូចនាករទិសដៅ (`` ខ្ញុំសម្រាប់ការចូល, `` សម្រាប់ 'Outbound, ប្រភេទកញ្ចប់និងព័ត៌មានបង្ហាប់ត្រូវបានបោះពុម្ព។ ប្រភេទកញ្ចប់ត្រូវបានបោះពុម្ពដំបូង។ ប្រភេទទាំងបីគឺ ip , utcp និង ctcp ។ មិនមានព័ត៌មានតំណបន្ថែមត្រូវបានបោះពុម្ពសម្រាប់កញ្ចប់ អាយភី ។ សម្រាប់កញ្ចប់ព័ត៌មាន TCP គ្រឿងសម្គាល់ការតភ្ជាប់ត្រូវបានបោះពុម្ពតាមប្រភេទ។ ប្រសិនបើកញ្ចប់ត្រូវបានបង្ហាប់ក្បាលរបស់វាត្រូវបានបោះពុម្ព។ ករណីពិសេសត្រូវបានបោះពុម្ពជា * S + n និង * SA + n ដែល n ជាចំនួនដែលលេខលំដាប់ (ឬលេខលំដាប់និង ack) បានផ្លាស់ប្ដូរ។ ប្រសិនបើវាមិនមែនជាករណីពិសេសនោះទេការផ្លាស់ប្តូរសូន្យឬច្រើនត្រូវបានបោះពុម្ព។ ការផ្លាស់ប្តូរត្រូវបានចង្អុលបង្ហាញដោយ U (ចង្អុលបន្ទាន់) W (បង្អួច) A (ack) S (លំដាប់លំដោយ) និង I (ID កញ្ចប់) អមដោយ delta (+ n ឬ -n) ឬតម្លៃថ្មី (= n) ។ ជាចុងក្រោយទិន្នន័យសរុបនៅក្នុងកញ្ចប់ព័ត៌មាននិងប្រវែងបឋមកថាដែលបានបង្ហាប់ត្រូវបានបោះពុម្ព។

ឧទាហរណ៍បន្ទាត់ដូចខាងក្រោមបង្ហាញកញ្ចប់ព័ត៌មាន TCP ដែលបានបង្ហាប់ចេញដែលមានការកំណត់អត្តសញ្ញាណការតភ្ជាប់។ ack បានផ្លាស់ប្តូរ 6, លេខលំដាប់ដោយ 49, និង ID កញ្ចប់ដោយ 6; មាន 3 បៃនៃទិន្នន័យនិង 6 បៃនៃបឋមកថាដែលបានបង្ហាប់:

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

កញ្ចប់ព័ត៌មាន ARP / RARP

លទ្ធផល Arp / rarp បង្ហាញប្រភេទនៃសំណើនិងអាគុយម៉ង់របស់វា។ ទ្រង់ទ្រាយនេះត្រូវបានបម្រុងទុកដើម្បីពន្យល់ដោយខ្លួនឯង។ នេះគឺជាគំរូខ្លីមួយដែលយកមកពីការចាប់ផ្តើមនៃ 'rlogin' ពី rtsg របស់ ម៉ាស៊ីនទៅ host csam :

arp ដែលមានស៊ីសាប្រាប់ rtsg arp ឆ្លើយតប csam គឺនៅ CSAM

បន្ទាត់ទីមួយនិយាយថា rtsg បានផ្ញើកញ្ចប់ arp ដែលសួររកអាសយដ្ឋានអ៊ីធឺណិតនៃ csam host internet ។ Csam ឆ្លើយតបតាមអាស័យដ្ឋានអ៊ីនធឺណិតរបស់វា (នៅក្នុងឧទាហរណ៍នេះអាសយដ្ឋានអ៊ីធឺណិតគឺនៅក្នុងអក្សរធំនិងអ៊ីនធើណេតក្នុងករណីទាប) ។

នេះនឹងមើលទៅមិនគ្រប់គ្រាន់ប្រសិនបើយើងបានធ្វើ tcpdump -n :

arp ដែលមាន 128.3.254.6 ប្រាប់ 128.3.254.68 ឆ្លើយតប arp 128.3.254.6 គឺនៅម៉ោង 02: 07: 01: 00: 01: c4

ប្រសិនបើយើងបានធ្វើ tcpdump -e , ការពិតដែលថាកញ្ចប់ព័ត៌មានដំបូងត្រូវបានចាក់ផ្សាយនិងទីពីរគឺចំណុចទៅចំណុចនឹងអាចមើលឃើញ:

RTSG Broadcast 0806 64: arp ដែលមាន csam ប្រាប់ rtsg CSAM RTSG 0806 64: arp ឆ្លើយតប csam គឺនៅ CSAM

សម្រាប់កញ្ចប់ដំបូងគេនិយាយថាអាសយដ្ឋានប្រភពអ៊ីសឺរណិតគឺ RTSG ទិសដៅគឺអាសយដ្ឋានផ្សាយអេទឺណិតវាលប្រភេទមាន hex 0806 (ប្រភេទ ETHER_ARP) និងប្រវែងសរុបគឺ 64 បៃ។

កញ្ចប់ TCP

(NB: ការពិពណ៌នាដូចខាងក្រោមសន្មតថាភាពស៊ាំជាមួយពិធីការ TCP ដែលបានពិពណ៌នាក្នុង RFC-793 ។ បើអ្នកមិនស៊ាំជាមួយពិធីការនោះទេការពិពណ៌នានេះក៏មិនមែនជា tcpdump ផងដែរ។ )

ទ្រង់ទ្រាយទូទៅនៃបន្ទាត់ពិធីការ tcp គឺ:

src> dst: flags data-seqno ack window ជម្រើសបន្ទាន់

Src និង dst គឺជាអាសយដ្ឋាន IP និងច្រកប្រភពនិងទិសដៅ។ ទង់ជាតិ គឺជាការរួមបញ្ចូលគ្នានៃ S (SYN), F (FIN), P (PUSH) ឬ R (RST) ឬតែមួយ។ (គ្មានទង់ជាតិ) ។ Data-seqno ពណ៌នាអំពីផ្នែកនៃលំហលំដាប់ដែលគ្របដណ្តប់ដោយទិន្នន័យក្នុងកញ្ចប់នេះ (សូមមើលឧទាហរណ៍ខាងក្រោម) ។ Ack គឺជាលេខលំដាប់នៃទិន្នន័យបន្ទាប់ដែលរំពឹងថាទិសដៅផ្សេងទៀតលើការតភ្ជាប់នេះ។ បង្អួច ជាចំនួនបៃនៃទំហំសតិបណ្ដោះអាសន្នដែលអាចរកបានតាមទិសដៅផ្សេងទៀតលើការតភ្ជាប់នេះ។ Urg បញ្ជាក់ថាមានទិន្នន័យជាបន្ទាន់នៅក្នុងកញ្ចប់ព័ត៌មាន។ ជម្រើស គឺ ជម្រើស TCP ដែលបានភ្ជាប់ជាមួយតង្កៀបមុំ (ឧ។ ) ។

Src, dst និង ទង់ជាតិ តែងតែមានវត្តមាន។ វាលផ្សេងទៀតគឺអាស្រ័យលើមាតិកានៃបឋមកថាពិធីការ tcp របស់កញ្ចប់ព័ត៌មានហើយបង្ហាញតែទិន្នផលបើសម។

នេះគឺជាផ្នែកដំបូងនៃ rlogin ពី rtsg របស់ ម៉ាស៊ីនដើម្បីបង្ហោះ ស៊ីសា

rsg.1023> csam.login: S 768512: 768512 (0) ឈ្នះ 4096 csam.login> rtsg.1023: S 947648: 947648 (0) ack 768513 ឈ្នះ 4096 rtsg.1023> csam ។ ចូល: ។ ack 1 win 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 win 4096 csam.login> rtsg.1023: P 1: 2 (1) ack 21 ឈ្នះ 4077 csam.login> rtsg.1023: P 2: 3 (1) ack 21 ឈ្នះ 4077 ជំហ៊ានទី 1 csam.login> rtsg.1023: P 3: 4 (1) ack 21 ឈ្នះ 4077 បន្ទាន់ 1

បន្ទាត់ទី 1 និយាយថាកំពង់ផែ TCP 1023 នៅលើ rtsg បានផ្ញើកញ្ចប់ព័ត៌មានទៅច្រកចូលលើស៊ីសា។ S បង្ហាញថាទង់ SYN ត្រូវបានកំណត់។ លេខលំដាប់កញ្ចប់គឺ 768512 ហើយវាគ្មានទិន្នន័យទេ។ (ចំណាំគឺ 'ទីមួយ: ចុង (n បៃ)' ដែលមានន័យថាលេខលំដាប់ ជាលើកដំបូង ប៉ុន្តែមិនរាប់បញ្ចូលទាំងពាក្យ ចុងក្រោយ ដែលជាបៃ nbytes នៃទិន្នន័យអ្នកប្រើ។ ) មិនមាន ack ជ្រូកដែលអាចរកបាននោះទេគឺបង្អួចទទួលបានគឺ 4096 បៃហើយ មានជម្រើសទំហំតូចបំផុតដែលស្នើ mss នៃ 1024 បៃ។

Csam ឆ្លើយតបជាមួយនឹងកញ្ចប់ស្រដៀងគ្នាលើកលែងតែវារួមបញ្ចូលទាំង ack ដែលមានជំនួយពីជ្រូកសម្រាប់ rtsg's SYN ។ Rtsg បន្ទាប់មក acks SYS របស់ស៊ីសាម។ `។ '។ មានន័យថាគ្មានទង់ជាតិត្រូវបានកំណត់ទេ។ កញ្ចប់ព័ត៌មានមិនមានទិន្នន័យដូច្នេះមិនមានលេខលំដាប់ទិន្នន័យទេ។ ចំណាំថាលេខលំដាប់ ack ជាចំនួនគត់តូច (1) ។ tcpdump ដំបូងមើលឃើញការសន្ទនា tcp វានឹងបោះពុម្ពលេខលំដាប់ពីកញ្ចប់។ នៅលើកញ្ចប់ជាបន្តបន្ទាប់នៃការសន្ទនាភាពខុសគ្នារវាងលេខលំដាប់កញ្ចប់បច្ចុប្បន្ននិងលេខលំដាប់ដំបូងត្រូវបានបោះពុម្ព។ នេះមានន័យថាលេខលំដាប់បន្ទាប់ពីទីមួយអាចត្រូវបានបកប្រែជាទីតាំងបៃដែលទាក់ទងក្នុងចរន្តទិន្នន័យរបស់សន្ទនា (ជាមួយបៃទិន្នន័យដំបូងដែលទិសនីមួយៗគឺ `1 ') ។ `-S 'នឹងបដិសេធលក្ខណៈពិសេសនេះដែលបណ្តាលឱ្យលេខលំដាប់ដើមជាលទ្ធផល។

នៅបន្ទាត់ទី 6 rtsg ផ្ញើ csam 19 បៃនៃទិន្នន័យ (បៃ 2 ដល់ 20 នៅក្នុងផ្នែក rtsg -> csam នៃការសន្ទនា) ។ ទង់ PUSH ត្រូវបានកំណត់នៅក្នុងកញ្ចប់ព័ត៌មាន។ នៅលើបន្ទាត់ទី 7 csam និយាយថាវាទទួលបានទិន្នន័យដែលផ្ញើដោយ rtsg ប៉ុន្តែមិនរាប់បញ្ចូលចំនួនបៃ 21 ។ ភាគច្រើននៃទិន្នន័យនេះគឺស្ថិតនៅក្នុងសតិបណ្ដោះអាសន្នព្រោះបង្អួចទទួលស៊ីសាមបានទទួល 19 បៃតូចជាង។ ស៊ីសាក៏ផ្ញើទិន្នន័យមួយបៃទៅ rtsg នៅក្នុងកញ្ចប់ព័ត៌មាននេះផងដែរ។ នៅថ្ងៃទី 8 និងទី 9, csam ផ្ញើចំនួនពីរបៃបន្ទាន់, រុញទិន្នន័យទៅ rtsg ។

ប្រសិនបើរូបថតនេះមានទំហំតូចល្មមដែល tcpdump មិនចាប់យក header TCP ពេញនោះវាបកប្រែជាច្រើននៃបឋមកថាតាមដែលវាអាចហើយបន្ទាប់មករាយការណ៍ `` [| tcp ] '' ដើម្បីចង្អុលបង្ហាញអំពីអ្នកដែលនៅសល់មិនអាចបកប្រែបាន។ បើបឋមកថាមានជម្រើសក្លែងក្លាយ (មួយដែលមានប្រវែងតូចពេកឬលើសពីចុងបឋមកថា) tcpdump រាយការណ៍ថាវាជា `` ជម្រើសមិនល្អ '' ហើយមិនបកប្រែជម្រើសផ្សេងទៀតទេ (ព្រោះវាមិនអាចប្រាប់បានទេ) ។ ដែលជាកន្លែងដែលពួកគេបានចាប់ផ្តើម) ។ ប្រសិនបើប្រវែងបឋមកថាចង្អុលបង្ហាញមានជម្រើសប៉ុន្តែប្រវែង datagram IP មិនវែងគ្រប់គ្រាន់សម្រាប់ជម្រើសពិតប្រាកដនៅទីនោះ tcpdump រាយការណ៍ថាវាជា `` [ ប្រវែងអាក្រក់ HD ] '' ។

ចាប់យកកញ្ចប់ TCP ជាមួយការផ្សំទង់ជាតិជាក់លាក់ (SYN-ACK, URG-ACK, ល)

មានប៊ីត 8 ប៊ីតនៅក្នុងផ្នែកប៊ីតត្រួតពិនិត្យនៃក្បាល TCP:

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

ចូរសន្មតថាយើងចង់មើលកញ្ចប់ដែលប្រើក្នុងការបង្កើតការតភ្ជាប់ TCP ។ ចងចាំថា TCP ប្រើពិធីការ handshake 3 វិធីមួយនៅពេលវាចាប់ផ្តើមការតភ្ជាប់ថ្មី។ លំដាប់ការតភ្ជាប់ទាក់ទងនឹងប៊ីតវត្ថុបញ្ជា TCP គឺ

1) អ្នកហៅផ្ញើ SYN

2) អ្នកទទួលឆ្លើយតបជាមួយ SYN, ACK

3) អ្នកទូរស័ព្ទផ្ញើ ACK

ឥឡូវយើងចាប់អារម្មណ៍ក្នុងការចាប់យកកញ្ចប់ដែលមានតែ SYN bit set (ជំហានទី 1) ។ ចំណាំថាយើងមិនចង់បានកញ្ចប់ព័ត៌មានពីជំហានទី 2 (SYN-ACK) ទេគ្រាន់តែជា SYN ដំបូង។ អ្វីដែលយើងត្រូវការគឺជាកន្សោមតម្រងត្រឹមត្រូវសម្រាប់ 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:

| | | --------------- | A | P | R | S | F | | --------------- | | 7 5 3 0 |

ទាំងនេះគឺជាប៊ីតវត្ថុបញ្ជា TCP ដែលយើងចាប់អារម្មណ៍។ យើងបានរាប់ប៊ីតនៅក្នុងអ័ក្សអ៊ិនធឺតពី 0 ទៅ 7 ពីស្តាំទៅឆ្វេងដូចនេះប៊ីត PSH គឺលេខប៊ីតលេខ 3 ខណៈប៊ីត URG គឺលេខ 5 ។

ចាំថាយើងចង់ចាប់យកកញ្ចប់ព័ត៌មានដោយប្រើតែ SYN តែប៉ុណ្ណោះ។ តោះយើងដឹងថាមានអ្វីកើតឡើងចំពោះ octet 13 ប្រសិនបើ datagram TCP មកដល់ជាមួយ SYN bit set នៅក្នុងបឋមកថារបស់វា:

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

សម្លឹងមើលផ្នែកប៊ីតវត្ថុបញ្ជាយើងឃើញថាមានតែលេខប៊ីត 1 (SYN) ប៉ុណ្ណោះត្រូវបានកំណត់។

ដោយសន្មតថាលេខគោលប្រាំបីគឺជាចំនួនគត់ដែលមិនបានចុះហត្ថលេខា 8 ប៊ីតនៅក្នុងលំដាប់បៃបណ្តាញតម្លៃអាំងទ័រនៃអ័ក្ស octet នេះគឺ

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 ត្រូវបានកំណត់នោះតម្លៃនៃ octet ទី 13 នៅក្នុងបឋមកថា TCP នៅពេលបកប្រែជាចំនួនគត់ដែលមិនបានចុះហត្ថលេខា 8 ប៊ីតក្នុងលំដាប់បៃបណ្តាញត្រូវតែជា 2 ។

ទំនាក់ទំនងនេះអាចត្រូវបានបញ្ជាក់ជា

tcp [13] == 2

យើងអាចប្រើកន្សោមនេះជាតម្រងសម្រាប់ tcpdump ដើម្បីមើលកញ្ចប់ដែលមានតែ SYN តែប៉ុណ្ណោះ:

tcpdump -i xl0 tcp [13] == 2

កន្សោមនោះនិយាយថា "ឱ្យ octet ទី 13 នៃ datagram TCP មានតម្លៃគោលដប់ 2" ដែលជាអ្វីដែលយើងចង់បាន។

ឥឡូវយើងសន្មតថាយើងត្រូវការចាប់យកកញ្ចប់ SYN ប៉ុន្តែយើងមិនខ្វល់ថា ACK ឬ TCP ផ្សេងទៀតត្រូវបានកំណត់ក្នុងពេលតែមួយទេ។ តោះយើងមើលថាតើមានអ្វីកើតឡើងចំពោះលេខ 13 ពេលប្រព័ន្ធទិន្នន័យ TCP ជាមួយ SYN-ACK បានមកដល់:

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

ឥឡូវប៊ីតទី 1 និងទី 4 ត្រូវបានកំណត់ក្នុង octet ទី 13 ។ តម្លៃគោលពីរនៃ 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

ឥឡូវយើងមិនអាចប្រើ 'tcp [13] == 18' ក្នុងកន្សោមតម្រង tcpdump ទេព្រោះវានឹងជ្រើសតែកញ្ចប់ដែលមានសំណុំ SYN-ACK ប៉ុណ្ណោះប៉ុន្តែមិនមែនមានតែកញ្ចប់ SYN តែប៉ុណ្ណោះទេ។ សូមចងចាំថាយើងមិនខ្វល់ថាប្រសិនបើ ACK ឬប៊ីតត្រួតពិនិត្យផ្សេងទៀតណាមួយត្រូវបានកំណត់ដរាបណា SYN ត្រូវបានកំណត់។

ដើម្បីសម្រេចបាននូវគោលដៅរបស់យើងយើងត្រូវមានតក្កវិជ្ជា AND តម្លៃគោលពីរនៃ octet 13 ជាមួយនឹងតម្លៃផ្សេងទៀតមួយចំនួនដើម្បីការពារប្រព័ន្ធ SYN bit ។ យើងដឹងថាយើងចង់ឱ្យ SYN ត្រូវបានកំណត់នៅក្នុងករណីណាមួយដូច្នេះយើងនឹងតក្ក AND តម្លៃនៅក្នុង octet ទី 13 ជាមួយនឹងតម្លៃគោលពីរនៃ SYN:

00010010 SYN-ACK 00000010 SYN និង 00000010 (យើងចង់ SYN) និង 00000010 (យើងចង់ SYN) -------------- = 00000010 = 00000010

យើងមើលឃើញថាប្រតិបត្តិការនេះនិងផ្តល់នូវលទ្ធផលដូចគ្នាមិនថា ACK ឬប៊ីតត្រួតពិនិត្យ TCP ផ្សេងទៀតត្រូវបានកំណត់ទេ។ ការតំណាងទសភាគនៃតម្លៃ AND ក៏ដូចជាលទ្ធផលនៃប្រតិបត្តិការនេះគឺ 2 (binary 00000010) ដូច្នេះយើងដឹងថាសម្រាប់កញ្ចប់ព័ត៌មានជាមួយ SYN កំណត់ទំនាក់ទំនងដូចខាងក្រោមត្រូវតែពិត:

((តម្លៃនៃ octet 13) AND (2)) == (2)

វាចង្អុលប្រាប់យើងអំពីកន្សោមតម្រង tcpdump

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

ចំណាំថាអ្នកគួរតែប្រើសញ្ញាសម្រង់តែមួយឬសញ្ញាសម្គាល់នៅក្នុងកន្សោមដើម្បីលាក់តួអក្សរពិសេស AND ('&') ពីសែល។

កញ្ចប់ព័ត៌មាន UDP

ទម្រង់ UDP ត្រូវបានបង្ហាញដោយកញ្ចប់ព័ត៌មាន rwho នេះ:

actinide.who> broadcast.who: udp 84

នេះនិយាយថាកំពង់ផែ ដែល នៅលើ actinide ម្ចាស់ផ្ទះបានផ្ញើក្រាហ្វិច udp ទៅជាកំពង់ផែ ដែលជាអ្នក បង្ហោះម៉ាស៊ីនអាសយដ្ឋានអ៊ីធឺណិត។ កញ្ចប់ព័ត៌មានមាន 84 អ៊ីងនៃទិន្នន័យអ្នកប្រើ។

សេវា UDP ខ្លះត្រូវបានទទួលស្គាល់ (ពីលេខប្រភពឬលេខច្រកគោលដៅ) និងព័ត៌មានពិធីការកម្រិតខ្ពស់ត្រូវបានបោះពុម្ព។ ជាពិសេសសេវាស្នើសុំ Domain Name (RFC-1034/1035) និងការហៅ CN RPC (RFC-1050) ទៅ NFS ។

សំណើម៉ាស៊ីនបម្រើឈ្មោះ UDP

(NB: ការពិពណ៌នាដូចខាងក្រោមសន្មតថាភាពស៊ាំជាមួយពិធីការសេវាដែនដែលបានពិពណ៌នាក្នុង RFC-1035 ។ បើអ្នកមិនសូវស្គាល់អំពីពិធីការនោះការពិពណ៌នាដូចខាងក្រោមនឹងត្រូវបានសរសេរជាភាសាក្រិច។ )

សំណើរម៉ាស៊ីនមេត្រូវបានធ្វើទ្រង់ទ្រាយជា

src> dst: id op? ទង់ Qtype ឈ្មោះ qclass (len) h2opolo.1538> helios.domain: 3+ A? ucbvax.berkeley.edu ។ (37)

ម៉ាស៊ីន h2opolo បាន សួរម៉ាស៊ីនបម្រើដែនលើ helios សម្រាប់កំណត់ត្រាអាស័យដ្ឋាន (qtype = A) ដែលទាក់ទងនឹងឈ្មោះ ucbvax.berkeley.edu ។ លេខសម្គាល់សំណួរគឺ `3 '។ `+ 'ចង្អុលបង្ហាញទង់ជាតិ ដែលចង់បានដែល ត្រូវបានកំណត់។ ប្រវែងសំណួរគឺ 37 បៃទេដែលមិនរាប់បញ្ចូលបឋមកថា UDP និង IP ។ ប្រតិបត្តិការសំណួរគឺធម្មតាមួយ Query ដូច្នេះវាលវត្ថុត្រូវបានលុបចោល។ ប្រសិនបើ op គឺជាអ្វីផ្សេងទៀតវានឹងត្រូវបានបោះពុម្ពរវាង `3 'និង` +' ។ ស្រដៀងគ្នានេះដែរ qclass គឺជាធម្មតា C_IN និងលុប។ qclass ណាមួយផ្សេងទៀតនឹងត្រូវបានបោះពុម្ពភ្លាមៗបន្ទាប់ពី 'A' ។

មានកំហុសឆ្គងមួយចំនួនដែលត្រូវបានធីកហើយអាចបណ្តាលឱ្យមានវាលបន្ថែមរុំព័ទ្ធក្នុងតង្កៀប: ប្រសិនបើសំណួរមានចំលើយកំណត់ត្រាសិទ្ធិអំណាចឬផ្នែកកត់ត្រាបន្ថែម ដូនពេញ nscountarcount ត្រូវបានគេដាក់ជា `[ n a] ', [ n n ] 'ឬ `[ n au]' ដែល n ជាចំនួនសមស្រប។ ប្រសិនបើប្រយោគឆ្លើយតបណាមួយត្រូវបានកំណត់ (AA, RA ឬ rcode) រឺបំណែកណាមួយនៃ `ត្រូវតែសូន្យ 'ប៊ីតត្រូវបានកំណត់ជាបៃពីរនិងបី` `[b2 & 3 = x ]' ត្រូវបានបោះពុម្ពដែល x ជាតម្លៃគោលដប់ប្រាំមួយនៃ បឋមកថាបៃ 2 និង 3 ។

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 ឆ្លើយតបទៅលេខសម្គាល់លេខ 3 ពី h2opolo ជាមួយកំណត់ត្រាចម្លើយចំនួន 3 កំណត់ត្រាម៉ាស៊ីនបម្រើឈ្មោះនិងកំណត់ត្រាបន្ថែម 7 ។ កំណត់ត្រាចម្លើយដំបូងគឺប្រភេទ A (អាសយដ្ឋាន) ហើយទិន្នន័យរបស់វាគឺជាអាសយដ្ឋានអិនធឺណេត 128.32.137.3 ។ ទំហំសរុបនៃការឆ្លើយតបគឺ 273 បៃ, ដោយមិនរាប់បញ្ចូលបឋមកថា UDP និង IP ។ លេខកូដសំណួរនិងកូដឆ្លើយតប (NoError) ត្រូវបានលុបចោលដូចជាថ្នាក់ (C_IN) នៃកំណត់ត្រា A ។

ក្នុងឧទាហរណ៍ទីពីរ helios ឆ្លើយតបទៅសំណួរ 2 ជាមួយកូដឆ្លើយតបនៃដែនដែលមិនមាន (NXDomain) ដោយមិនមានចម្លើយម៉ាស៊ីនមេតែមួយនិងគ្មានកំណត់ត្រាអាជ្ញាធរ។ `* 'ចង្អុលបង្ហាញថា ចំលើយចម្លើយផ្លូវការ ត្រូវបានកំណត់។ ដោយសារគ្មានចម្លើយទេគ្មានប្រភេទចំណាត់ថ្នាក់ឬទិន្នន័យត្រូវបានបោះពុម្ពទេ។

តួអក្សរទង់ជាតិផ្សេងទៀតដែលអាចលេចឡើងគឺ `- '(ការហៅខ្លួនឯងអាចរកបាន RA, មិនត្រូវ បានកំណត់) និង` |' (សារខ្លីកាត់ TC, កំណត់) ។ ប្រសិនបើផ្នែក 'សំណួរ' មិនមានធាតុមួយជាក់លាក់នោះទេ \ n \ n \ 'ត្រូវបានបោះពុម្ព។

ចំណាំថាសំណើនិងការឆ្លើយតបរបស់ម៉ាស៊ីនបម្រើមាននិន្នាការធំនិង snaplen លំនាំដើមនៃ 68 bytes មិនអាចចាប់យកគ្រប់គ្រាន់នៃកញ្ចប់ដើម្បីបោះពុម្ព។ ប្រើទង់ -s ដើម្បីបង្កើន snaplen ប្រសិនបើអ្នកចាំបាច់ត្រូវធ្វើការស៊ើបអង្កេតចរាចរណ៍ម៉ាស៊ីនមេ។ ` -128 'បានធ្វើការល្អសម្រាប់ខ្ញុំ។

ការឌិកូដ SMB / CIFS

tcpdump ឥឡូវនេះរួមបញ្ចូលការបម្លែងកូដ SMB / CIFS / NBT យ៉ាងទូលំទូលាយសម្រាប់ទិន្នន័យលើ UDP / 137, UDP / 138 និង TCP / 139 ។ ការឌិកូដបឋមមួយចំនួននៃទិន្នន័យ IPX និង NetBEUI SMB ក៏ត្រូវបានធ្វើផងដែរ។

តាមលំនាំដើមឌិកូដអប្បបរមាតិចតួចត្រូវបានធ្វើរួចជាមួយនឹងការកំនត់លម្អិតបន្ថែមទៀតប្រសិនបើប្រសិនបើ -v ត្រូវបានប្រើ។ ត្រូវបានគេព្រមានថាជាមួយ - កញ្ចប់ SMB តែមួយអាចយកទំព័រមួយឬច្រើនជាងនេះដូច្នេះប្រើតែប៉ុណ្ណោះ - ប្រសិនបើអ្នកពិតជាចង់បានព័ត៌មានលម្អិតទាំងអស់។

ប្រសិនបើអ្នកកំពុងឌិគ្រីបសម័យប្រជុំ SMB ដែលមានខ្សែអក្សរយូនីកូដនោះអ្នកប្រហែលជាចង់កំណត់អថេរបរិស្ថាន USE_UNICODE ទៅជា 1. បំណះដើម្បីរកឃើញធាតុអាកាសយូនីកូដស្វ័យប្រវត្តិនឹងត្រូវបានស្វាគមន៍។

សម្រាប់ព័ត៌មានអំពីទ្រង់ទ្រាយកញ្ចប់ព័ត៌មាន SMB និងអ្វីដែលវាល te ទាំងអស់មានន័យថាសូមមើល www.cif.org ឬថត pub / samba / specs / នៅលើតំបន់កញ្ចក់ samba.org ដែលអ្នកចូលចិត្ត។ បំណះ SMB ត្រូវបានសរសេរដោយ Andrew Tridgell (tridge@samba.org) ។

សំណើរសុំ NFS និងចម្លើយ

ស៊ុន NFS (បណ្តាញប្រព័ន្ធឯកសារ) សំណើនិងការឆ្លើយតបត្រូវបានបោះពុម្ពជា:

src.xid> dst.nfs: len op args src.nfs> dst.xid: reply stat len ​​លទ្ធផល sushi.6709> wrl.nfs: 112 អានតំណ fh 21,24 / 10,73165 wrl.nfs> sushi.6709: ឆ្លើយតបយល់ព្រម 40 readlink "../var" sushi.201b> wrl.nfs: 144 lookup fh 9,74 / 4096.6878 "xcolors" wrl.nfs> sushi.201b: ឆ្លើយតបអូខេ 128 ស្វែងរក fh 9,74 / 4134.3150

នៅក្នុងជួរទីមួយ sushi host ផ្ញើប្រតិបត្តិការជាមួយលេខសម្គាល់ 6709 ទៅ wrl (ចំណាំថាលេខដែលនៅពីក្រោយម៉ាស៊ីនរបស់ src គឺជាលេខសំគាល់ប្រតិបត្តិការ មិនមែន ជាប្រភពប្រភពទេ) ។ សំណើនេះគឺ 112 បៃដោយមិនរាប់បញ្ចូលក្បាល UDP និង IP ។ ប្រតិបត្តិការគឺ តំណអាន (អានតំណនិមិត្តសញ្ញា) នៅលើចំណុចទាញឯកសារ ( fh ) 21,24 / 10,731657119 ។ (ប្រសិនបើមានសំណាងដូចក្នុងករណីនេះចំណុចទាញឯកសារអាចត្រូវបានបកស្រាយថាជាលេខធំឧបករណ៍តូចតាចអមដោយលេខអ៊ីនណូអេនិងលេខជំនាន់។ ) Wrl ឆ្លើយតប `យល់ព្រម 'ជាមួយមាតិកានៃតំណ។

នៅក្នុងជួរទីបី sushi សួរ wrl ដើម្បីរកមើលឈ្មោះ ` ពណ៌ក្រហម 'នៅក្នុងឯកសារថតចម្លង 9,74 / 4096 ។ 6878 ។ ចំណាំថាទិន្នន័យបោះពុម្ពអាស្រ័យលើប្រភេទប្រតិបត្តិការ។ ទ្រង់ទ្រាយត្រូវបានបម្រុងទុកដើម្បីពន្យល់ដោយខ្លួនឯងបើអានជាការភ្ជាប់ជាមួយពិធីការពិធីការ NFS ។

ប្រសិនបើទង់ (verbose) ត្រូវបានផ្តល់ព័ត៌មានបន្ថែមនឹងត្រូវបានបោះពុម្ព។ ឧទាហរណ៍:

sushi.1372a> wrl.nfs: 148 អាន fh 21,11 / 12,199 8192 បៃ @ 24576 wrl.nfs> sushi.1372a: ឆ្លើយតប ok 1472 អាន REG 100664 ids 417/0 sz 29388

(-v ក៏បោះពុម្ពចំណងជើង IP របស់ TTL លេខសម្គាល់ប្រវែងនិងវាលបែងចែកដែលត្រូវបានលុបពីឧទាហរណ៍នេះ។ ) ក្នុងបន្ទាត់ទីមួយ sushi ស្នើ wrl អាន 8192 បៃពីឯកសារ 21,11 / 12,195 នៅបៃអុហ្វសិត។ 24576. Wrl ឆ្លើយតប `យល់ព្រម '; កញ្ចប់ព័ត៌មានដែលបានបង្ហាញនៅលើបន្ទាត់ទីពីរគឺជាបំណែកដំបូងនៃការឆ្លើយតបហើយដូច្នេះវាមានប្រវែងត្រឹមតែ 1472 បៃប៉ុណ្ណោះ (បំណែកផ្សេងនឹងបន្តនៅក្នុងបំណែកជាបន្តបន្ទាប់ប៉ុន្តែបំណែកទាំងនេះមិនមានបឋមកថា NFS ឬសូម្បីតែ UDP ទេហើយដូច្នេះប្រហែលជាមិនអាចបោះពុម្ពបានទេ។ អាស្រ័យលើកន្សោមតម្រងដែលបានប្រើ) ។ ដោយសារទង់ -v ត្រូវបានផ្តល់គុណលក្ខណៈឯកសារមួយចំនួន (ដែលត្រូវបានត្រឡប់ទៅបន្ថែមលើទិន្នន័យឯកសារ) ត្រូវបានបោះពុម្ព: ប្រភេទឯកសារ (`` REG '' សម្រាប់ឯកសារទៀងទាត់) '' របៀបឯកសារ (ជាគោលប្រាំបី) uid និង gid និងទំហំឯកសារ។

បើសិនជាទង់ -v ត្រូវបានផ្តល់ឱ្យច្រើនជាងម្ដងនោះពត៌មានលំអិតថែមទៀតត្រូវបានបោះពុម្ព។

ចំណាំថាសំណើរបស់ NFS មានទំហំធំហើយពត៌មានជាច្រើននឹងមិនត្រូវបានបោះពុម្ពទេលុះត្រាតែការ ដំឡើង snaplen ត្រូវបានកើនឡើង។ ព្យាយាមប្រើ ` -s 192 'ដើម្បីមើលចរាចរ NFS ។

កញ្ចប់ព័ត៌មាន NFS មិនបញ្ជាក់អត្តសញ្ញាណប្រតិបត្តិការ RPC ជាក់លាក់ទេ។ ផ្ទុយទៅវិញ tcpdump រក្សាដាននៃសំណើរថ្មីៗនិងផ្គូផ្គងពួកវាទៅនឹងការឆ្លើយតបដោយប្រើ ID ប្រតិបត្តិការ។ ប្រសិនបើការឆ្លើយតបមិនធ្វើតាមសំណើរដែលស្រដៀងគ្នានេះវាប្រហែលជាមិនអាចបូកសរុបបានទេ។

សំណូមពរ AFS និងការឆ្លើយតប

សំណើ Transarc AFS (Andrew File System) សំណើនិងការឆ្លើយតបត្រូវបានបោះពុម្ពជា:

src.sport> dst.dport: rx packet-type src.sport> dst.dport: សេវា rx packet-type ការហៅសេវាកម្ម call-name args src.sport> dst.dport: សេវា rx packet-type ឆ្លើយតបការហៅឈ្មោះ args elvis ។ 7001> pike.afsfs: rx fs ទិន្នន័យហៅប្តូរឈ្មោះចាស់ fid 536876964/1/1 ".newsrc.new" fid ថ្មី 536876964/1/1 ".newsrc" pike.afsfs> elvis.7001: rx data fs rename rename

នៅក្នុងបន្ទាត់ទីមួយម្ចាស់ផ្ទះ Elvis ផ្ញើកញ្ចប់ព័ត៌មាន RX មួយទៅ pike ។ នេះគឺជាកញ្ចប់ព័ត៌មាន RX ទៅសេវា FS (fileerver) និងជាការចាប់ផ្តើមនៃការហៅ RPC ។ ការហៅ RPC គឺជាការប្តូរឈ្មោះដោយមានលេខសម្គាល់ឯកសារចាស់នៃលេខ 536876964/1/1 និងឈ្មោះឯកសារចាស់នៃ `.newsrc.new 'និងឯកសារលេខសម្គាល់ឯកសារថ្មីនៃ 536876964/1/1 និងឈ្មោះឯកសារថ្មីរបស់` ។ newsrc '។ pike ម៉ាស៊ីនឆ្លើយតបជាមួយការឆ្លើយតប RPC ទៅការហៅប្តូរឈ្មោះ (ដែលទទួលបានជោគជ័យព្រោះវាជាកញ្ចប់ទិន្នន័យនិងមិនមែនជាកញ្ចប់បោះបង់) ។

ជាទូទៅ AFS RPCs ទាំងអស់ត្រូវបានឌីសក្រមយ៉ាងហោចណាស់ដោយឈ្មោះហៅ RPC ។ AFS RPCs ភាគច្រើនមានអាគុយម៉ង់មួយចំនួនដែលត្រូវបានបម្លែង (ជាទូទៅមានតែអាគុយម៉ង់ 'គួរឱ្យចាប់អារម្មណ៍' សម្រាប់និយមន័យនៃគួរឱ្យចាប់អារម្មណ៍មួយចំនួន) ។

ទំរង់នេះមានបំណងរៀបរាប់ដោយខ្លួនឯងប៉ុន្តែវាប្រហែលជាមិនមានប្រយោជន៍ដល់មនុស្សដែលមិនសូវស្គាល់អំពីដំណើរការរបស់ AFS និង RX ។

ប្រសិនបើទង់ (verbose) ទង់ជាតិត្រូវបានផ្តល់ពីរដងកញ្ចប់ទទួលស្គាល់និងព័ត៌មានបឋមកថាបន្ថែមត្រូវបានបោះពុម្ពដូចជាលេខសម្គាល់ហៅ RX លេខទូរស័ព្ទលេខលំដាប់លេខលេខសៀរៀលនិងទង់ជាតិកញ្ចប់ RX ។

ប្រសិនបើទង់ -v ត្រូវបានផ្តល់ពីរដងព័ត៌មានបន្ថែមត្រូវបានបោះពុម្ពដូចជាលេខសម្គាល់ការហៅរបស់ RX លេខសៀរៀលនិងទង់ជាតិកញ្ចប់ RX ។ ព័ត៌មានចរចា MTU ក៏ត្រូវបានបោះពុម្ពចេញពី RX ack packets ផងដែរ។

ប្រសិនបើទង់ -v ត្រូវបានផ្តល់ឱ្យបីដងស្គ្រីបសុវត្ថិភាពនិងលេខសម្គាល់សេវាត្រូវបានបោះពុម្ព។

លេខកូដកំហុសត្រូវបានបោះពុម្ពសម្រាប់បោះបង់កញ្ចប់ព័ត៌មានដោយលើកលែងតែកញ្ចប់ Ubik beacon (ដោយសារតែការបោះបង់កញ្ចប់ព័ត៌មានត្រូវបានគេប្រើដើម្បីបង្ហាញការបោះឆ្នោតបាទចំពោះពិធីការ Ubik) ។

ចំណាំថាសំណើរបស់ AFS មានទំហំធំហើយអាគុយម៉ង់ជាច្រើននឹងមិនត្រូវបានបោះពុម្ពទេលុះត្រាតែការបន្ថែម snaplen ត្រូវបានកើនឡើង។ សាកល្បងប្រើ ` -s 256 'ដើម្បីមើលចរាចរ AFS ។

កញ្ចប់ឆ្លើយតប AFS មិនកំណត់អត្តសញ្ញាណប្រតិបត្តិការ RPC ជាក់លាក់ឡើយ។ ផ្ទុយទៅវិញ tcpdump រក្សាដាននៃសំណើរថ្មីៗនិងផ្គូរផ្គងពួកវាចំពោះការឆ្លើយតបដោយប្រើលេខទូរស័ព្ទនិងលេខសម្គាល់សេវាកម្ម។ ប្រសិនបើការឆ្លើយតបមិនធ្វើតាមសំណើរដែលស្រដៀងគ្នានេះវាប្រហែលជាមិនអាចបូកសរុបបានទេ។

Klet Appletalk (DDP ក្នុង UDP)

កញ្ចប់ព័ត៌មាន DDP Appletalk ដែលបានដាក់នៅក្នុង UDP datagrams ត្រូវបានលុបនិងដាក់ជា DDP កញ្ចប់ (មានន័យថារាល់ព័ត៌មានបឋមកថា UDP ទាំងអស់ត្រូវបានបោះបង់ចោល) ។ ឯកសារ /etc/atalk.names ត្រូវបានប្រើដើម្បីបកប្រែលេខ net netbook និងលេខថ្នាំងទៅជាឈ្មោះ។ បន្ទាត់ក្នុងឯកសារនេះមានសំណុំបែបបទ

ឈ្មោះលេខ 1.254 អេធើរ 16.1 icsd-net ចំនួន 1.254.110 សន្លឹក

បន្ទាត់ពីរដំបូងផ្តល់ឈ្មោះបណ្ដាញ appletalk ។ បន្ទាត់ទីបីផ្តល់ឈ្មោះម៉ាស៊ីនជាក់លាក់មួយ (ម៉ាស៊ីនត្រូវបានសម្គាល់ពីសំណាញ់លេខទីប្រាំបីនៅក្នុងលេខ - លេខរៀង ត្រូវតែ មានលេខគោលប្រាំពីរនិងលេខម៉ាស៊ីន ត្រូវ មានបីគោលប្រាំបី។ ) លេខនិងឈ្មោះគួរតែត្រូវបានបំបែក។ ដោយដកឃ្លា (ទទេឬថេប) ។ ឯកសារ /etc/atalk.names អាចមានបន្ទាត់ទទេឬបន្ទាត់សេចក្តីអធិប្បាយ (បន្ទាត់ចាប់ផ្ដើមដោយ `# ') ។

អាសយដ្ឋាន Appletalk ត្រូវបានបោះពុម្ពជាទម្រង់:

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

(ប្រសិនបើមិនមាន /etc/atalk.names ឬគ្មានធាតុសម្រាប់លេខសម្គាល់ម៉ាស៊ីន / លេខរៀងមួយចំនួនអាសយដ្ឋានត្រូវបានបោះពុម្ពជាទ្រង់ទ្រាយលេខ។ ) ក្នុងឧទាហរណ៍ដំបូង NBP (DDP កំពង់ផែទី 2) នៅលើបណ្ដាញ 144.1 ថ្នាំង 209 ត្រូវបានបញ្ជូនទៅអ្វីដែលកំពុងស្ដាប់នៅលើច្រក 220 នៃថ្នាំង net icsd 112 ។ បន្ទាត់ទីពីរគឺដូចគ្នាលើកលែងតែឈ្មោះពេញនៃថ្នាំងប្រភពត្រូវបានគេស្គាល់ (`ការិយាល័យ ') ។ បន្ទាត់ទីបីគឺជាការផ្ញើពីច្រកទី 235 នៅលើ jssmag node 149 ដើម្បីផ្សាយតាមច្រក NBP icsd- net (ចំណាំថាអាសយដ្ឋានផ្សាយ (255) ត្រូវបានចង្អុលបង្ហាញដោយឈ្មោះសុទ្ធគ្មានលេខម៉ាស៊ីន - សម្រាប់ហេតុផលនេះវាជាគំនិតល្អ ដើម្បីរក្សាឈ្មោះថ្នាំងនិងឈ្មោះសុទ្ធដាច់ដោយឡែកនៅក្នុង /etc/atalk.names) ។

ពិធីការ NBP (protocol binding protocol) និងពិធីការ ATP (ពិធីការប្រតិបត្តិការរបស់ Appletalk) មានខ្លឹមសារបកប្រែរបស់ពួកគេ។ ពិធីការផ្សេងទៀតគ្រាន់តែបោះឈ្មោះឈ្មោះពិធីការ (ឬលេខបើគ្មានឈ្មោះត្រូវបានចុះឈ្មោះសម្រាប់ពិធីការ) និងទំហំកញ្ចប់ព័ត៌មាន។

កញ្ចប់ NBP ត្រូវបានធ្វើទ្រង់ទ្រាយដូចឧទាហរណ៍ខាងក្រោម:

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

បន្ទាត់ទីមួយគឺជាការស្នើសុំរកឈ្មោះសម្រាប់អ្នកសរសេរឡាស៊ែរដែលបានផ្ញើដោយ net icsd host 112 និងផ្សាយនៅលើ net jssmag ។ លេខសម្គាល់ nbp សម្រាប់ការរកមើលគឺ 190 ។ បន្ទាត់ទីពីរបង្ហាញការឆ្លើយតបសម្រាប់សំណើនេះ (ចំណាំថាវាមានលេខកូដដូចគ្នា) ពីម៉ាស៊ីន jssmag.209 និយាយថាវាមានធនធានម៉ាស៊ីនឃាំងបេះដូងឈ្មោះ "RM1140" ដែលបានចុះឈ្មោះលើច្រក 250 ។ ទីបី line គឺជាការឆ្លើយតបទៅនឹងសំណើសុំដដែលនេះដែលបានលើកឡើងថា techpit host មានអ្នកសរសេរកាំរស្មី "techpit" ដែលបានចុះបញ្ជីនៅលើផែ 186 ។

ការធ្វើទ្រង់ទ្រាយ កញ្ចប់ ATP ត្រូវបានបង្ហាញដោយឧទាហរណ៍ខាងក្រោម:

jspmag.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: atp- ឋានៈ 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 .122: atp-req * 12267 <0> 0121: 0 (0)> ឧទាហរណ៏: -7> 0xae030002

Jssmag.209 ចាប់ផ្តើមលេខសម្គាល់ប្រតិបត្តិ 12266 ជាមួយ helios ម៉ាស៊ីនដោយស្នើសុំរហូតដល់ 8 កញ្ចប់ (`0-7> ') ។ លេខ hex នៅចុងបន្ទាត់គឺជាតម្លៃនៃវាល 'userdata' ក្នុងការស្នើសុំ។

Helios ឆ្លើយតបជាមួយកញ្ចប់ព័ត៌មាន 512 បៃ។ ខ្ទង់ `: ខ្ទង់ 'បន្ទាប់ពីលេខសម្គាល់ប្រតិបត្តិផ្តល់លេខលំដាប់កញ្ចប់នៅក្នុងប្រតិបត្តិការនិងចំនួននៅក្នុងវង់ន៉ាគឺជាចំនួនទឹកប្រាក់នៃទិន្នន័យនៅក្នុងកញ្ចប់ព័ត៌មានដែលមិនរាប់បញ្ចូលក្បាល atp ។ `* 'នៅលើកញ្ចប់ព័ត៌មាន 7 បង្ហាញថាប៊ីត EOM ត្រូវបានកំណត់។

Jssmag.209 ស្នើថាកញ្ចប់លេខ 3 និង 5 ត្រូវបានបញ្ជូនបន្ត។ Helios ផ្ញើបន្តទៅពួកគេបន្ទាប់មក jssmag.209 បានចេញផ្សាយប្រតិបត្តិការនេះ។ ជាចុងក្រោយ, jssmag.209 ផ្តួចផ្តើមការស្នើបន្ទាប់។ `* 'នៅលើសំណើបង្ហាញថា XO (` ពិតប្រាកដមួយដង') មិន ត្រូវបានកំណត់។

បំណែក IP

អ៊ិនធឺណិអ៊ីនធឺណិតដែលមានបំណែកត្រូវបានបោះពុម្ពជា

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

(សំណុំបែបបទទីមួយបង្ហាញថាមានបំណែកច្រើនទៀត។ ទីពីរបង្ហាញថានេះជាបំណែកចុងក្រោយ។ )

លេខសម្គាល់ គឺលេខសម្គាល់បំណែក។ ទំហំ គឺជា ទំហំ បំណែក (គិតជាបៃ) ដោយមិនរាប់បញ្ចូលក្បាល IP ។ អុហ្វសិត គឺជា អុហ្វសិត នៃបំណែកនេះ (គិតជាបៃ) នៅក្នុង datagram ដើម។

ព័ត៌មានបំណែកគឺជាលទ្ធផលសម្រាប់បំណែកនិមួយៗ។ បំណែកទីមួយមានបឋមកថាពិធីការកម្រិតខ្ពស់ហើយ info info ត្រូវបានបោះពុម្ពបន្ទាប់ពីព័ត៌មានពិធីការ។ បំណែកបន្ទាប់ពីដំបូងមិនមានបឋមកថាពិធីការកម្រិតខ្ពស់ទេហើយ info info ត្រូវបានបោះពុម្ពបន្ទាប់ពីអាសយដ្ឋានប្រភពនិងអាសយដ្ឋាន។ ឧទាហរណ៍នៅទីនេះគឺជាផ្នែកមួយនៃ ftp ពី arizona.edu ទៅ lbl-rtsg.arpa លើការតភ្ជាប់ CSNET ដែលមិនលេចឡើងដើម្បីគ្រប់គ្រងចរន្តចំនួន 576 bytes:

arizona.ftp-data> rtsg.1170: ។ 1024: 1332 (308) ack 1 win 4096 (frag 595a: 328 @ 0 +) arizona> rtsg: (frag 595a: 204 @ 328) rtsg.1170> arizona.ftp-data: ។ ack 1536 ឈ្នះ 2560

មានចំណុចពីរដែលត្រូវកត់សម្គាល់នៅទីនេះ: ទីមួយអាសយដ្ឋាននៅក្នុងបន្ទាត់ទី 2 មិនរាប់បញ្ចូលលេខច្រកទេ។ នេះគឺដោយសារពត៌មានពិធីការ TCP ទាំងអស់ស្ថិតក្នុងបំណែកទីមួយហើយយើងមិនដឹងថាតើលេខច្រកឬលេខលំដាប់គឺនៅពេលយើងបោះពុម្ពបំណែកក្រោយៗទៀត។ ទីពីរពត៌មានលំដាប់ tcp នៅបន្ទាត់ទីមួយត្រូវបានបោះពុម្ពដូចប្រសិនបើមានទិន្នន័យអ្នកប្រើ 308 បៃនៅពេលដែលមាន 512 បៃ (308 នៅក្នុងបំណែកដំបូងនិង 204 នៅក្នុងវិនាទី) ។ ប្រសិនបើអ្នកកំពុងស្វែងរករន្ធនៅក្នុងចន្លោះបន្តបន្ទាប់ឬព្យាយាមផ្គូផ្គងឡើងជាមួយកញ្ចប់ព័ត៌មាននេះអាចបញ្ឆោតអ្នក។

កញ្ចប់មួយដែលមាន IP មិន ត្រូវបានសម្គាល់ដោយទង់ជាតិត្រូវបានសម្គាល់ដោយសញ្ញា (DF)

ត្រាពេលវេលា

តាមលំនាំដើមបន្ទាត់លទ្ធផលទាំងអស់ត្រូវបានដាក់មុនដោយត្រាពេលវេលា។ ត្រាពេលវេលាគឺជាពេលវេលានាឡិកាបច្ចុប្បន្ននៅក្នុងសំណុំបែបបទ

hh: mm: ss.frac

និងមានភាពត្រឹមត្រូវដូចនាឡិការបស់ខឺណែល។ ត្រាពេលវេលាឆ្លុះបញ្ចាំងពីពេលវេលាដែលខឺណែលបានឃើញជាលើកដំបូង។ មិនមានការប៉ុនប៉ងធ្វើឱ្យមានភាពយឺតយ៉ាវរវាងពេលដែលចំណុចប្រទាក់អ៊ីសឺរណិតបានដកយកកញ្ចប់ព័ត៌មានចេញពីខ្សែនិងពេលខឺណែលបានផ្អាកដំណើរការកញ្ចប់ព័ត៌មានថ្មី។

សូម​មើល​ផង​ដែរ

ចរាចរណ៍ (1C), nit (4P), bpf (4), pcap (3)

សំខាន់: ប្រើពាក្យបញ្ជា man ( % man ) ដើម្បីមើលពីរបៀបប្រើពាក្យបញ្ជាលើកុំព្យូទ័រជាក់លាក់របស់អ្នក។