Duomenų srauto stebėjimas ir analizė lokaliame tinkle
Duomenų srauto stebėjimas ir analizė lokaliame tinkle
Tikslai:
•susipažinti su MS Network Monitor programos, kuri skirta LAN duomenų
srauto stebėjimui ir
analizei, galimybėmis;
•užrašyti ir detaliai išanalizuoti bent vieną savo kompiuterio duomenų
srautą Ethernet paketų
lygyje paprastai duomenų kaitos sesijai.
Apie MS Network Monitor(NetMon) paketą:
Programa NetMon skirta duomenų srauto stebėjimui lokalaus tinklo segmente.
Visi duomenys
perduodami Ethernet tinklu ir yra talpinami į paketus. Ethernet – pati
populeriausia
tinklinė architekūra. Ji išnaudoja siaurojuostine transleciją (10
MB/S).Ethernet suskaldo duome-
nis į paketus (kadrus); Tinklo mmagistralėje ‘vaikšto labai’ daug paketų.
Todėl turi būti nustatytas
atitinkamas filtras,kuris išrenka tik tuos kurių mums reikia. Filtre
nustatomas atitinkamas rišys
tarp kompiuterių , nurodomi draugo (iš kurio siunčiamės duomenis ) ir to
ant kurio dirbate
kompiuterių adresai.
Paketas kabeliu siunčiamas iš vieno kompiuterio į kitą. Nusiūsti duomenys
į konkretų
kompiuterį , jis juos apdoroja ir siunčia atsakomajį paketą(atgaliniu
adresu), nes pirmame pa-
kete buvo siunčiančiojo kompiuterio unikalus adresas.
Minimalus paketo ilgis 64 baitai , o kartu su tarnybine paketo dalimi –
preambule- 72 baitai
(802.3 sstandartas). Prembulė–nurodo kadro pradžią. Maksimalus kadras gali
būti 1518 baitų .
Darbo aprašas:
Analizuojant duomenų srautą tarp kompiuterių, Ethernet paketų lygyje,
buvo kopijuojamas
duomenų failas iš vieno kompiuterio į kitą.Tinklo magistrale laksto labai
daug paketų. Todėl
norint kad duomenų būtų nedaug, buvo uždėtas filtras ,, kuris fiksavo tik
iš draugo kompiuterio
einančius paketus. Filtre nustatomas atitinkamas rišys tarp kompiuterių ,
nurodomi kompiuterių
adresai:
|AND |
SAP/ETYPE = Any SAP or Any ETYPE
|AND |(Address Pairs) |
KTML_NT_3 < = > KTML_NT_1
|AND |(Pattern Matches) |
Šis rišys fiksavo tik paketus einančius iš draugo kompiuterio į tą
kopmiuterį ant kurio aš
dirbau (į abi kryptis) ir tik Ethernet paketus, nefiksuojant visų kitų
rūšių paketų.
| |Kompiuterio |MAC adresas |IP adresas |
| |vardas | | |
| | | | |
|Draugo komp. |KTML_NT_3 |00:C0:6C:30:49:30|193.219.33.83 |
| | | | |
|Mano komp. |KTML_NT_1 |00:C0:6C:28:92:05|193.219.33.81 |
Nustačius filtrą, iš pagrindinio meniu ‘Capture’ paleidžiamas tinklo
stebėjimas,kurio metu
“pagauti” paketai rašomi į failą , pastebima tam tikra dinamika programos
lange. Sustabdžius
stebėjimą , sukauptą failą galima peržiūreti. Peržiūros sąsajos režime
kiekvieno paketo
įrašas iišskleidžiamas į atskirus laukus, galima matyti paketų antraštes ir
kt.
Buvo kopijuojamas failas SSS.txt, kuriame įrašyta eilutė –
“AAAAAAAAAAABBBBBBBBB
BBBBBBBBBCCCCCCCCCCCCCCC
Programa fiksavo 12 freimų.
Pirmas freimas:
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.617 KTML_NT_1 KTML_nt_3 SMB C transact2 |
|Findfirst, File = sss.txt |
00000: 00 C0 6C 30 49 30 00 C0 6C 28 92 05 00 92 FF FF ..l0I0..l(..
00010: 00 92 00 04 00 00 19 94 00 C0 6C 30 49 30 04 55 ….l0I0.U
00020: 00 000 19 94 00 C0 6C 28 92 05 04 55 10 06 03 40 ..l(.U.@
00030: 05 60 EB 00 62 00 00 00 62 00 FB 00 00 01 FF 53 .`..b.b..S
00040: 4D 42 32 00 00 00 00 18 03 80 96 81 00 00 00 00 MB2…..
00050: 00 00 00 00 00 00 01 08 C0 F9 01 08 40 37 0F 1E ….@7..
00060: 00 00 00 0A 00 60 02 00 00 00 00 00 00 00 00 00 …`….
00070: 00 1E 00 44 00 00 00 00 00 01 00 01 00 21 00 00 .D…!..
00080: 00 00 16 00 06 00 05 00 04 01 00 00 00 00 5C 00 …….
00090: 73 00 73 00 73 00 2E 00 74 00 78 00 74 00 00 00 s.s.s.t.x.t.
Pirmoje eilutėje, pirmus 6 baitus kadre sudaro gavėjo adresas, o sekančius
6 baitus siuntėjo
adresas. Sekantys 2 baitai – Ethernet tipas(skaičius visada didesnis už
maksimalų kadro
duomenų ilgį baitais). Freimo ilgis 160 baitai. Taigi kopijuojant failą
pirmame freime mūsų
kompiuteris pirmiausia pasiuntė užklausimą kitam kompiuteriui ar toks
failas yra: “transact2
Findfirst, File = sss.txt”. Paketo tipas = IPX ; IDP ilgis = 1146(0x92);
Antras freimas:
|Time Src MAC Addr Dst MAC Addr Protocol |
|Description |
|1.619 KTML_nt_3 KTML_NT_1 SMB |
|R transact2 Open (response) |
00000: 00 C0 6C 28 92 05 00 C0 6C 30 49 30 00 E0 FF FF
..l(..l0I0..
00010: 00 E0 00 04 00 00 19 94 00 C0 6C 28 92 05 04 55
….l(.U
00020: 00 00 19 94 00 C0 6C 30 49 30 04 55 10 06 05 60
..l0I0.U.`
00030: 03 40 FB 00 B0 00 00 00 B0 00 EC 00 F1 00 FF 53
.@…..S
00040: 4D 42 32 00 00 00 00 98 03 80 96 81 00 00 00 00
MB2…..
00050: 00 00 00 00 00 00 01 08 C0 F9 01 08 40 37 0A 0A
….@7..
00060: 00 6C 00 00 00 0A 00 38 00 00 00 6C 00 44 00 00
.l…8.l.D..
00070: 00 00 00 79 00 00 01 10 01 00 01 00 00 00 00 00
.y….
00080: 00 00 00 00 00 00 00 00 00 00 80 35 A8 4D D7 9D
…..5.M..
00090: BE 01 50 7D DD 7D 57 A3 BE 01 E0 F9 3D E2 C9 9D
..P}.}W…=.
000A0: BE 01 E0 F9 3D E2 C9 9D BE 001 43 00 00 00 00 00
..=…C…
000B0: 00 00 48 00 00 00 00 00 00 00 20 00 00 00 0E 00 ..H…
…
000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
……
000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
……
000E0: 73 00 73 00 73 00 2E 00 74 00 78 00 74 00 s.s.s.t.x.t.
Dabar gavome paketą iš kito kompiuterio. Matome kad siuntėjo ir gavėjo
adresai susikeitė
vietomis, kaip ir turėjo atsitikti. Tarpas tarp freimų sudarė 2
milisekundes. Freimo ilgis 238
baitai. Antras kompiuteris atsakė, kad failas atidarytas ir ivyks
“bendradarbiavimas”
: “transact2 Open (response)”. IDP ilgis = 224(0xE0);
Trečias freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.623 KTML_NT_1 KTML_nt_3 SMB C NT |
|create & X, File = sss.txt |
00000: 00 C0 6C 30 49 30 00 C0 6C 28 92 05 00 96 FF FF
..l0I0..l(..
00010: 00 96 00 04 00 00 19 94 00 C0 6C 30 49 30 04 55
….l0I0.U
00020: 00 00 19 94 00 C0 6C 28 92 05 04 55 10 06 03 40
..l(.U.@
00030: 05 60 EC 00 66 00 00 00 66
00 FC 00 01 01 FF 53
.`..f.f..S
00040: 4D 42 A2 00 00 00 00 18 03 80 96 81 00 00 00 00
MB……
00050: 00 00 00 00 00 00 01 08 C0 F9 01 08 80 37 18 FF
…..7..
00060: 00 00 00 00 10 00 06 00 00 00 00 00 00 00 89 00
……
00070: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
……
00080: 00 00 01 00 000 00 44 00 00 00 02 00 00 00 03 13
..D…
00090: 00 00 5C 00 73 00 73 00 73 00 2E 00 74 00 78 00
…s.s.s.t.x.
000A0: 74 00 00 00 t.
Freimo ilgis 64 baitai; IDP ilgis = 150(0x96); Duomenų ilgis =
0x0096(150);
Po 4 milisekundžių mūsų kompiuteris vėl pasiuntė freimą atsakydamas į
antrą freimą ir
klausdamas informacijos ar failas sukurtas:
NT create & X, File = /sss.txt Freimo ilgis 164 baitai; IDP ilgis = 150
(0x96);
Ketvirtas freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.624 KTML_nt_3 KTML_NT_1 SMB R NT create|
|& X, FID = 0x1805 |
00000: 00 C0 6C 28 92 05 00 C0 6C 30 49 30 00 98 FF FF
..l(..l0I0..
00010: 00 97 000 04 00 00 19 94 00 C0 6C 28 92 05 04 55
….l(.U
00020: 00 00 19 94 00 C0 6C 30 49 30 04 55 10 06 05 60
..l0I0.U.`
00030: 03 40 FC 00 67 00 00 00 67 00 ED 00 F2 00 FF 53
.@..g.g..S
00040: 4D 42 A2 00 00 00 00 98 03 80 96 81 00 00 00 00
MB……
00050: 00 00 00 00 00 00 01 08 C0 F9 01 08 80 37 22 FF
…..7″.
00060: 00 67 00 02 05 18 01 00 00 00 80 35 A8 4D D7 9D
.g…5.M..
00070: BE 01 50 7D DD 7D 57 A3 BE 01 E0 F9 3D E2 C9 9D
..P}.}W…=.
00080: BE 01 E0 FF9 3D E2 C9 9D BE 01 20 00 00 00 48 00 ..=…
.H.
00090: 00 00 00 00 00 00 43 00 00 00 00 00 00 00 00 00
..C…
000A0: 00 00 00 00 00 19 ..
Freimo ilgis = 166 baitai;Duomenų ilgis = 0x0098(152); IDP ilgis =
151(0x97);
File Allocation Size = 0x0000000000000048; End of File =
0x0000000000000043
Po 1 milisekundės kitas kompiuteris atsiuntė freimą ir pranešė, kad
failas sukurtas:
“NT Create & X, FID=0x1805”.
Penktas freimas
|Time Src MAC Addr Dst MAC Addr Protoco l Description |
| |
|1.626 KTML_NT_1 KTML_nt_3 SMB C |
|transact2 Query file info, FID = |
|0x1805 |
00000: 00 C0 6C 30 49 30 00 C0 6C 28 92 05 00 78 FF FF
..l0I0..l(.x..
00010: 00 78 00 04 00 00 19 94 00 C0 6C 30 49 30 04 55
.x….l0I0.U
00020: 00 00 19 94 00 C0 6C 28 92 05 04 55 10 06 03 40
..l(.U.@
00030: 05 60 ED 00 48 00 00 00 48 00 FD 00 02 01 FF 53
.`..H.H..S
00040: 4D 42 32 00 00 00 00 18 03 80 96 81 00 00 00 00
MB2…..
00050: 00 00 00 00 00 00 01 08 C0 F9 01 08 C0 37 0F 04
…..7..
Freimo ilgis = 134 baitai; Duomenų ilgis = 0x0078(120); IDP ilgis = 120
(0x78);
Dar po 2 milisekundžių mūsų kompiuteris dar kartą pasiuntė kadrą
reikalaudamas informacijos
apie failą:
“transact2 Query file info, FID = 0x1805”.
Šeštas freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.627 KTML_nt_3 KTML_NT_1 SMB R |
|transact2 Open (response) |
00000: 00 C0 6C 28 92 05 00 C0 6C 30 49 30 00 92 FF FF
..l(..l0I0..
00010: 00 92 00 04 00 00 19 94 000 C0 6C 28 92 05 04 55
….l(.U
00020: 00 00 19 94 00 C0 6C 30 49 30 04 55 10 06 05 60
..l0I0.U.`
00030: 03 40 FD 00 62 00 00 00 62 00 EE 00 F3 00 FF 53
.@..b.b..S
00040: 4D 42 32 00 00 00 00 98 03 80 96 81 00 00 00 00
MB2…..
00050: 00 00 00 00 00 00 01 08 C0 F9 01 08 C0 37 0A 02
…..7..
00060: 00 26 00 00 00 02 00 38 00 00 00 26 00 3C 00 00
.&…8.&.<..
00070: 00 00 00 2B 00 00 00 00 00 01 00 00 00 00 0E 00
.+….
00080: 00 00 43 00 00 00 00 00 00 00 48 00 00 00 00 00
..C…H…
00090: 00 00 3A 00 3A 00 24 00 44 00 41 00 54 00 41 00
..:.:.$.D.A.T.A.
Freimo ilgis =160 baitai; Duomenų ilgis=0x0092(146); IDP ilgis
=146(0x92);
Po 1 milisekundės kitas kompiuteris atsiuntė freimą ir pranešė, kad
failas atidarytas:
“transact2 Open (response)”.
Septintas freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.630 KTML_NT_1 KTML_nt_3 SMB C transact2|
|Query file info, FID = |
|0x1805 |
00000: 00 C0 6C 30 49 30 00 C0 6C 28 92 05 000 78 FF FF
..l0I0..l(.x..
00010: 00 78 00 04 00 00 19 94 00 C0 6C 30 49 30 04 55
.x….l0I0.U
00020: 00 00 19 94 00 C0 6C 28 92 05 04 55 10 06 03 40
..l(.U.@
00030: 05 60 EE 00 48 00 00 00 48 00 FE 00 03 01 FF 53
.`..H.H..S
00040: 4D 42 32 00 00 00 00 18 03 80 96 81 00 00 00 00
MB2…..
00050: 00 00 00 00 00 00 01 08 C0 F9 01 08 00 38 0F 04
…..8..
00060: 00 00 00 02 00 04 00 00 00 00 00 00 00 00 00 00
……
00070: 00 04 00 44 00 00 00 00 00 01 00 07 00 07 00 00
.D….
00080: 00 00 05 18 03 01 ..
Freimo ilgis = 134 baitai; Duomenų ilgis = 0x0078(120); IDP
ilgis=120(0x78);
Dar po 3 milisekundžių mūsų kompiuteris dar kartą pasiuntė kadrą
reikalaudamas informacijos
apie failą:
“transact2 Query file info, FID = 0x1805”.
Aštuntas freimas
|Time Src MAC Addr Dst MAC Addr Protocol |
|Description |
|1.630 KTML_nt_3 KTML_NT_1 SMB R |
|transact2 Query file |
|info(response to frame 7) |
00000: 00 C0 6C 28 92 05 00 C0 6C 30 49 30 00 70 FF
FF
..l(..l0I0.p..
00010: 00 70 00 04 00 00 19 94 00 C0 6C 28 92 05 04 55
.p….l(.U
00020: 00 00 19 94 00 C0 6C 30 49 30 04 55 10 06 05 60
..l0I0.U.`
00030: 03 40 FE 00 40 00 00 00 40 00 EF 00 F4 00 FF 53
.@..@.@..S
00040: 4D 42 32 00 00 00 00 98 03 80 96 81 00 00 00 00
MB2…..
00050: 00 00 00 00 00 00 01 08 C0 F9 001 08 00 38 0A 02
…..8..
00060: 00 04 00 00 00 02 00 38 00 00 00 04 00 3C 00 00
…8…<..
00070: 00 00 00 09 00 00 00 00 00 01 00 00 00 00 ……
Freimo ilgis = 126 baitai; Duomenų ilgis = 0x0070(112); IDP
ilgis=112(0x70);
Po 1 milisekundžių kompiuteris, iš kurio buvo kopijuojamas failas, perdavė
informaciją apie
kopijuojamą failą:
“transact2 Query file info (response to frame 7)”.
Devintas freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.635 KTML_NT_1 KTML_nt_3 SMB C read & X, |
|FID = 0x1805, Read |
|0x43 at 0x00000000 |
00000: 00 C0 6C 30 49 30 00 C0 6C 28 92 05 00 6C FF FF
..l0I0..l(.l..
00010: 00 6C 00 04 00 00 119 94 00 C0 6C 30 49 30 04 55
.l….l0I0.U
00020: 00 00 19 94 00 C0 6C 28 92 05 04 55 10 06 03 40
..l(.U.@
00030: 05 60 EF 00 3C 00 00 00 3C 00 FF 00 04 01 FF 53
.`..<.<..S
00040: 4D 42 2E 00 00 00 00 18 00 20 00 00 00 00 00 00 MB…
..
00050: 00 00 00 00 00 00 01 08 FE CA 01 08 40 38 0C FF
….@8..
00060: 00 00 00 05 18 00 00 00 00 43 00 43 00 FF FF FF
…C.C..
00070: FF 43 00 00 00 00 00 00 00 01 .C….
Freimo ilgis = 122 baitai; Duomenų ilgis = 0x006C(108); IDP
ilgis=108(0x6C);
Mūsų kompiuteris ppaprašė atsiusti failo gabalą:
“read & X, FID = 0x1805, Read 0x43 at 0x00000000”.
Dešimtas freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.636 KTML_nt_3 KTML_NT_1 SMB R read & |
|X, Read 0x43 |
00000: 00 C0 6C 28 92 05 00 C0 6C 30 49 30 00 B0 FF FF
..l(..l0I0..
00010: 00 AF 00 04 00 00 19 94 00 C0 6C 28 92 05 04 55
….l(.U
00020: 00 00 19 94 00 C0 6C 30 49 30 004 55 10 06 05 60
..l0I0.U.`
00030: 03 40 FF 00 7F 00 00 00 7F 00 F0 00 F5 00 FF 53 .@…..S
00040: 4D 42 2E 00 00 00 00 98 00 20 00 00 00 00 00 00 MB…
..
00050: 00 00 00 00 00 00 01 08 FE CA 01 08 40 38 0C FF
….@8..
00060: 00 00 00 FF FF 00 00 00 00 43 00 3C 00 00 00 00
…C.<..
00070: 00 00 00 00 00 00 00 44 00 01 41 41 41 41 41 41
…D..AAAAAA
00080: 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 0D
AAAAAAAAAAAAAAA.
00090: 0A 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
.BBBBBBBBBBBBBBB
000A0: 42 42 42 42 42 42 0D 0A 43 43 43 43 43 43 43 43
BBBBBB..CCCCCCCC
000B0: 43 43 43 43 43 43 43 43 43 43 43 43 43 00 CCCCCCCCCCCCC.
Freimo ilgis = 134 baitai; Duomenų ilgis = 0x00130(176); IDP
ilgis=175(0xAF);
Kaip matome (paryškinta) buvo patenkintas reikalavimas ir mes gavome failo
turinį.
“R read & X, Read 0x43”.
Venuoliktas freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|1.917 KTML_NT_1 KTML_nt_3 NBIPX Session DData, |
|Ack, Recv Seq 0x100, |
|0x105 Bytes Received |
00000: 00 C0 6C 30 49 30 00 C0 6C 28 92 05 00 30 FF FF
..l0I0..l(.0..
00010: 00 30 00 04 00 00 19 94 00 C0 6C 30 49 30 04 55
.0….l0I0.U
00020: 00 00 19 94 00 C0 6C 28 92 05 04 55 80 06 03 40
..l(.U.@
00030: 05 60 F0 00 00 00 00 00 00 00 00 01 05 01 .`….
Freimo ilgis = 62 baitai; Duomenų ilgis = 0x0030(48); IDP ilgis=48(0x30);
Šis freimas labai trumpas(minimalus – 62 baitai) ir buvo pasiųstas po
sąlyginai ilgo laiko tarpo
– 281 milisekundžių.
Dvyliktas freimas
|Time Src MAC Addr Dst MAC Addr Protocol Description |
|0.000 000000000000 000000000000 STATS Number of |
|Frames Captured = 11 |
00000: 00 00 00 00 00 00 00 00 00 00 00 00 00 6E AA AA
…..n..
00010: 03 00 00 00 19 84 24 4D 53 54 00 00 00 00 67 00
..$MST..g.
00020: 00 00 50 00 00 00 00 00 AB 0D 00 00 0B 00 00 00
..P…..
00030: D0 06 00 00 0B 00 00 00 78 06 00 00 1B 00 00 00
….x…
00040: 67 0B 00 00 01 00 000 00 0F 00 00 00 00 00 00 00
g…..
00050: 00 00 00 00 15 00 00 00 FF FF FF FF FF FF FF FF
……
00060: FF FF FF FF 00 00 00 00 FF FF FF FF FF FF FF FF
……
00070: 00 00 00 00 00 00 00 00 00 00 00 00 ….
Freimo ilgis =124 baitai; Duomenų ilgis = 0x006E(110);
Šis paskutinis freimas neįprastas. Jis neturi nei siuntėjo, nei gavėjo.
Be to jis sugautas po
4294965379 milisekunžių. Tai gali būti šiūkšlės.