Uploaded by Aizada Artikbayeva

МУ для лаб раб каз — прот.

advertisement
Зертханалық жұмыс №1
Жүйелік әкімшіліктің негізгі түсініктері мен міндеттері
1. Жергілікті желі топологиясын визуализациялауға арналған
қолданбалы бағдарламалық жасақтамаға шолу жасаңыз.
2. Топологияға талдау жасаңыз және сурет түрінде желі сызбасын
жасаңыз. Үлгі суретте көрсетілген. 1.1.
Сурет. 1.1. "Жұлдыз" топологиясы
3. 1.2-суретте кеңсе бөлмесінің жоспары көрсетілген. Бөлмедегі барлық
желілік құрылғыларды жергілікті желіге біріктіру, желі топологиясын
және қажетті жабдықты таңдау қажет. Жабдық туралы ақпаратты кестеге
енгізіңіз. 1.1.
Кесте 1.1
Қажетті жабдықтардың тізімі
№
Атауы
Саны
Құны
1
Сурет. 1.2. Кеңсе бөлмесінің жоспары
4. Wireshark трафик анализаторы бағдарламасын орнатыңыз.
5. Wireshark трафик анализаторы бағдарламасының интерфейсімен
танысыңыз.
6. Wireshark трафик анализаторы бағдарламасының негізгі
мүмкіндіктеріне шолу жасаңыз.
7. Төмендегі сұрақтарға жауап беріңіз:
1) әр түрлі қалалардың, аймақтардың, мемлекеттердің компьютерлерін
біріктіретін желі ................. сыныпқа жатады;
2) ……….. - бұл желіге қосылуға және басқа құрылғылармен өзара
әрекеттесуге мүмкіндік беретін құрылғы;
3) OSI желілік моделінің жеті деңгейі бар:…………..;
4) арна деңгейіндегі деректер блогы деп аталады:
- сегмент;
- пакет;
- кадр;
- жақтау.
5) тағайындалған желіге дейін ең жақсы маршрутты таңдауға жауапты
.......... OSI моделінің деңгейі;
6) ………….- бұл желіге жібермес бұрын деректерге белгілі бір
деңгейдегі тақырып қосылатын процесс.
7) желілік деңгейдегі деректер блогы деп аталады:
- сегмент;
- пакет;
- кадр;
- жақтау.
8) DOCX форматында 1, 2, 3, 6, 7-тармақтар бойынша есеп дайындау.
Зертханалық жұмыс №2
Операциялық жүйелер жұмысының сенімділігі мен қауіпсіздігін
қамтамасыз етудің жалпы принциптері
1. 2.1-суретте кеңсе кеңістігінің жоспары көрсетілген. Әр кабинада алты
2
жұмыс станциясы бар. Барлық желілік құрылғыларды жергілікті желіге
біріктіру қажет. Іргелес бөлмеде монтаждау жұмыстарын жүргізуге
тыйым салынады. Қауіпсіздік тұрғысынан желілік жабдықты залда
орналастыру қажет емес. Кабельдік ішкі жүйенің нұсқасын және желілік
жабдықтың орналасуын ұсыныңыз.
Сурет. 2.1. Кеңсе кеңістігінің жоспары
2. 2.2-суретте. жеке ғимараттарда орналасқан кеңсе бөлмелерінің
жоспары көрсетілген. 1-тармақтағы тапсырмаға ұқсас тапсырманы
орындаңыз.
Сурет. 2.2. Жеке ғимараттардағы кеңсе бөлмелерінің жоспары
3. Талшықты-оптикалық кабельді орнатуға және диагностикалауға
арналған құралдар мен аспаптарға шолу дайындаңыз.
4. Cisco Packet Tracer және eNSP негізгі мүмкіндіктеріне шолу жасаңыз.
5. Төмендегі сұрақтарға жауап беріңіз:
1) TCP / IP моделі …………. деңгейлерді қамтиды;
2) TCP / IP моделінің артықшылықтарына мыналар жатады:……… ;
3
3) желдету шахталарында төсеу кезінде қандай кабельдерге тыйым
салынады?
4) кабельдік деректерді беру орталарын тізімдеңіз;
5) хаттама .........., TCP / IP моделінен TCP, жеткізу кепілдігімен
деректерді беруді қамтамасыз етеді;
6) байланыс арнасының негізгі сипаттамаларына:........;
7) деректерді беруге болатын бағытқа байланысты байланыс арналары:
..........
6. Тапсырмаларды орындау нәтижелері бойынша есеп дайындаңыз.
Зертханалық жұмыс №3
Пәрмен жолы мен пакеттік файлдарды пайдалану
1. Қажетті бағдарламалық құралды жүктеп алыңыз: WinPcap 4.1.3,
Wireshark 3.6.2, VirtualBox 5.2.44 және eNSP.
2. Жүктелген бағдарламалық жасақтаманы келесі ретпен орнатыңыз:
WinPcap 4.1.3, Wireshark 3.6.2, VirtualBox 5.2.44 және eNSP.
3. eNSP тренажерін іске қосыңыз.
4. Жаңа топология жасауды таңдаңыз (New Topo). Пайдаланушыға
практикалық әрекеттер мен желінің әрекетін талдау үшін желілік
топологияны орнатуға болатын кенеп тақтасы ұсынылады. Бұл мысалда
қарапайым "нүкте-нүкте" желісі жасалуы керек.
5. Қолданылуы мүмкін соңғы құрылғылардың тізімін көрсету үшін End
Device –> PC бөлімін таңдаңыз. ДК белгішесін таңдаңыз, оны кенеп
жолағына сүйреңіз, оны кенепке орналастыру үшін белгішені босатыңыз.
Сол сияқты екінші жұмыс станциясын орналастырыңыз (сурет. 3.1). Кенеп
панеліндегі құрылғылар-бұл нақты операцияларды эмуляциялау үшін
қолдануға болатын имитацияланған соңғы жүйелер.
Сурет. 3.1. Қарапайым жергілікті желі
6. Қосылым белгішесін таңдаңыз (сурет. 3.2) топологияда қолдануға
болатын орталардың тізімін көрсету. Тізімнен Auto таңдаңыз. Белгішені
4
басқаннан кейін курсор курсордың ағымдағы рөлін қосқыш ретінде көрсету
үшін қосқышты білдіреді.
Сурет. 3.2. Физикалық ортаны құру
7. PC1 және PC2 жұмыс станцияларында тінтуірді дәйекті түрде басыңыз.
Нүкте-нүкте желісін құру ортадағы екі қызыл нүктемен байланысты
көрсетеді, олар орта ажыратылған ретінде қосылатын интерфейстердің
ағымдағы күйін білдіреді (сурет. 3.3).
Сурет. 3.3. Нүкте-нүкте желісі
8. PC1 және PC2 жұмыс станцияларында статикалық IP мекенжайын
орнатыңыз. PC1 жұмыс станциясын таңдап, Сипаттар мәзірін көрсету үшін
тінтуірдің оң жақ батырмасын пайдаланыңыз. Параметрлерді сәйкес
реттеңіз сурет. 3.4.
5
Сурет. 3.4. PC1 жұмыс станциясының параметрлерін орнату
9. Hostname: PC2 және IP мекен-жайы: 192.168.0.3 арқылы PC2 жұмыс
станциясы үшін 8-бетті қайталаңыз.
10. Start Device батырмасын пайдаланып құрылғыларды іске қосыңыз
(сурет. 3.5).
Сурет. 3.5. Құрылғыларды іске қосу
11. Интерфейсте пакетті түсіруді орындау. PC1 таңдаңыз және Параметрлер
мәзірін көрсету үшін тінтуірдің оң жағын басыңыз. Құрылғыға тиесілі және
пакетті түсіру құралы арқылы бақылауға болатын интерфейстердің тізімін
көрсету үшін деректерді түсіру опциясын (Capture Data) бөлектеңіз. Күйін
6
бақылау қажет тізімнен интерфейсті таңдаңыз. Интерфейсті таңдау
таңдалған интерфейс үшін Wireshark пакетін түсіру құралын іске қосады.
12. RS1 жұмыс станциясында пәрмен терезесін ашыңыз: клиент белгішесін
екі рет басып, пәрмен қойындысын таңдаңыз немесе тінтуірдің оң жақ
түймешігімен сипаттар мәзіріне кіріп, параметрлерде пәрмен қойындысын
таңдаңыз.
13. Пәрменді енгізіңіз: ping 192.168.0.3 (сурет. 3.6). Ping утилитасы ICMP
арқылы жұмыс істейді.
Сурет. 3.6. Интерфейсте трафикті құру
14. Трафиктің түсуін бақылаңыз. Пакетті жіберуші мен пакетті алушының
MAC мекен-жайы енді қандай?
15. Түсірілген деректерден жіберушінің MAC мекенжайын тауып,
аппараттық құрал өндірушісінің онлайн қызметі арқылы анықтаңыз.
16. ICMP және ARP протоколдары арқылы түсірілген трафикті сүзіңіз.
17. Жергілікті компьютердің желілік интерфейстерінің MAC
мекенжайларын шығару үшін сценарий жасаңыз. Алынған мәліметтер
бойынша желілік адаптер өндірушілерін анықтаңыз. Сәйкестік кестесін
ресурстан
алуға
болады
https://github.com/wireshark/wireshark//raw/master/manuf
немесе
қызметті
пайдаланыңыз
https://tools.alexell.ru/mac-inf.
Сценарийді іске асыру үшін psutil (Python system and process utilities)
модулін пайдалану ұсынылады, ол іске қосылған процестер туралы ақпарат
алу және Python жүйесінде жүйені (процессор, жад, дискілер, желі)
пайдалану үшін кросс-платформалық кітапхана болып табылады.
Анықтама: net_if_addrs () әдісі-жүйеде орнатылған әрбір желілік картамен
байланысты мекенжайларды сөздік түрінде қайтарады, оның кілттері
желілік карталардың атаулары, ал мәні желілік картаға тағайындалған әрбір
мекенжай үшін аталған кортеждердің тізімі.
7
Пайдалану мысалы: желілік картаның атауын және оның IP мекенжайын
шығару.
18. DOCX форматында зертханалық жұмыс туралы есеп дайындаңыз.
Зертханалық жұмыс №4
Linux әкімшілігі. Берілген тапсырмалар ауқымын шешу үшін Linux
таратылымын таңдау
1. Сәйкес топология жасаңыз сурет. 4.1. S3700 қосқышын пайдаланыңыз.
8
Сурет. 4.1. S3700 қосқышын қолданатын желі
2. Settings - > view динамикалық мәзірі арқылы коммутатордың көрінісін
қараңыз.
3. Құрылғыларды іске қосыңыз.
4. Жұмыс станциялары үшін статикалық IP мекенжайларын орнатыңыз:
PC1 – 192.168.1.2, PC2 – 192.168.1.3. Ішкі желі маскасын орнатыңыз
255.255.255.0 (сурет. 4.2).
Сурет. 4.2. IP мекенжайын орнату
5. Ping пәрменін пайдаланып, PC1 және PC2 жұмыс станциялары
арасындағы байланысты тексеріңіз (сурет. 4.3).
Сурет. 4.3. Ping командасының нәтижесі
6. Коммутаторда бағдарламалық жасақтаманың нұсқасын және жүйенің
аппараттық ақпаратын көру үшін display version пәрменін іске қосыңыз. Ол
үшін динамикалық мәзір мен CLI пәрменін қолданыңыз (сурет. 4.4).
9
Сурет. 4.4. Дисплей нұсқасы командасының нәтижесі
Команданың шығысы VRP амалдық жүйесінің нұсқасын, құрылғы моделін
және іске қосу уақытын көрсетеді.
7. Clock datetime 12:00:00 2022-03-11 пәрменін пайдаланып жүйе уақыты
мен күн параметрлерін өзгертіңіз. Нақты уақыт пен ағымдағы күнді
орнатыңыз. Жаңа жүйе уақыты кіргеніне көз жеткізу үшін display clock
пәрменін іске қосыңыз.
8. Sysname пәрменін пайдаланып sw1 қосқышына жүйелік көрініске және
атау беруге қол жеткізу үшін system пәрменін орындаңыз.
9.Quit пәрменін пайдаланып жүйеден шығыңыз.
10. Ағымдағы каталогтағы файлдар тізімін көрсету үшін реттелетін
көріністе dir пәрменін іске қосыңыз (сурет. 4.5).
Сурет. 4.5. Ағымдағы каталогтағы файлдар тізімі
11. Save пәрменін пайдаланып ағымдағы конфигурацияны сақтаңыз.
12. Ағымдағы конфигурация туралы ақпаратты көру үшін келесі пәрменді
іске қосыңыз: дисплей ағымдағы конфигурациясы.
13. Құрылғыны қайта іске қосу үшін reboot пәрмені қолданылады.
Құрылғыны қайта іске қосыңыз.
14. Ar1200 маршрутизаторын желіге қосып, оны GigabitEthernet0/0/1
желілік интерфейсі арқылы қосқышқа қосыңыз.
15. Settings - > view динамикалық мәзірі арқылы маршрутизатордың
көрінісін қараңыз (сурет. 4.6).
10
Сурет. 4.6. Оқу желісі
16.Маршрутизаторда 6, 7, 8 (Құрылғы атауы – R1), 11, 12 тармақтарын
орындаңыз.
17. Жүйе параметрлері режиміне кіріңіз (жүйе пәрмені) және
gigabitethernet0/0/1 желілік интерфейсін interface Giga - bitethernet 0/0/1
пәрменін пайдаланып конфигурациялаңыз. IP мекенжайын 192.168.10.1 24
IP мекенжайы пәрменін пайдаланып жазыңыз (сурет. 4.7).
Сурет. 4.7. IP мекенжайын орнату
18. Интерфейсті конфигурациялауды quit пәрменімен аяқтаңыз.
19. Маршрутизатордағы DHCP функциясын dhcp enable пәрменімен
қосыңыз.
20. ip pool NET1 пәрменін пайдаланып мекенжай пулын жасаңыз.
21. Динамикалық түрде таралуы мүмкін IP мекенжайларының ауқымын
көрсетіңіз: network 192.168.10.0 mask 255.255.255.0.
22. Шлюзді орнатыңыз: gateway-list 192.168.10.1.
23. DNS орнатыңыз: dns-list 8.8.8.8.
24. IP мекенжайын жалға алу мерзімін 10 күн және 12 сағатқа белгілеңіз
(команда lease day 10 hour 12 minute 0).
25. Пулдан автоматты түрде тағайындалмайтын IP мекенжайын
(192.168.10.2) көрсетіңіз (команда excluded-IP-address 192.168.10.2).
26. Quit пәрменін пайдаланып бассейнді конфигурациялау режимінен
шығыңыз.
27. Интерфейсті орнату режиміне interfaceGigabitEthernet 0/0/1 пәрменін
пайдаланып кіріңіз және DHCP режимін dhcp select global пәрменімен
орнатыңыз.
11
28. Интерфейс параметрлерінен шығыңыз (quit пәрмені).
29. Жұмыс станциясының параметрлерінде мекен-жайдың динамикалық
алынуын көрсетіңіз (сурет. 4.8).
Сурет. 4.8. Жұмыс станциясында IP мекенжайын орнату
30. Жұмыс станциясында ipconfig пәрменін пайдаланып TP / IP
протоколының конфигурация параметрін қараңыз (сурет. 4.9).
Сурет. 4.9. TP/IP протоколының конфигурациясын орнату
31. Екінші жұмыс станциясының IP мекенжайын анықтаңыз.
32. Шлюзді (192.168.10.1) және жұмыс станцияларын (сурет. 4.10).
12
Сурет. 4.10. Ping пәрменін орындау нәтижесі
33. Санды он алтылық жүйеден екілік және ондық жүйеге аудару үшін
сценарий жасаңыз.
34. Зертханалық жұмыс туралы есеп дайындаңыз. Есепте зертханалық
жұмыс пункттерінен барлық командалардың орындалуының скриншоттары
болуы тиіс.
Зертханалық жұмыс №5
Linux қауіпсіздік моделі және сыртқы құрылғыларға қол жеткізу
1. Сәйкес топология жасаңыз сурет. 5.1. Екі хабты пайдаланыңыз.
13
Сурет. 5.1. Хабтарды қолданатын желі
2. Жұмыс станциялары үшін статикалық IP мекенжайларын орнатыңыз:
PC1 – 192.168.10.2, PC2 – 192.168.10.3. Ішкі желі маскасын орнатыңыз
255.255.255.0.
3. Құрылғыларды іске қосыңыз.
4. 0/0/1 жұмыс станциясының Ethernet интерфейстерінен пакетті түсіруді
орнатыңыз.
5. Ping пәрменін пайдаланып, жұмыс станциялары арасындағы
байланыстарды тексеріңіз.
6. Сөмкелерді ұстауды бақылаңыз (сурет. 5.2).
14
Сурет. 5.2. 0/0/1 PC1 Ethernet интерфейсінен пакеттерді түсіру
7. Суретте көрсетілгендей схемаға қосыңыз. 5.3, сақина жасауға арналған
тағы бір хаб.
Сурет. 5.3. Сақиналы топология
8. Ping пәрменін пайдаланып, PC1 және PC2 жұмыс станциялары
арасындағы байланысты тексеріңіз. Алынған нәтижені түсіндіріңіз (сурет.
5.4).
Сурет. 5.4. Тестілеу нәтижесі
9. Хабтарды S3700 қосқыштарына ауыстыру арқылы желі топологиясына
өзгерістер енгізіңіз (сурет. 5.5).
15
Сурет. 5.5. S3700 қосқыштарына негізделген желі
10. Құрылғыларды іске қосыңыз және PC1 және PC2 жұмыс станциялары
арасындағы байланысты тексеріңіз. Нәтижені түсіндіріңіз.
11. Коммутаторлардың MAC мекенжайларын анықтаңыз. Ол үшін әр
қосқышта display Bridge mac-add пәрменін орындаңыз. Алынған
мәліметтерді кестеге енгізіңіз. 5.1.
Кесте 5.1
Коммутатордың
аты
LSW1
MAC-адрес
LSW2
………………………
LSW3
………………………
LSW4
………………………
Ескерту
………………………
12. Кесте деректерін талдаңыз. 5.1 және түбірлік қосқыштың атын
анықтаңыз.
13. Wireshark трафик анализаторы бағдарламасы арқылы түбірлік
қосқышты анықтаудың дұрыстығын тексеріңіз (сурет. 5.6).
16
Сурет. 5.6. Түбірлік қосқыштың MAC мекенжайы
14. Display STP пәрмені арқылы түбірлік қосқышты анықтаудың
дұрыстығын тексеріңіз (сурет. 5.7).
Сурет. 5.7. Коммутатор туралы ақпарат
15. Түбірлік қосқыш интерфейстерінен пакетті түсіруді орнатыңыз (сурет.
5.8).
Сурет. 5.8. Коммутатор интерфейстерінен пакеттерді түсіру
16. Түбірлік қосқыштың қай байланысы өшірілгенін анықтаңыз.
17
17. Ең қысқа жолды есептеп, STP ережелеріне сәйкес қандай қосылымды
өшіру керектігін анықтаңыз.
18. Түбірлік қосқышпен жұмыс қосылымын үзіңіз.
19. Ping пәрменін пайдаланып, PC1 және PC2 жұмыс станциялары
арасындағы байланысты тексеріңіз. Нәтижені түсіндіріңіз.
20. Барлық құрылғыларды өшіріңіз.
21. Түбірлік қосқышқа қосылымды қалпына келтіріңіз.
22. Ажыратылған қосылымды GE 0/0/1 интерфейсіне ауыстырыңыз.
23. Құрылғыларды іске қосыңыз.
24. Wireshark арқылы түбірлік қосқыштың қай байланысы өшірілгенін
анықтаңыз. Нәтижені түсіндіріңіз.
25. System-view пәрменін пайдаланып LSW2 қосқышындағы әкімшілік
режиміне өтіңіз.
26. LSW2 қосқышындағы коммутация кестесін қараңыз. Көру үшін display
mac-address пәрменін пайдаланыңыз.
27. Әкімшілік режимде quit командасымен аяқтаңыз.
28. Зертханалық есеп дайындаңыз. Есепте зертханалық жұмыс
пункттерінен барлық командалардың орындалуының скриншоттары болуы
тиіс.
Зертханалық жұмыс №6
Linux-тегі процестерді басқару
6.1. Wi-Fi желілерін диагностикалау және арна жүктемесін талдау
Жұмысты орындау үшін Сізге Wi-Fi адаптері бар компьютер және
адаптердің ауқымында бірнеше жұмыс істейтін кіру нүктелері қажет.
1. Inssider бағдарламасын жүктеп, орнатыңыз.
2. Inssider бағдарламасының құжаттамасын зерттеп, бағдарламаның негізгі
мүмкіндіктері мен интерфейсінің сипаттамасын дайындаңыз.
3. 2,4 және 5 ГГц диапазонында жұмыс істейтін желілердің санын
анықтаңыз.
4. Арналар арқылы желілерді тарату диаграммасын жасаңыз. Тапсырманы
орындау үшін арналар бойынша сұрыптауды немесе сүзгіні пайдалану
ыңғайлы (сурет. 6.1).
Сүзгілердің мысалдары:
1, 5-бірінші, бесінші арналар және олардың басқа арналармен үйлесуі;
1-5-бірінші және бесінші арналарды қоса алғанда.
18
Сурет. 6.1. Сымсыз желі сүзгісін арналар арқылы пайдалану
5. 4-тармақтағы ақпарат негізінде ең аз бос емес арналарды анықтаңыз.
6. Сымсыз желілерді желілік жабдықтың ең жоғары жылдамдығының (Max
Rate) өсу ретімен сұрыптаңыз және минималды мәнді анықтаңыз.
Сурет. 6.2. Желілік жабдықтың максималды жылдамдығы
7. Сурет бойынша анықтаңыз. 6.3, TP - Link_B692 желісінің WiFi
маршрутизаторы қандай арналарға орнатылған.
Сурет. 6.3. 2,4 ГГц WiFi диапазонын пайдалану
19
6.2. IP хаттамасы. Диагностикалық утилиталар
1. Бірінші міндет: желінің мекен-жайы-111.81.192.0, түйіннің мекен-жайы111.81.208.26. Маска байтының сол жағындағы үшінші мүмкін болатын ең
кіші мәні неде? Жауапты ондық сан түрінде жазыңыз.
2. Екінші міндет: егер сізде 138.214.0.0 желісі болса және қажетті ішкі
желілердің өлшемдері ішкі желідегі 126 түйінге тең болса, масканы
қолданған кезде қанша ішкі желіні алуға болатындығын анықтаңыз. Бұл
жағдайда маска қандай мәнге ие болуы керек?
3. Windows пәрмен жолына (cmd) өтіңіз.
4. Ipconfig утилитасын пайдаланып физикалық интерфейстің TCP/IP
конфигурациясын тексеріңіз (сурет. 6.4). Нәтижені кестеге енгізіңіз. 6.1.
Кесте 6.1
TCP/IP конфигурациясы
1
IP мекенжайы
2
Ішкі желі маскасы
3
Негізгі шлюз
4
DHCP (мекен-жайы) қолданылады ма
DHCP сервері)
5
Адаптердің сипаттамасы
6
Желілік
адаптердің
физикалық
мекенжайы
DNS серверінің мекен-жайы
7
Сурет. 6.4. Ipconfig /all командасының нәтижесі
20
5. Ping пәрменін пайдаланып төменде көрсетілген мекенжайларды
тексеріңіз және олардың әрқайсысы үшін жауап беру уақытын белгілеңіз:
127.0.0.1, 127.0.0.127, 185.125.56.223, 5.255.355.60.
6. Tracert пәрменін пайдаланып, төменде көрсетілген мекенжайларды
тексеріңіз, сигнал қандай аралық түйіндер арқылы өтеді:
185.125.56.223, 5.255.355.60.
7. Arp утилитасын пайдаланып, жергілікті компьютердің ARP кестесін
қараңыз.
8. Маршруттау кестесін шығару үшін route print -4 пәрменін пайдаланыңыз.
IPv4 үшін алынған мәліметтер негізінде мыналарды анықтаңыз:
- әдепкі маршрут;
– жергілікті цикл;
– жергілікті хостты бағыттау.
Анықтама:
- желілік мекенжай-әдепкі шлюз үшін пайдаланылатын IP мекенжайы, желі
мекенжайы немесе 0.0.0.0 мекенжайы;
- желі маскасы (Netmask) – желі маскасы. Әрбір IP-мекен-жайдың өзіндік
стандартты маскасы бар;
– шлюз мекен-жайы (Gateway) - шлюздің IP-мекен-жайы, ол арқылы пакет
соңғы нүктеге жету үшін жіберіледі;
– интерфейс (интерфейс) - пакет маршруттың соңғы нүктесіне жеткізілетін
желілік интерфейстің IP мекенжайы;
- метрика (метрика) – метрика мәні (1-9999). Метрика - егер маршруттың
соңғы нүктесіне бірнеше түрлі маршруттар бойынша қол жеткізуге болатын
болса, алушыға пакетті жеткізуді оңтайландыруға мүмкіндік беретін
сандық мән. Метрика мәні неғұрлым аз болса, маршруттың басымдығы
соғұрлым жоғары болады.
9. Стандартты шлюз мекенжайы және 100 метрикасы бар 255.255.255.255
маскасымен жаңа 8.8.8.8 маршрутын енгізіңіз. Команданың мысалы: route
add 8.8.8.8 mask 255.255.255.255 192.168.1.1 metric 100.
10. Маршруттау кестесін көрсетіңіз. Жаңа маршрут метрикасының өзгеруін
түсіндіріңіз.
11. Қосылған маршрутты route delete 8.8.8.8 пәрменімен жойыңыз.
12. Wireshark арқылы физикалық интерфейс пакеттерін ұстауды орнатыңыз.
13. IP сүзгісін орнатыңыз, буманы бөлектеңіз және тақырыпты таңдаңыз
(сурет. 6.5).
21
Сурет. 6.5. IP тақырыбы
14. IP пакетінің тақырып өрістеріндегі ақпаратты қарап шығыңыз және
талдаңыз және анықтаңыз:
- алушының мекен-жайы;
- тақырып ұзындығы;
- бума бөлшектелген бе, жоқ па;
- пакеттің өмір сүру уақыты;
- келесі деңгейдегі хаттама коды;
– тақырыптың бақылау сомасы.
Зертханалық жұмыс №7
Желілік деңгей хаттамаларын басқару
Жұмысты орындау үшін сізге Интернетке кіру мүмкіндігі бар компьютер
қажет.
1. Wireshark желілік анализаторын іске қосыңыз және физикалық
интерфейстен пакеттерді түсіруді орнатыңыз.
2. Bootp пакет сүзгісін орнатыңыз.
3. Windows пәрмен жолына өтіңіз.
4. Ipconfig /all пәрменін пайдаланып, IP мекенжайын жалға алу уақытын
және жалдау мерзімін анықтаңыз.
5. Жалға алынған мекенжайды босатыңыз. Ол үшін ipconfig/release Ethernet
(Ethernet – желі атауы) пәрменін енгізіңіз.
6. Жаңа IP мекенжайын алыңыз. Ол үшін ipconfig /renew Ethernet пәрменін
енгізіңіз (сурет. 7.1).
22
Сурет. 7.1. Жаңа IP мекенжайын алу нәтижесі
7. Wireshark ішінен DORA пакеттерін табыңыз.
8. Жіберуші мен алушының мекен-жайларын кестемен толтырыңыз. 7.1.
Кесте 7.1
DORA пакеттерін адрестеу
Атауы
Алушының мекен- Жіберушінің мекенжайы
жайы
Discover
Offer
Request
ACK
9. Offer бумасының мазмұнын шолыңыз. DHCP сервері қандай IP
мекенжайын және әдепкі маршрутизаторды ұсынғанын, мекенжайды жалға
алу уақытын анықтаңыз (сурет. 7.2).
Сурет. 7.2. Әдепкі маршрутизатор
10. Request бумасының мазмұнын қарап шығыңыз және компьютерден
қандай мекен-жай сұрайтынын анықтаңыз (Option 50).
11. DHCP сервері қандай қосымша опцияларды ұсынатынын қараңыз.
23
12. ACK пакетінің мазмұнын қараңыз.
13. IP және MAC мекенжайларының сәйкестік кестесін көрсетіңіз, ол үшін
пәрмен жолына arp - a пәрменін енгізіңіз.
14. Барлық динамикалық ARP кесте жазбаларын есепке енгізіңіз.
15. Бір динамикалық жазбаны жойыңыз. Жазбаны жою пәрменінің мысалы:
arp-d 172.20.4.12.
16. Arp пакет сүзгісін орнатыңыз.
17. ARP сұрауы мен ARP жауап бумаларын анықтаңыз.
18. ARP бумасының арна деңгейінің тақырыбын қараңыз.
19. ARP протоколының деректер өрістерін талдаңыз. Алынған ақпараттың
транскрипциясын беріңіз (сурет. 7.3).
Сурет. 7.3. ARP протоколының деректер өрістері
20. ICMP пакет сүзгісін орнатыңыз.
21. Ping8.8.8. 8 пәрменін пайдаланып 8.8.8.8 қолжетімділігін тексеріңіз
(сурет. 7.4).
Сурет. 7.4. Ping командасының нәтижесі
22. Wireshark-та Echo жауаптарының санын анықтаңыз. Олардың ping
пәрменінің нәтижесіне сәйкестігін тексеріңіз.
23. ICMP протоколының негізгі тақырып өрістерін шолыңыз (сурет. 7.5).
24
Сурет. 7.5. ICMP протоколының негізгі тақырып өрістері
24. Echo жауабында қандай деректер берілгенін анықтаңыз.
25. Ping-i 1 8.8.8.8 пәрменін енгізіңіз. Команда Сізге пакеттің өмір сүру
уақытын белгілеуге мүмкіндік береді-1.
26. Ping командасының нәтижесін түсіндіріңіз.
27. 25-тармақтағы команданың орындалуына сәйкес келетін ICMP
протоколының хабарлама кодын анықтаңыз.
28. Жұмысты орындау нәтижелері бойынша есеп дайындау қажет.
Зертханалық жұмыс 8.
TCP және UDP көлік деңгейінің хаттамалары
Қамтылған мәселелер:
1. bash интерпретаторының пәрмендері мен утилиталары үшін
кірістірілген құжаттаманы пайдалану
2. Консольдік мәтіндік редакторды іске қосыңыз және жұмыс жасаңыз
3. Bash интерпретаторы үшін сценарийлерді жасау және іске қосу
4. Процесс стандартты енгізу және стандартты шығыс, стандартты шығыс
қайта бағыттау
5. Командалық құбырларды салу
6. Процесс шығысын басқа процестің параметрі ретінде ауыстыру
7. Тұрақты өрнектердің көмегімен мәтін ағындарын сүзу
Кез келген пәрмен немесе қызметтік бағдарлама бойынша егжей-тегжейлі
анықтама ақпаратына қол жеткізу үшін консольде “man пәрмен атауын”
теру арқылы man утилитасын (ағылшын нұсқаулығынан) пайдалануға
болады; қысқаша анықтама үшін command_name енгізуге болады.
--Көмектесіңдер.
Мысалы, man man man командасы үшін анықтамалық нұсқаулықты
көрсетеді, man bash bash аудармашы үшін анықтамалық нұсқаулықты
көрсетеді.
Қабық сценарийі – бұл пәрмен жолына енгізуге болатын пәрмендер тізбегін
қамтитын қарапайым мәтіндік файл. Сценарийде жазылған командаларды
команда интерпретаторы – shell орындайды. Жалпы Linux және Unix
жүйелерінде екілік файл немесе сценарий орындалу үшін файлды іске
қосатын пайдаланушыға тиісті орындау құқықтары берілуі керек. chmod
u+x script_name қызметтік бағдарламасын пайдаланып файлды орындау
құқығын тағайындай аласыз. Сценарийдің бірінші жолында аудармашыға
баратын жолды көрсететін арнайы конструкция - шебанг жазу әдеттегідей:
#!/bin/bash. Сценарий мәтінін теру және өңдеу үшін nano немесе vi мәтіндік
редакторларын пайдалануға болады. Редакторды пәрмен жолында оның
атын теру арқылы іске қосуға болады. Өңделетін файлдың атын параметр
ретінде беруге болады.
25
Bash тілінің негізгі синтаксистік құрылымдарын қарастырайық.
Пікірлер. # таңбасынан басталатын таңбалар тізбегі (shebang (#!)
қоспағанда) түсініктеме болып табылады және сценарийді орындау кезінде
аудармашы еленбейді. Түсініктеме бүтін жол немесе # әрпінен басталатын
жолдың бөлігі болуы мүмкін.
Қашу
таңбалары
мен
ішкі
жолдар.Арнайы
таңбалардың
интерпретациялануын болдырмау үшін жалғыз және қос тырнақшаларды
қолдануға болады. Екі жақтағы ішкі жолды шектейтін жалғыз тырнақша ('
') барлық арнайы таңбаларды интерпретациялауға жол бермейді. Қос
тырнақша (" ") $, ` (кері тырнақша) және \ (escape - кері қиғаш сызық)
қоспағанда, арнайы таңбалардың интерпретациялануына жол бермейді.
Айнымалыларға сілтеме жасағанда қос тырнақшаларды қолдану
ұсынылады. Жалғыз арнайы таңбаны басып шығару қажет болса, қашуды
да қолдануға болады: кері қиғаш сызық таңбасы (\) одан кейінгі таңбаны
түсіндіруге жол бермейді.
Айнымалылар. Bash тіліндегі айнымалы атаулары идентификатордың
дәстүрлі идеясына ұқсас: айнымалы атау әріптен немесе астын сызудан
басталатын әріптер, сандар және астын сызу тізбегі болуы мүмкін.
Сценарий мәтінінде айнымалы атауын кездестірген кезде аудармашы оның
орнына осы айнымалының мәнін ауыстырады. Сондықтан айнымалыларға
сілтемелер айнымалы алмастыру деп аталады. Мысалы, айнымалы1 айнымалының аты, ал $айнымалы1 - оның мәніне сілтеме. $ префиксі жоқ
айнымалы атаулары тек айнымалыны жариялағанда немесе айнымалыға
мән тағайындау үшін пайдаланылуы мүмкін. Көптеген басқа бағдарламалау
тілдерінен айырмашылығы, bash айнымалылар үшін деректер түрлерін
қолдамайды. Іс жүзінде барлық bash айнымалылары жолдық айнымалылар
болып табылады, бірақ пайдаланылған конструкциялармен анықталған
контекстке байланысты bash айнымалылармен бүтін арифметиканы жүзеге
асыруға мүмкіндік береді.
Тағайындау операторы "=".Тағайындау операторын пайдаланған кезде
теңдік белгісінің сол немесе оң жағына бос орындар қоюға болмайды. Егер
айнымалыға арифметикалық амалдар нәтижесін тағайындау қажет болса,
оның алдына let операторын қосыңыз, мысалы:
a=2\*2 болсын
(көбейту операторы арнайы таңба екенін ескеріңіз, сондықтан қашып шығу
керек).
Арифметикалық операторлар:
"+" қосу
"-" алу
«*» көбейту
"/" бөлінуі (бүтін сан)
26
«**» экспоненциациясы
"% " - бүтін сан бөлінуінің қалдығы
Сақталған айнымалы атаулар. Bash арнайы мәндерді сақтайтын бірнеше
сақталған айнымалы атауларға ие.
− Сценарийді шақыру параметрлері. Пәрмен жолынан сценарийге
жіберілген аргументтер $0, $1, $2, $3... сақталған айнымалы мәндерде
сақталады, мұнда $0 — сценарий файлының аты, $1 — бірінші аргумент,
$2 — екінші, $3 — үшінші және т.б. Бірден көп таңбалы сандары бар
аргументтер бұрма жақшаға алынуы керек, мысалы: ${10}, ${11}, ${12}.
Параметрлерді сценарийге жіберу оны іске қосу кезінде бос орынмен
бөлінген сценарий атауынан кейін осы параметрлерді тізімдеу түрінде
болады.
− Басқа сақталған айнымалылар:
$DIRSTACK – каталог стекінің жоғарғы бөлігінің мазмұны $UID –
пайдаланушы идентификаторы.
$HOME – пайдаланушының үй каталогы $HOSTNAME – компьютердің
хост атауы $HOSTTYPE – машина архитектурасы.
$PWD – жұмыс каталогы
$OSTYPE – ОЖ түрі
$PATH – бағдарламаны іздеу жолы
$PPID – негізгі процесс идентификаторы
$SECONDS – сценарийдің орындалу уақыты (секундпен)
$# – сценарийге жіберілген параметрлердің жалпы саны
$* – сценарийге жіберілген барлық аргументтер (жол ретінде басып
шығарылады)
$@ – алдыңғысымен бірдей, бірақ параметрлер бағанда көрсетіледі
$! – Фонда орындалатын соңғы процестің PID
$$ – сценарийдің PID коды
Аяқтау коды. Си тілінде және көптеген басқа тілдердегі сияқты, exit
пәрменін сценарийді тоқтату үшін пайдалануға болады. Бұл пәрмен
шақыру процесі арқылы талдауға болатын сандық мәнді қайтара алады қайтару коды.Шығу пәрменіне exit nnn пішінінде бос орынмен бөлінген
қайтару коды берілуі мүмкін, мұндағы nnn 0–255 аралығындағы сан.
Қорытындылау операторы. Айнымалылар_немесе_тұрақтылар жаңғырығы
Енгізу операторы. Айнымалы_атын оқу. Бір оқу пәрменімен бірнеше
айнымалы мәндерді бірден оқуға (тағайындауға) болады. Сонымен қатар,
егер оқуда енгізілгеннен көп айнымалылар көрсетілсе (бос орындар арқылы
бөлінген), қалған айнымалыларға мәндер ретінде бос жол тағайындалады.
Оқу пәрменінде көрсетілген айнымалылардан көбірек жіберілген мәндер
болса, қосымша мәндер еленбейді. Шартты оператор.
If командасы; содан кейін команда; [else пәрмені]; fi.
Егер команда орындалу нәтижесінде «ақиқат» мәнін қайтарса, одан кейінгі
команда орындалады. Шартты оператор айнымалылар арасындағы
27
салыстыру операцияларын өзі орындай алмайды, сондықтан шарт ретінде
айнымалылардың және/немесе тұрақтылардың мәндерін салыстыру қажет
болса, арнайы конструкция [[ өрнек ]] қолданылғаннан кейін.
Шындығында, бұл параметрлер жіберілетін оператор, сондықтан жақша
мен өрнек арасына бос орындар қоюды ұмытпаңыз, мысалы:
егер [[ "$a" –eq "$b" ]] болса, онда "a = b" fi жаңғырық
Салыстыру операторлары:
Жолдар үшін
-z # жол бос па
-n # жол бос емес пе
=, (==) # жол теңдігі
!= # жол теңсіздігі
< # лексикографиялық жағынан аз > # лексикографиялық жағынан көп
Сандық мәндер үшін
-экв # тең
-не # тең емес
-# аз
-le # кем немесе тең
-gt # тағы
-ge # үлкен немесе тең
! # логикалық өрнекті терістеу
-a,(&&) # логикалық “ЖӘНЕ”
-o,(||) # логикалық "НЕМЕСЕ"
Көп таңдау. Case операторы бірнеше таңдау операторы ретінде
пайдаланылуы мүмкін.
мәндегі жағдай айнымалысы1 ) пәрмендер жиыны 1
;; мән2 ) нұсқаулар жинағы 2
;; esac
Таңдалатын мәндер мәннің соңында оң жақ жақшамен бөлектеледі. Опция
бөлгіш – ;;
for циклі. For циклін жазу үшін екі синтаксистік құрылымды пайдалануға
болады:
1. Стандартты – мән_тізіміндегі айнымалы үшін; істеу; командалар;
орындалды. Мысалы:
i үшін 0 1 2 3 кезінде $i жаңғырығын жасаңыз
орындалды
2. С тәрізді
((i=0; c <=3; i++)) үшін echo $i орындалды
while циклі. Шартты тексеруі бар цикл синтаксисі: while шарты; істеу;
команда; орындалды. Шартты жазуға қойылатын талаптар шартты
28
сөйлемдегідей.
Циклды басқару. Басқа бағдарламалау тілдеріне ұқсас, үзіліс пен қолдануға
болады
жалғастыру. Үзіліс пәрмені циклдің орындалуын үзеді және жалғастыру
цикл денесіндегі барлық келесі командаларды айналып өтіп, басқаруды
цикл басына қайтарады.
Командалық (процесс) енгізу/шығару басқаруы
Кез келген процесс үшін әдепкі бойынша үш файл дескрипторы әрқашан
ашық болады: 0, 1 және 2 - stdin (стандартты енгізу, пернетақта), stdout
(стандартты шығыс, экран) және stderr (стандартты қате шығысы, экран).
Осы және процесс арқылы ашылған кез келген басқа файлдарды қайта
бағыттауға болады.
Қайта бағыттау бір командадан (бағдарламадан, сценарийден) нәтиже алу
және оны басқа командаға (бағдарлама, сценарий) кіріс ретінде беру
мүмкіндігін білдіреді. пәрмен > файл - бар файлдың мазмұнын ауыстыра
отырып, стандартты шығыс файлына қайта бағыттайды.пәрмен >> файл –
стандартты шығыс файлына қайта бағыттау, онда шығыс ағыны файлдың
соңына қосылады.
команда1 | команда2 - сол жақ команданың стандартты шығысын оң жақ
команданың стандартты кірісіне қайта бағыттайды. Бұл дизайн командалық
конвейер деп аталады. command1 $(command2) – 2 пәрменінің шығысын 1
пәрменді іске қосу параметрлері ретінде ауыстыру. $(command2)
конструкциясын, мысалы, 2 пәрменінің нәтижелерін for ... параметріне
ауыстыру үшін пайдалануға болады. цикл.
Жолдармен жұмыс (bash құрастырулары)
${#string} – жолдың ұзындығын көрсетеді (жол – айнымалы атауы);
${string:position:length} – $позициядан бастап $string ішінен $length
таңбаларын шығарады. Ерекше жағдай: ${string:position} $позициядан
басталатын $string ішінен ішкі жолды шығарады.
${string#substring} – $string ішіндегі ең қысқа табылған ішкі жолды жояды.
Іздеу саптың басынан жүргізіледі. $substring – тұрақты өрнек болуы мүмкін
(төменде қараңыз).
${string##substring} – $string ішіндегі ең ұзын табылған ішкі жолды жояды.
Іздеу саптың басынан жүргізіледі. $substring – тұрақты өрнек болуы
мүмкін.
${string/substring/replacement} – $substring жолының бірінші орынын
$replacement жолымен ауыстырады. $substring – тұрақты өрнек болуы
мүмкін.
${string//substring/replacement}
–
$substring
жолының
барлық
қайталануларын $replacement жолымен ауыстырады. $substring – тұрақты
өрнек болуы мүмкін.
Жолдармен жұмыс (сыртқы командалар – утилиталар)
29
Әрбір утилитада пәрменге берілген параметрлерді, соның ішінде кілттерді
пайдалана отырып, өз басқаруы бар. Man пәрмені арқылы осы
пәрмендердің құжаттамасын қарап шығуды ұсынамыз. сұрыптау –
көрсетілген опцияларға байланысты файл жолдарын кему немесе өсу
ретімен сұрыптайды. uniq – қайталануларды санау мүмкіндігін қоса,
сұрыпталған файлдан қайталанатын жолдарды жояды.
кесу – мәтіндік файлдардан жеке өрістерді шығарады (өріс – бөлгіштің
алдындағы жолдағы таңбалар тізбегі). head – файлдан бастапқы жолдарды
басып шығарады. tail – файлдан соңғы жолдарды басып шығарады.
wc – файлдағы немесе ағындағы сөздердің/жолдардың/таңбалардың санын
санайды tr – кейбір таңбаларды басқалармен ауыстырады. Толық
функциялы көп мақсатты утилиталар:
grep - тұрақты өрнектерді пайдаланатын көп мақсатты іздеу утилитасы. sed
– интерактивті емес «ағындық редактор». Енгізу ағынынан мәтінді алады,
жолдарда кейбір әрекеттерді орындайды, содан кейін нәтижені шығыс
ағынына шығарады. Sed берілген жолдың адрестік кеңістігінде қандай
жолдар орындалатынын анықтайды. Жолдардың мекенжай кеңістігі
олардың реттік нөмірлері арқылы немесе үлгіні пайдалану арқылы
көрсетіледі. Мысалы, 3d пәрмені sed үшінші жолды және пәрменді алып
тастайды
/text/d "мәтін" бар барлық жолдарды алып тастау керек дегенді білдіреді.
Ең жиі қолданылатын пәрмендер – p – шығару (stdout-қа), d – жою және s –
ауыстыру. awk — көп функциялы контекстік іздеу және мәтінді түрлендіру
утилитасы.Құрылымдық мәтіндік файлдардағы өрістерді шығару
және/немесе өңдеу құралы ретінде пайдалануға болады. Awk әр жолды
бөлек өрістерге бөледі. Әдепкі бойынша, өрістер бос орындармен немесе
қойындылармен бөлінген таңбалар тізбегі болып табылады, бірақ сіз басқа
таңбаларды өріс бөлгіштері ретінде тағайындай аласыз. Awk жолдан
алынған өрістермен құрылған айнымалылармен жұмыс істеу алгоритмін
анықтау үшін өзінің кірістірілген бағдарламалау тілін пайдаланады.
Тұрақты өрнектер - белгілі бір ұқсас жолдар жинағына сәйкес келетін
таңбалар және/немесе метатаңбалар жиыны.
Тұрақты өрнектер үлгі бойынша мәтін үзінділерін іздеуге және жолдармен
жұмыс істеуге арналған. Тұрақты өрнектерді құрастыру кезінде келесі
конструкциялар қолданылады (басымдықтың кему реті бойынша), олардың
кейбіреулері тек сәйкес командалардың кеңейтілген нұсқаларында
(мысалы, -E қосқышымен grep іске қосылғанда) қолданылады.
c Кез келген арнайы емес c таңбасы өзіне сәйкес келеді
\c c таңбасының кез келген ерекше мағынасын жою көрсеткіші (қашу)
^ Жолдың басы
$жолдың соңы; "^$" өрнегі бос жолға сәйкес келеді.
. Жаңа жол таңбасынан басқа кез келген жалғыз таңба [...] ... кез келген
30
таңба; a-z типті диапазондар қолайлы; диапазондарды біріктіруге болады,
мысалы [a-z0-9] [^...] ... емес кез келген таңба; жарамды диапазондар r* r
таңбасының нөлдік немесе одан көп қайталануы (ауқымдар үшін де
пайдалануға болады)
r+ r символының бір немесе бірнеше қайталануы (диапазондар үшін де
қолдануға болады) r? r таңбасының нөл немесе бір рет қайталануы
(ауқымдар үшін де пайдалануға болады)
\<...\>Сөз шекаралары
\{ \} Алдыңғы өрнектің қайталану саны. Мысалы, "[0-9]\{5\}" өрнегі бес
ондық r1r2 r1 және одан кейін r2 r1|r2 r1 немесе r2 болатын ішкі жолға
сәйкес келеді.
(r) тұрақты өрнек r; ұя салуға болады.
POSIX таңба кластары
[:class:] құрылымы таңбалар ауқымын көрсетудің балама жолы ретінде
пайдаланылуы мүмкін.
[:alnum:] латын таңбалары мен сандарына сәйкес келеді.
[A-Za-z0-9] өрнегіне тең.
[:alpha:] латын әліпбиінің таңбаларына сәйкес келеді. [A-Za-z] эквиваленті.
[:бос:] бос орын таңбасына немесе қойынды таңбасына сәйкес келеді.
[:digit:] ондық сандар жиынына сәйкес келеді. [0-9] өрнекке тең.
[:төменгі:] кіші латын таңбалар жиынына сәйкес келеді. [a-z] өрнегіне тең.
[:бос орын:] бос орын таңбаларына сәйкес келеді (бос орын және көлденең
қойынды).
[:upper:] бас әріптер латын әліпбиінің таңбалар жиынына сәйкес келеді. [AZ] өрнегіне тең.
[:xdigit:] он алтылық сандар жиынына сәйкес келеді. [0-9A-Fa-f] өрнегіне
тең.
Зертханалық тапсырма
1. /home/user/ каталогында зертханалық жұмыс үшін каталог жасау.
Барлық сценарийлер осы каталогтың немесе оның ішкі
дирекциясының ішінде жасалуы тиіс. (mkdir lab1)
2. Келесі тапсырмаларды шешетін сценарийлер жазыңыз:
i) Параметрлерде сценарийді іске қосу кезінде үш бүтін сан өтеді.
Олардың ең көп санын шығару.
ii) Пернетақтадан «+» жолын енгізгенге дейінгі жолдарды оқыңыз.
Осыдан кейін оқу жолдарының бірізділігін бір жол ретінде
шығарады.
iii) Төрт элементті мәтін мәзірін жасау. Пайдаланушы мәзір
элементінің нөмірін енгізген кезде нано редакторы, vi редакторы,
сілтемелер браузері іске қосылады немесе мәзір шығады. Iv) Егер
сценарий үй каталогынан іске қосылған болса, үй каталогына
31
апаратын жолды көрсетіңіз және 0 кодымен шығу. Әйтпесе, қате
туралы хабарды және 1-шығу кодын көрсетіңіз.
v) Файлдан барлық жолдарды орналастыру үшін info.log файлын
жасау
/var/log/anaconda/syslog, екінші жол INFO болып табылады.
vi.log) Ескертулер мен ақпараттық хабарламаларды қамтитын
файлдың /var/log/anaconda/X.log жолдарын басып шығару,
ескертулер мен ақпараттық хабарламалардың маркерлерін Ескерту:
және Ақпарат: Алынған файлда барлық ескертулер алдымен, содан
кейін барлық ақпараттық хабарламалар жіберілетіндей. Бұл файлды
экранда көрсетіңіз. vii) үтірлермен бөлінген /etc каталогындағы
барлық файлдарда табылған барлық электрондық пошта
мекенжайларын басып шығаратын emails.lst файлын жасау.
viii) UID бойынша сұрыпталған жүйе пайдаланушыларының
тізімін олардың УИД-терімен көрсету. Пайдаланушы ақпараты
/etc/passwd файлында сақталады. Бұл файлдың әр жолында
бірінші жол пайдаланушының аты, ал үшінші өрісі - UID. Өріс
бөлгіші - қос нүкте.ix) Журнал кеңейтімі бар /var/log/
каталогындағы файлдардағы жолдардың жалпы санын санаңыз.
х) Адамнан ең көп тараған үш сөзді bash ұзындығы кемінде төрт
таңбамен басып шығару .
3. Сценарийлерді оқытушыға ұсыныңыз және зертханалық жұмысты
қорғауға сұрақ немесе тапсырма алыңыз.
Зертханалық жұмыс 9.
Хаттамаларды инкапсуляциялау
Қамтылған мәселелер
1. Орындалатын процестер туралы ақпарат алу
2. Процестер пайдаланатын ресурстар туралы ақпарат алу
3. Ақпаратты талдау және өңдеу үшін қолайлы формада ұсыну Процесті
сәйкестендіру
Жүйе процестерді PID (процесс идентификаторы) деп аталатын процесс
идентификаторы деп аталатын бірегей нөмір арқылы анықтайды.
GNU/Linux жүйесінде жұмыс істейтін барлық процестер ағашта
ұйымдастырылған. Бұл ағаштың түбірі бастапқы процесс немесе жүйелік
процесс - жүктеу кезінде іске қосылатын жүйе деңгейіндегі процестер.
Әрбір процесс үшін оның негізгі процесінің идентификаторы (PPID, Parent
Process ID) сақталады. Түбірлік процесс үшін негізгі процесс
идентификаторы 0 мәніне орнатылады.
Орындалатын процестер туралы жалпы ақпарат алу
ps пәрмені (процесс күйінің қысқашасы)
Аргументсіз ps іске қосу пәрменді шақыратын пайдаланушы бастаған және
32
ағымдағы терминалмен байланыстырылған процестерді ғана көрсетеді.
Жиі қолданылатын параметрлер (қосқыштардан айырмашылығы, олар «-»
белгісінсіз көрсетіледі):
a – барлық пайдаланушылар орындайтын процестерді көрсетеді;
x – басқару терминалымен байланысты емес немесе басқа басқару
терминалдарымен байланысты емес процестерді шығару;
u – әрбір процесс үшін оны іске қосқан пайдаланушының атын және
басталу уақытын шығару.
Процесс күйінің белгілері (STAT бағанында)
R – процесс қазір орындалуда немесе дайын күйде;
S – процесс оқиғаны күтеді (үзіліссіз күту);
D – процесс енгізу/шығару күтуде (үзілмейтін күту);
I – бос ядро ағыны;
Z – зомби процесі;
T – процесс тоқтатылады.
pstree командасы
pstree пәрмені процестерді ағаш ретінде көрсетеді, олар жасалған кезде
олардың мұралануын анық көрсетеді. Жиі қолданылатын параметрлер:
-p – барлық процестердің PID көрсетуі;
-с – барлық филиалдарды кеңейту;
-u – процестерді орындайтын пайдаланушылардың атын көрсетеді.
Top командасы
top - нақты уақыттағы процестерді бақылау үшін қолданылатын утилита.
Ол интерактивті және пернетақтадан басқарылады. Көмек алу үшін h
түймесін басыңыз. Процестерді бақылау үшін жиі қолданылатын
командалар:
M – процестерді алатын жады көлемі бойынша сұрыптау үшін
қолданылады (%MEM өрісі);
P – процесстерді алатын процессор уақыты бойынша сұрыптау үшін
қолданылады (%CPU өрісі). Бұл әдепкі сұрыптау әдісі;
U – Бұл пәрмен берілген пайдаланушының процестерін тізімдеу үшін
пайдаланылады. Пайдаланушының UID емес, пайдаланушы атын енгізу
керек. Ешбір атауды енгізбесеңіз, барлық процестер көрсетіледі;
i – әдепкі бойынша жоғарғы барлық процестерді, тіпті ұйқыдағыларды да
көрсетеді. i пәрмені тек ағымдағы орындалып жатқан процестер туралы
ақпаратты көрсетеді (STAT өрісі R, Running күйіне орнатылған процестер).
Бұл пәрменді қайталап пайдалану барлық процестердің тізіміне қайтарады.
Орындалатын процестер туралы толық ақпарат алу
/proc – операциялық жүйе ядросындағы деректер құрылымдарына
интерфейсті жүзеге асыратын псевдофайлдық жүйе. Ол көрсететін
файлдардың көпшілігі тек оқуға арналған, бірақ кейбір файлдар
33
ядроның айнымалы мәндерін өзгертуге мүмкіндік беретін жазуға
болады.
/proc ішіндегі әрбір іске қосылған процесте процесс
идентификаторына (оның PID) сәйкес атауы бар ішкі каталогы
болады. Осы ішкі каталогтардың әрқайсысында келесі интерфейс
файлдары бар, соның ішінде ішкі каталогтардағы файлдар (ең жиі
қолданылатын файлдар көрсетілген). Бұл файлдардың кейбірі тек
ағымдағы пайдаланушы ретінде жұмыс істейтін процестер
каталогтарында немесе түбірлік суперпайдаланушы ретінде
қатынасқанда ғана қолжетімді. cmdline – процесті бастауға
арналған толық пәрмен жолы. cwd – процестің ағымдағы жұмыс
каталогына сілтеме. қоршаған орта – процесс ортасы. Файлдағы
жазбалар нөлдік таңбалармен бөлінген, сонымен қатар файлдың
соңында нөлдік таңба болуы мүмкін. exe - процестің орындалатын
файлының нақты толық атауын қамтитын символдық сілтеме.
fd – процесс арқылы қазір ашылған әрбір файл үшін бір символдық
сілтемені қамтитын файл дескрипторының ішкі каталогы. Әрбір
сілтеменің аты файл дескрипторының нөміріне сәйкес келеді.
Сонымен, 0 - стандартты кіріс, 1 - стандартты шығыс, 2 стандартты қате шығысы және т.б.
io – процесс арқылы жадқа оқылған және жазылған деректер
көлемі туралы ақпаратты қамтитын файл.
карталар – қазіргі уақытта бағдарлама пайдаланып жатқан жад
аймақтарының мекенжайлары және оларға қатынасу құқықтары
бар файл.sched – CFS жоспарлаушысы процесске процессор
уақытын бөлуді шешу үшін пайдаланылатын әрбір процесс үшін
айнымалы мәндерді қамтитын файл. Мысалы, sum_exec_runtime процестің жалпы орындалу уақытының бағасын қамтитын
айнымалы, ал nr_switches - мәтінмән ауыстырғыштарының санын
сақтайтын айнымалы. stat – өрістер жиыны түріндегі процесс
туралы машина оқылатын ақпарат; күй – статистикалық
ақпараттың көп бөлігін оқуға болатын форматта береді.
statm - беттерді бірлік ретінде пайдалану арқылы жад күйі туралы
ақпаратты береді. Файлдағы өрістер тізімі:
өлшемі бағдарламаның жалпы өлшемі резидент бөлігінің
резиденттік өлшемі ортақ беттердің ортақ саны мәтіндік мәтін
(код)
lib кітапханалары (ядро 2.6 бастап пайдаланылмайды) деректер
деректері + стекке dt кір беттер (ядро 2.6 бастап пайдаланылмайды)
Мәліметтерді өңдеу процесі
Технологиялық деректерді өңдеу, әдетте, мәтіндік ағындарды өңдеуге
арналған командалар контурын пайдалану және (немесе) файлдық
жолдарды циклдік өңдеу арқылы жүзеге асырылады. Бірінші зертханада
34
үйренген командаларды – grep, sed, awk, tr, sort, uniq, wc, paste, сонымен
қатар жолдармен жұмыс істеу функцияларын пайдалану ұсынылады.
Зертханалық тапсырма
1. /home/user/ каталогында зертханалық жұмыстарды орындау үшін
каталог жасаңыз.Осы каталог немесе оның ішкі каталогтары ішінде
нәтижелерді шығару үшін барлық сценарийлер мен файлдарды
жасаңыз. (mkdirlab2)
2. Келесі есептерді шешетін сценарийлерді жазыңыз:
i) Пайдаланушы пайдаланушы бастаған процестердің санын санап,
нәтижесінде алынған нөмірді файлға шығарыңыз, содан кейін
осындай процестер үшін PID: пәрмен жұптары.
ii) /sbin/ каталогында орналасқан командалар арқылы іске қосылған
барлық процестердің PID тізімін файлға шығару
iii) Ең соңғы басталған процестің (соңғы басталу уақыты) PID
көрсету.
iv) Қазіргі уақытта жүйеде тіркелген барлық процестер үшін
процессорды үздіксіз пайдаланудың орташа уақытын анықтаңыз
(CPU_burst) және бір жолдық файлға шығару
ProcessID=PID : Parent_ProcessID=PPID :
Орташа_орындау_уақыты=ART.
PPid мәндері /proc ішіндегі процестердің PID-леріне сәйкес атаулары
бар каталогтарда орналасқан күй файлдарынан алынады. ART
мәндері сол каталогтардағы жоспарланған файлдардан алынған
sum_exec_runtime мәнін nr_switches-ке бөлу арқылы алынады.
Бұл жолдарды негізгі процесс идентификаторлары бойынша
сұрыптаңыз.
v) Алдыңғы қадамда алынған файлда бірдей негізгі процесс
идентификаторы бар жазбалардың әрбір тобынан кейін келесідей
жолды енгізіңіз
Parent_of_Running_Children_орташа ID=N - М,
мұндағы N = PPID және M - осы ата-ананың барлық процестері үшін
ART бойынша есептелген орташа мән.
vi) /proc псевдофайлдық жүйесін пайдаланып, ең көп ЖЖҚ бөлінген
процесті табыңыз. Нәтижені жоғарғы команданың шығысымен
салыстырыңыз. vii) Сценарий іске қосылғаннан бері өткен 1 минут
ішінде сақтау құрылғысынан байттардың максималды санын оқитын
үш процесті анықтайтын сценарийді жазыңыз. Сценарий қос
нүктемен бөлінген PID, триггер жолдарын және оқылған деректер
көлемін шығаруы керек.
3. Сценарийлерді оқытушыға ұсыныңыз және зертханалық жұмысты
қорғауға сұрақ немесе тапсырма алыңыз.
35
Зертханалық жұмыс 10.
Қолданбалы деңгей DNS және HTTP
Қамтылған мәселелер
1.
Топты біріктіру директивалары
2.
Жоспарлау процесін іске қосу уақыты
3.
Процестің басымдылық басқаруы
4.
Процессаралық байланысты ұйымдастыру
Командаларды біріктіруге арналған директивалар (командалар).
bash қабығы келесі пәрмен тізбегі директивасын қолдайды:
команда1 | команда2 - конвейер: стандартты шығысты қайта бағыттау,
команда1; пәрмен2 – командаларды дәйекті орындау, команда1 &&
команда2 – 1 пәрменді сәтті орындағаннан кейін 2 команданы орындау,
команда1 || команда2 – 1 пәрмен орындалмаса, 2 пәрменін орындау,
command1 $(command2) – 2 пәрменінің шығысын 1 пәрменін орындау
үшін аргументтер (параметрлер) ретінде ауыстыру,
пәрмен 1 > файл – стандартты шығысты файлға бағыттайды (бар файлдың
мазмұны ауыстырылады), 1 командасы >> файл – стандартты шығысты
файлға бағыттайды (ағын файлдың соңына қосылады).
{ команда1 команда2
} – || директиваларының алдында немесе кейін командаларды біріктіру ,
&& немесе циклдар мен функциялардың денесінде. пәрмен1 & – пәрменді
фондық режимде іске қосыңыз (стандартты кіріс процесс іске қосылған
консольден жойылады; процесті басқару әдетте сигналдар арқылы ғана
мүмкін болады). Процесті басқару утилиталары
(утилиталардың функционалдығы мен синтаксисінің толық сипаттамасын
man utility_name пәрмені арқылы қол жетімді құжаттамадан табуға
болады)
kill – процеске сигнал жібереді. Жіберілген сигналды қызметтік
параметрде оның нөмірі немесе символдық белгілеу түрінде көрсетуге
болады. Әдепкі бойынша (сигнал көрсетпей) қызметтік бағдарлама
процесті тоқтату үшін сұрау сигналын жібереді (TERM). Өлту утилитасы
сигнал жіберетін процесс оның PID арқылы анықталады. GNU/Linux
жүйесінде қол жетімді жүйелік сигналдардың тізімі олардың сандары мен
символдық белгіленулерін көрсете отырып, kill –l утилитасының
параметрі арқылы алуға болады;
killall – kill утилитасына ұқсас, сигнал жібереді, бірақ процесті анықтау
үшін PID емес, оның символдық атауын пайдаланады; pidof – символдық
аты бойынша процестің PID мәнін анықтайды;
pgrep – көрсетілген сипаттамалары бар процестердің PID анықтайды,
мысалы, белгілі бір пайдаланушы іске қосқан;
pkill – берілген сипаттамалары бар процестер тобына сигнал жібереді; nice
– берілген басымдық мәні бар процесті бастайды. Негізгі басымдыққа
36
қатысты мәнді азайту (орындау басымдылығын арттыру) тек түбірлік
пайдаланушының бастамасы болуы мүмкін; renice – орындалатын процесс
үшін басымдық мәндерін өзгертеді. Мәнді азайту (орындау басымдылығын
арттыру) тек түбірлік пайдаланушының бастамасы болуы мүмкін; at –
пәрменді көрсетілген уақытта бір рет орындайды. cron - белгілі бір күндер
мен уақытта командаларды орындайтын демон. Мерзімді түрде
орындалатын командалар crontab пәрмені арқылы көрсетіледі. Пәрмендерді
бір рет іске қосу үшін at пайдаланыңыз. Crontab ішіндегі жолдың синтаксисі
мына
жерде
егжей-тегжейлі
сипатталған:
http://www.opennet.ru/man.shtml?topic=crontab&category=5&russian=2.
tail – файлдың соңғы n жолын басып шығарып қана қоймайды, сонымен
қатар оны файлды «бақылау» үшін де пайдалануға болады. Бұл режимде
утилита файлға жаңа жолдардың қосылуын бақылайды және файлдың
соңында пайда болатын жолдарды көрсетеді.
sleep – сценарийді орындау кезінде командалар арасында үзіліс орнатады.
Екі процестің өзара әрекеттесуін ұйымдастыру
Процестердің өзара әрекетін ұйымдастырудың бірнеше түрлі тәсілдері бар.
Байланыстың мақсаты деректерді немесе басқаруды бір процестен
екіншісіне беру болғандықтан, процестік байланысты ұйымдастырудың екі
жалпы нұсқасын қарастырыңыз: деректерді аталған құбыр арқылы өткізу
және сигнал арқылы басқаруды өткізу. Белгіленген құбыр арқылы
байланысты өңдеу
Атаулы құбыр Linux жүйесіндегі арнайы файл түрі болып табылады. mkfifo
файл_атауы пәрменімен жасалған. Атаулы құбырмен өзара әрекеттесу
файлдармен әрекеттесу үшін әдеттегі құралдарды пайдалану арқылы
жүзеге асырылады, бірақ мұндай файл тасымалдағышта сақталмайды, бірақ
процессаралық деректер алмасуды ұйымдастыру үшін жадта буфер болады.
Ақпаратты аталған құбыр арқылы тасымалдауды көрсету үшін екі
сценарийді қарастырыңыз - «Генератор» және «Өңдеуші». Сіз «Генератор»
процесін пайдаланып бір консольден ақпаратты оқығыңыз келеді делік,
содан кейін оны «Өңдеуші» процесін пайдаланып басқа консольдің
экранында көрсеткіңіз келеді және генератордың «QUIT» жолын оқуы
өңдеушіге себеп болатындай етіп көрсетіңіз. тоқтату. Әрбір процесс жеке
виртуалды консольдегі бөлек сценарий арқылы дербес іске қосылады.
Консольдер арасында ауысу арқылы сіз процестерді басқара аласыз және
олардың жұмыс нәтижелерін бақылай аласыз.
Сценарийлерді іске қоспас бұрын, mkfifo құбыр командасын қолданып,
атаулы құбырды жасайық
Генератор
Өңдеуші
37
#!/bin/bash
read LINE
pipe done
while true; do
echo $LINE >
#!/bin/bash
(tail -f pipe) |
while true;
do read LINE;
case $LINE in QUIT)
echo "exit" killall tail exit ;; *)
echo $LINE ;;
esac done
«Генератор» сценарийі консольдегі жолдарды шексіз циклде оқиды және
оларды аталған құбыр құбырына жазады.
«Handler» сценарийін толығырақ қарастырайық.
Әдетте tail пәрмені файлдан соңғы n жолды оқу үшін пайдаланылады.
Бірақ оны жиі қолданудың бірі файлды «бақылауды» ұйымдастыру болып
табылады. tail -f құрылымын пайдаланған кезде файлға қосылған жаңа
жолдар ғана оқылады. tail командасының шығысын «Handler» сценарийінің
кірісіне беру үшін конструкция (команда)| Жақша операторы "Өңдеуші"
негізгі процесінің ішінде ішкі процесті (еншілес процесс) іске қосуға
мүмкіндік береді және соңында конвейер операторы сол ішкі процестің
шығысын негізгі процестің кірісіне бағыттауға мүмкіндік береді.
Осылайша, осы сценарийдегі оқу пәрмені tail пәрменінен шығатын
жолдарды оқиды. Сценарийдің қалған бөлігі алдыңғы зертханаларда
үйренген конструкцияларды пайдаланады және қосымша түсініктемелерді
қажет етпейді. Жалғыз ерекшелік - killall tail командасы. Оның көмегімен
ішкі процесс ретінде жасалған соңғы процесс негізгі процесс аяқталмай
тұрып аяқталады. Бұл жағдайда killall пайдалану кодты жеңілдету үшін
пайдаланылады, бірақ бұл дұрыс емес, өйткені сигнал жүйедегі осы
атаумен барлық процестерге жіберіледі. Сценарийде шақырылған нақты
процесстің PID анықтау және оны өлтіру пәрмені арқылы тоқтату
дұрысырақ.
Сигналдарды пайдалану процесінің өзара әрекеттесуі
Сигналдар басқаруды бір процесстен екіншісіне берудің негізгі формасы
болып табылады. Linux 64 түрлі сигналды пайдаланады. Кез келген
процесс, құрылған кезде, негізгі процестен сигнал өңдеушілеріне
көрсеткіштер кестесін мұраға алады және осылайша, 64 сигналдың кез
келгенін қабылдауға дайын болады. Әдепкі өңдегіштер әдетте процесті
тоқтатуға немесе әдетте сигналды еленбеуге әкеледі, бірақ екі сигналды
қоспағанда (KILL және STOP) өңдегіштерді басқалармен ауыстыруға
болады. Сигналдардың көпшілігінің алдын ала анықталған мақсаты және
олар жіберілетін жағдайлары болады, сондықтан олардың өңдеушілерін
өзгерту мүмкін, бірақ тек сәйкес өңдегіштің функционалдығын кеңейту
бөлігі ретінде ұсынылады. Мұндай сигналдар жүйелік сигналдар болып
саналады. Бірақ өңдегіштерді қолданба әзірлеушісі жасайды және
38
реттелмеген, анықталмаған сигналдарды беру және өңдеу үшін
пайдаланылатын екі сигнал (USR1 және USR2) бар (әдепкі бойынша,
оларды өңдеу процесті тоқтатуды қамтиды). sh (bash) тіліндегі сигнал
өңдегіштерін ауыстыру үшін пішім тұзағы әрекетінің сигналы бар
кірістірілген trap пәрменін пайдаланыңыз
Команданы шақыру кезінде екі параметр көрсетіледі: сигнал қабылданған
кезде іске қосылуы керек өңдеуші және көрсетілген өңдеуші орындалатын
сигналдың нақты символдық атауы. Әдетте өңдеуші сценарий кодында
жоғарыда сипатталған функция шақыруы болып табылады.
Trap пәрменін пайдалана отырып, өңдегішті пайдаланушы сигналы үшін
ғана емес, сонымен қатар барлық дерлік жүйелік сигналдар үшін өңдегішті
ауыстыруға болады (өңдеушіден бас тартуға тыйым салынғандардан
басқа). Бұл жағдайда процесс жүйелік сигнал алған кезде сигналды өңдеу
трапта көрсетілген өңдеушіге өтеді.
Басқаруды сигнал арқылы бір процесстен екіншісіне беруді көрсету үшін
сценарийлердің басқа жұбын қарастырыңыз.
Бұл мысалда Генератор сценарийі консольден жолдарды шексіз ілмекпен
және тоқтап тұрумен (:) STOP жолынан басқа кез келген енгізу жолына
арналған оператормен оқиды. Бұл жолды алғаннан кейін сценарий
пайдаланушының USR1 сигналын Өңдеуші процесіне жібереді. Генератор
процесі Өңдеуші процесінің PID-ін көрсетуі тиіс болғандықтан , бұл
идентификатор нөмірі жасырын файлдың көмегімен беріледі. Өңдеуші
сценарийінде процестің PID анықтамасы $сақталған жүйе айнымалысын
пайдалана отырып жасалады.
Өңдеуші процесі USR1 сигналын алғанға дейін натурал сандардың
жолдарын көрсетеді. Сигналды алған кезде USR1 () сигнал өңдеушісі іске
қосылады, ол MODE айнымалысының мәнін өзгертеді. Нәтижесінде,
ілмектің келесі қадамында сигналдың тоқтатылғаны және сценарийдің
тоқтатылғаны туралы хабарлама көрсетіледі.
Зертханалық тапсырма
Тізімдегі тапсырмалар үшін сценарийлер жасаңыз немесе пәрмендер ретін
жазып алыңыз және оларды мұғалімге ұсыныңыз
1.Шартты мәлімдемені немесе сипат пен мәнді тексеру мәлімдемелерін
қамтымайтын сценарийді бір рет жасаңыз және орындаңыз, бірақ келесі
әрекеттерді орындаңыз: үйде сынақ каталогын жасау әрекеті
каталог.Каталогты жасау сәтті болса, сценарий ~/report файлына
"каталог сынағы сәтті жасалды" сияқты хабарды шығарады және
Script_Start_Date_Time деп аталатын сынақ каталогында файлды
жасайды. Содан кейін, алдыңғы қадамның нәтижелеріне қарамастан,
сценарий ping пәрменін пайдаланып www.net_nikogo.ru хостына
сауалнама жүргізеді және егер бұл хост қолжетімсіз болса, ~/report
39
файлына қате туралы хабарды қосады. Қате туралы хабар ағымдағы
Күн_Уақытынан басталып, бос орынмен бөлінген қате туралы
хабардың кез келген мәтінін қамтуы керек.
2. 2 минуттан кейін 1-қадамнан бастап сценарийдің тағы бір реттік іске
қосылуын орнатыңыз. Осыдан кейін консоль бос болуы керек. ~/report
файлын бақылау үшін бөлек пәрменді іске қосыңыз және олар пайда
болған кезде осы файлдан консольге жаңа жолдарды басып шығарыңыз.
3. Сценарийді 1-қадамнан бастап жұмыс орындалатын аптаның күнінде әр
сағат сайын бесінші минут сайын орындалатын етіп орнатыңыз.
4. Бірдей шексіз есептеу циклін орындайтын үш фондық процесті жасаңыз
(мысалы, екі санды көбейту). Процестерді іске қосқаннан кейін сіз әлі де
оларды іске қосқан виртуалды консольді пайдалана алуыңыз керек.
Жоғарғы пәрменді пайдаланып, осы процестер пайдаланатын CPU
ресурстарының пайызын талдаңыз. Алдымен іске қосылған процесс
процессор ресурсының 10%-дан аспайтынын автоматты түрде қамтамасыз
ететін сценарий жасаңыз. Сигнал жібергеннен кейін үшіншіден іске
қосылған процесті тоқтатыңыз. Жасалған сценарий әлі де бірінші процестің
CPU тұтынуын көрсетілген ауқымда сақтайтынын тексеріңіз.
5. Бірнеше сценарийді жасаңыз: генератор және өңдеуші. Генератор процесі
ақпаратты өңдегіш процесіне аталған құбыр арқылы жіберуі керек.
«Handler» процесі аталған құбырдан оқылатын жолдарды келесі өңдеуді
орындауы керек: егер жол бір «+» символынан тұрса, онда өңдеуші процесс
режимді «қосуға» ауыстырады және сандық мәліметтерді енгізуді күтеді.
Егер жол бір «*» таңбасынан тұрса, өңдеуші режимді «көбейту» күйіне
ауыстырып, сандық мәліметтерді енгізуді күтеді.Егер жолда бүтін сан
болса, өңдеуші өңделетін айнымалының ағымдағы мәні мен оқылатын мән
бойынша ағымдағы белсенді әрекетті (таңдалған режимге сәйкес)
орындайды (мысалы, ол алдыңғы есептеу нәтижесін қосады немесе
көбейтеді оқылған нөмір). Сценарий іске қосылғанда, режим «қосу» күйіне
орнатылады және есептелетін айнымалы мән 1-ге инициализацияланады.
QUIT жолы алынса, «Өңдеуші» сценарийі жоспарланған тоқтату хабарын
консольге басып шығарады және екі сценарий де шығады. Кез келген басқа
жол мәндері алынса, екі сценарий де енгізу қателігі туралы хабармен
шығады.
Бірнеше сценарийді жасаңыз: генератор және өңдеуші. «Генератор»
процесі консольдегі жолдарды шексіз циклде оқиды. Егер оқу жолы бір «+»
таңбасынан тұрса, ол процеске жібереді
6. USR1 «өңдеуші» сигналы. Егер жол бір «*» символынан тұрса,
генератор өңдеушіге USR2 сигналын жібереді. Жолда TERM сөзі болса,
генератор өңдеушіге SIGTERM сигналын жібереді және шығады. Басқа
кіріс жолының мәндері еленбейді. Өңдеуші қабылданған пайдаланушы
сигналына байланысты өңделетін санның ағымдық мәнін 2 қосады немесе
2-ге көбейтеді (бастапқы мәнді бір мәнге инициализациялау) және нәтижені
40
бірден экранда көрсетеді. Есептеу және шығару секундына бір рет
орындалады. SIGTERM сигналын алғаннан кейін өңдеуші өз жұмысын
тоқтатады, басқа процестің сигналы бойынша жұмыстың қалыпты тоқтауы
туралы хабарламаларды басып шығарады.
Зертханалық жұмыс 11.
Bash интерпретаторы
Қамтылған мәселелер
1. Файлдармен және каталогтармен жұмыс істеуге арналған негізгі
командалар мен утилиталар
2. Қатты және символдық сілтемелер механизмін қолдану Файлдармен
және каталогтармен жұмыс істеудің негізгі командалары
cd – ағымдағы каталогты өзгерту cp – файлды көшіру
ls - көрсетілген каталог файлындағы файлдардың (соның ішінде каталогтар)
тізімін көрсетеді - көрсетілген файлдың түрін көрсетеді
find - файлды іздеу утилитасы
ln - қатты және символдық сілтемелер жасайды
mkdir - каталогты жасайды mv - файлды немесе каталогты жылжытады
pwd - ағымдағы каталогтың атын шығару
rm - файлды жою rmdir - каталогты жою
cat - файл мазмұнын біріктіру және шығару
Файл сілтемелері
Linux жүйесінде файлдық сілтемелердің екі түрі бар, әдетте қатты сілтеме
және символдық немесе жұмсақ сілтеме деп аталады.
Қатты сілтеме – файлдың нақты символдық атауы – осы файлдың индекс
дескрипторын көрсететін сәйкес каталогтағы жазба. Осылайша, файлда бір
уақытта бірнеше символдық атаулар болуы мүмкін, соның ішінде әртүрлі
каталогтарда. Файл дискіден оның символдық атауларының соңғысы
жойылған кезде ғана жойылады. Осы тұрғыдан алғанда, барлық қатты
сілтемелер тең: бір файлдың барлық символдық атаулары бірдей инодқа
сілтеме жасай отырып, бірдей мәртебеге ие.
Жұмсақ сілтеме (немесе символдық сілтеме немесе символдық сілтеме)
қатты сілтемеден түбегейлі ерекшеленеді, себебі ол басқа файлға толық
жолды қамтитын жеке арнайы файл (өзінің иноды бар). Символдық
сілтеменің артықшылығы - ол басқа файлдық жүйелерде орналасқан
файлдарды, соның ішінде белгілі бір уақытта қол жетімді болмауы мүмкін
файлдарды көрсете алады. Файлға қол жеткізу әрекеті жасалғанда,
операциялық жүйе ядросы сілтемені құрамындағы жолға ауыстырады. rm
пәрмені ол көрсететін файлды емес, сілтеменің өзін жояды. Символдық
41
сілтеме арқылы көрсетілген файлдың қолжетімділігін сұрау үшін, егер бар
болса, оның толық атын көрсетіңіз, readlink пәрменін пайдаланыңыз.
Файл атауын файлдық жүйенің түбірінен абсолютті жолды, мысалы,
/home/user/file немесе салыстырмалы жолды - ағымдағы каталогқа қатысты
көрсетілген жолды пайдалану арқылы көрсетуге болады.Сценарийлерде
әртүрлі каталогтарда сценарийді іске қосу кезінде тікелей оларда уақытша
файлдарды, ішкі каталогтарды және т.б. құру мүмкіндігі болуы үшін
салыстырмалы жолдар жиі пайдаланылады.
Ол үшін әрбір каталогта екі қызмет ішкі каталогы болады:
.. – негізгі каталогты көрсетеді
. – ағымдағы каталогты көрсетеді
Мысалы, cd .. пәрмені бір деңгейге жоғары - ата-аналық каталогқа және cd
. ағымдағы каталогты өзгертпейді.
Тағы бір кең таралған мысал ./script.bash пәрмені болып табылады. Ол
$PATH жүйелік айнымалысында тізімделген каталогтарда аттас файлдар
болса да, сценарийді дәл ағымдағы каталогтан іске қосады.
Соңында, егер біз пайдаланушының үй каталогында болсақ және
./../../home/user/file файл жолын пайдалансақ, ол /home/user/file файл
жолына сәйкес келеді.
Барлық жолдар cd / пәрмені арқылы шарлауға болатын түбірлік каталогтан
жасалады
~ белгісі ағымдағы пайдаланушының үй каталогын көрсету үшін
пайдаланылады. Сәйкесінше, cd ~ жазбасы cd $HOME жазбасына баламалы
болады.
Зертханалық тапсырма
Көрсетілген тапсырмаларға сценарийлер жасаңыз және оларды мұғалімге
ұсыныңыз. НАЗАР АУДАРЫҢЫЗ! Барлық сценарийлер тапсырмаға сәйкес
кез келген сценарийлерді, соның ішінде пайдаланушының параметрлерді
қате енгізуін, файл атауларында пайдалану үшін әдеттен тыс, бірақ тыйым
салынбаған таңбаларды қамтитын файл атауларын пайдалануды, әзірленген
сценарийлердің әртүрлі іске қосу ретін және файлдық жүйедегі басқа
пайдаланушы әрекеттерін өңдеуі керек. Сценарийлерді орындау кезінде
пайда болатын барлық қателер, соның ішінде жеке операциялық жүйе
утилиталарын орындау кезінде пайда болатын қателер өңделуі керек және
олар туралы мазмұнды хабарламалар әзірленетін сценарийдің командалары
арқылы пайдаланушыға көрсетілуі керек.
1. rmtrash сценарийі
a. а. Сценарийге бір параметр беріледі - ағымдағы сценарийді іске
қосу каталогында жойылатын файл атауы.
b. б. Сценарий пайдаланушының үй каталогында жасырын қоқыс
каталогының бар-жоғын тексереді. Егер ол жоқ болса, ол оны
жасайды.
42
c. в. Осыдан кейін сценарий осы жасырын каталогта бірегей
атаумен жойылатын файлға қатты сілтеме жасайды (мысалы,
ол әрбір жаңа сілтемеге келесі табиғи санға сәйкес атау береді)
және файлды ағымдағы каталогтан жояды.
d. г. Содан кейін жазба жасырын trash.log файлының соңында
жойылған файлға толық жолды және жасалған қатты сілтемесі
бар файл атауын қамтитын пайдаланушының үй каталогында
орналастырылады.
2. untrash скрипт
a. а. Сценарийге бір параметр беріледі - қалпына келтіру қажет
файлдың қысқаша атауы (толық жолсыз - тек атау).
b. б. trash.log файлындағы сценарий жіберілген параметрді
қамтитын барлық жазбаларды файл атауы ретінде
анықтайды және мұндай файлдардың толық атауларын
әрқайсысы үшін растау сұрауымен бір-бірден көрсетеді.
c. в. Пайдаланушы растауға оң жауап берсе, файлды
көрсетілген толық жолға қалпына келтіру әрекеті жасалады
(тиісті каталогта қоқыс жәшігіндегі файлға қатты сілтеме
жасалады, содан кейін сәйкес файл жойылады).
d. қоқыстан). Егер файлдың толық жолында көрсетілген
каталог енді жоқ болса, файл пайдаланушының үй
каталогына қалпына келтіріліп, сәйкес хабарлама
көрсетіледі. Қатты сілтеме жасау мүмкін болмаса, мысалы,
атау қайшылығына байланысты, пайдаланушыдан қалпына
келтірілетін файлдың атын өзгерту ұсынылады.
3. backup скрипт
a. а. Сценарий /home/user/ каталогында Сақтық көшірмеЖЖЖЖ-АА-КК атауы бар ішкі каталогты жасайды, мұнда
ЖЖЖЖ-АА-КК /home/user/ ішінде сәйкес атаумен каталог
болмаса, сценарийді іске қосу күні. ағымдағы күннен 7
күннен аз уақытқа дейін. Егер /home/user/ ішінде сценарий
іске қосылған күннен бастап 7 күннен ерте емес жасалған
сақтық көшірме каталогы болса, онда жаңа каталог
жасалмайды. Ағымдағы күн мен уақытты анықтау үшін күн
пәрменін пайдалануға болады.
b. б. Жаңа каталог жасалған болса, сценарий /home/user/source/
каталогындағы барлық файлдарды осы каталогқа көшіреді
(тестілеу үшін
c. скрипт, осындай каталогты және ондағы файлдар жинағын
жасаңыз). Осыдан кейін сценарий /home/user/backup-report
файлының соңына келесі ақпаратты қосады: оның атауы мен
жасалған күнін көрсететін сақтық көшірмелері бар жаңа
каталогты жасау туралы ақпараты бар жол, содан кейін тізім
43
/home/user/source/ ішінен осы каталогқа көшірілген
файлдардың саны.
d. в. Сақтық көшірме жасау үшін қолайлы дайын каталог
болса, сценарий оған /home/user/source/ ішінен келесі
ережелерге сәйкес барлық файлдарды көшіреді: сақтық
көшірме каталогында аттас файл жоқ болса, ол жай ғана
көшіреді. файл /home/user/source . Егер аттас файл бар болса,
ол оның өлшемін ағымдағы сақтық көшірме каталогындағы
аттас файл өлшемімен салыстырады. Өлшемдері бірдей
болса, файл көшірілмейді. Өлшемдері әртүрлі болса,
сценарий файлды көшіреді және нұсқаланған көшірмені
автоматты түрде жасайды.Осылайша, файлдың екі нұсқасы
да нақты сақтық көшірме каталогында сақталады: бұрын
жазылған файлдың атауы «.ЖЖЖЖ-АА-КК» қосымша
постфиксін (скрипттің орындалу күні) қосу арқылы
өзгертіледі және жаңа көшірілген файл атауын сақтайды.
Файлға көшіруді аяқтағаннан кейін
e. /home/user/backup-report
ағымдағы
сақтық
көшірме
каталогына өзгертулер енгізу туралы оның атын және
өзгерту күнін көрсететін жол қосылады, содан кейін жаңа
атаулары бар қосылған файлдардың атаулары бар жолдар
қосылады, содан кейін жолдар қосылады. осы файлдың
алдыңғы нұсқасына тағайындалған бөлгіш арқылы жаңа
атауды көрсететін бұрыннан бар аттары бар қосылған
файлдардың атаулары.
4. Upback сценарийі
a. Сценарий /home/user/restore/ каталогына алдыңғы нұсқалар
болып табылатын файлдарды қоспағанда, ағымдағы
ағымдағы сақтық көшірме каталогындағы (атында ең соңғы
күні бар) барлық файлдарды көшіреді.
b.
Зертханалық жұмыс 12.
BASH интерпретаторын қолдану
Қамтылған мәселелер
1. Жад параметрлерін бақылау үшін жоғарғы қызметтік бағдарламаны
пайдалану.
2. Жадты басқару механизмдерінің жұмысын талдау үшін модельдеу
эксперименттерін пайдалану.
Есептеу түйінінің жады күйі туралы мәліметтердің негізгі көздері: бос
командалық файл /proc/meminfo (man proc сәйкес бөліміндегі құжаттама)
файл /proc/[PID]/statm (man proc сәйкес бөліміндегі құжаттама) жоғарғы
утилита
44
Linux бағдарламасында жадыны басқаруды ұйымдастыру
Linux беттелген виртуалды жадты пайдаланады. Жад парақтарға бөлінеді.
Бет өлшемін getconf PAGE_SIZE пәрмені арқылы конфигурация
параметрлерінде көруге болады. Жадтағы адреске қол жеткізген кезде
адрес виртуалды мекенжайдың жоғары биттерін физикалық бет нөмірімен
ауыстыру арқылы динамикалық түрлендіріледі, ал төменгі биттердің мәні
бетте ығысу ретінде сақталады.
Әдетте, физикалық жадтан басқа, своп бөлімі де қолданылады. Бұл
жағдайда процестің мекенжай кеңістігі жедел жадта орналасқан беттерден
және своп бөлімінде орналасқан беттерден тұрады. Ауыстыру бөлімінің
параметрлерін /proc/swaps файлында табуға болады. Жадты процесске
динамикалық түрде бөлу кезінде операциялық жүйе алдымен физикалық
жадтағы беттерді бөлуге тырысады, бірақ бұл мүмкін болмаса, бетті
ауыстыруды бастайды, онда физикалық жадтан бірнеше беттер своп
бөліміне шығарылады және шығарылған беттерге сәйкес мекенжайлар
жаңа беттерге арналған процеске бөлінеді.
Операциялық жүйе процесстерге жадтың бөлінуін басқарады. Егер процесс
қолжетімді бос ЖЖҚ ішінде мүмкін емес мекенжай кеңістігін кеңейтуді
сұрауға әрекет жасаса, оның жұмысы әдеттен тыс тоқтатылады және жүйе
журналында жазылады.
Зертханалық тапсырма
Қажет болған жағдайда екі виртуалды эксперимент жүргізіп, нәтижелерді
талдаңыз. Төмендегі нұсқаулар эксперименттер кезінде қандай деректерді
жазу керектігін сипаттайды. «Бақылау» сценарийлерін жазу және
деректерді жинау ұсынылады, мысалы, жоғарғы утилитаның шығысынан
автоматты түрде белгіленген жиілікте, мысалы, секундына бір рет.
Тәжірибелерді жүргізуге және қажетті параметрлерді қолмен жазуға
болады, бірақ бұл жағдайда тәжірибені баяулату ұсынылады, мысалы,
массивке қосылған реттілік өлшемін 10-нан 5 элементке дейін азайту
арқылы.
Эксперименттер жүргізуге және есептің мазмұнына қойылатын талаптар
Жадты басқару тұрғысынан ағымдағы операциялық жүйе конфигурациясы
туралы ақпаратты есепте жазыңыз:
• ЖЖҚ жалпы көлемі.
• Дыбыс деңгейін ауыстыру.
• Виртуалды жад бетінің өлшемі.
• Жүктелмеген жүйедегі бос физикалық жад көлемі.
• Жүктелмеген жүйедегі своп бөліміндегі бос орын мөлшері.
1-эксперимент
Дайындық кезеңі:
Келесі сценарийді жүзеге асыратын mem.bash сценарийін жасаңыз.
45
Сценарий шексіз циклде жұмыс істейді. Цикл басталмас бұрын бос массив
және нөлге дейін инициализацияланған қадам есептегіші жасалады.
Циклдің әрбір қадамында массивтің соңына 10 элементтің тізбегі
қосылады, мысалы, (1 2 3 4 5 6 7 8 9 10). Әрбір 100 000-шы қадамда массив
өлшемінің ағымдағы мәні бар жол report.log файлына қосылады (скриптті
іске қоспас бұрын файл нөлге қайта орнатылады).
Бірінші кезең:
Міндеті жасалған сценарийдің жұмыс істеуі кезінде
жоғарғы
утилитаның параметрлер шығысының өзгеруін бағалау.
Эксперименттің барысы:
Жасалған mem.bash сценарийін іске қосыңыз. Процесс бұзылғанша және
соңғы жүйе журналы хабарлары консольге шыққанша күтіңіз. Есепке
соңғы журнал жазбасын жазыңыз - процесс бұзылған параметрлердің
мәндері. Сондай-ақ, мәнді report.log файлының соңғы жолына жазыңыз.
Екі консоль дайындаңыз. Алдымен жоғарғы қызметтік бағдарламаны іске
қосыңыз. Екіншіден, сценарийді іске қосып, бірінші консольге ауысыңыз.
Іске қосылған сценарий жоғарыда көрінетініне көз жеткізіңіз. Келесі
мәндерді сақтаңыз (және олардың уақыт бойынша өзгерістерін
хабарлаңыз):
• жүйелік жады параметрлерінің мәндері (негізгі кестенің үстіндегі жоғарғы
екі жол);
• орындалатын сценарийге сәйкес келетін кесте жолындағы параметр
мәндері;
• алғашқы бес процестегі өзгерістер (осы процестердің құрамы мен
позициялары қалай өзгереді).
Сценарий процесі бұзылып, жоғарғы жағындағы процестер тізімінен
жоғалғанша, бақылаулар жасаңыз және оларды есепке жазыңыз.
dmesg | көмегімен қараңыз grep "mem.bash" жүйе журналындағы сценарий
туралы соңғы екі жазбаны енгізіңіз және оларды есепте жазыңыз. Сондайақ, мәнді report.log файлының соңғы жолына жазыңыз.
Екінші кезең:
Тапсырма: жасалған сценарийдің бірнеше даналары жұмысы кезінде
жоғарғы қызметтік бағдарлама шығаратын параметрлердегі өзгерістерді
бағалау болып табылады.
Эксперименттің барысы:
mem2.bash файлына алдыңғы қадамда жасалған сценарийдің көшірмесін
жасаңыз. Оны report2.log файлына жазу үшін орнатыңыз. Екі сценарийді де
фондық режимде бірден іске қосатын сценарий жасаңыз.
Екі консоль дайындаңыз. Алдымен жоғарғы қызметтік бағдарламаны іске
қосыңыз. Екіншіден, бұрын жасалған сценарийді іске қосып, бірінші
консольге ауысыңыз. mem.bash және mem2.bash жоғарғы жағында
көрінетініне көз жеткізіңіз. Келесі мәндерді сақтаңыз (және олардың уақыт
46
бойынша өзгерістерін хабарлаңыз):
• жүйелік жады параметрлерінің мәндері (негізгі кестенің үстіндегі жоғарғы
екі жол);
• орындалатын сценарийге сәйкес келетін кесте жолындағы параметр
мәндері;
• алғашқы бес процестегі өзгерістер (осы процестердің құрамы мен
позициялары қалай өзгереді).
Екі сценарийдің соңғысы бұзылып, жоғарғы жағындағы процестер
тізімінен жоғалып кетпейінше, бақылаулар жасаңыз және оларды есепте
жазыңыз. dmesg | көмегімен қараңыз grep "mem[2]*.bash" жүйе
журналындағы соңғы сценарий жазбаларын енгізіңіз және оларды есепте
жазыңыз. Сондай-ақ report.log және report2.log файлдарының соңғы
жолдарындағы мәндерді жазыңыз.
Нәтижелерді өңдеу:
Әр кезеңде байқалған шамалардың әрқайсысының өзгерістерінің
графиктерін тұрғызыңыз. Своп бөлімі бар беттелген жадты ұйымдастыру
шеңберінде жадты басқарудың теориялық негіздеріне сүйене отырып, осы
мәндердің өзгеру динамикасын түсіндіріңіз. Шекті мәндердің мағынасын
түсіндіріңіз: процесс бұзылған массив өлшемі, жүйе журналында бұзылу
кезінде жазылған параметрлер. Жазбаша қорытынды жасау.
2-эксперимент
Дайындық кезеңі:
newmem.bash файлына mem.bash сценарийінің көшірмесін жасаңыз.
Жасалатын массив өлшемі сценарийге параметр ретінде берілген N мәнінен
асатын кезде көшірмені ол шығатындай етіп өзгертіңіз. Деректерді файлға
жазудан алып тастаңыз.
Негізгі кезең:
Тапсырма берілген қарқындылықта орындалатын тұрақты процестердің
ақаусыз жұмысын қамтамасыз ететін жадты тұтынудың шекті мәндерін
анықтау болып табылады. Эксперименттің барысы:
Барлығы K орындалу үшін бірдей N параметрін пайдаланып newmem.bash
файлын секунд сайын іске қосатын сценарий жасаңыз. Алдыңғы
эксперименттің бірінші кезеңінде процесс бұзылған массив өлшемінен 10
есе кіші мән ретінде N мәнін алыңыз. K мәнін 10-ға орнатыңыз. Барлық K
іске қосулардың сәтті аяқталғанын және жүйе журналында newmem.bash
бұзылуы туралы жазбалардың жоқтығына көз жеткізіңіз.
K мәнін 30 мәніне өзгертіп, сценарийді қайта іске қосыңыз. Неліктен
бірқатар процестер әдеттен тыс тоқтатылғанын түсіндіріңіз. K=30 кезінде
процестердің қалыптан тыс аяқталуы болмайтындай N ең үлкен мәнін
таңдаңыз.
Есепке осы тәжірибеден алынған қорытындыларды және табылған N мәнін
қосыңыз.
47
Зертханалық жұмыс 13.
Тапсырмаларды жобалау
Қамтылған мәселелер
1. MS Windows пәрмен жолы интерфейсімен танысыңыз.
2. Пакеттік файлдарды (скрипттерді) пайдаланып, MS Windows ОЖ
негізгі нысандарын басқаруды үйреніңіз.
Әдістемелік нұсқаулар
1. Жұмысты MS Windows жүйесінің кез келген нұсқасында орындауға
болады (Windows XP және одан жоғары), бірақ орындау үшін әкімші
құқықтары қажет.
Негізгі операциялық жүйенің конфигурациясына ықтимал зақым келтірмеу
үшін виртуалды машинада жұмыс істеу ұсынылады.
2. Пәрмен жолы бастау мәзірі – іске қосу – cmd арқылы іске қосылады.
Жұмысты PowerShell ортасы арқылы орындауға болады.
3. Ұсынылатын пәрмендер мен утилиталар (егер кәдімгі пәрмен жолы
интерпретаторы пайдаланылса): cmd, mem, discpart, cd, md,
rd, dir, copy, xcopy, at, sc, табу, сұрыптау, егер, үшін
қоңырау шалу. Жоғарыдағы пәрмендер тізімі толық емес, тапсырмаларды
орындау кезінде, соның ішінде операциялық жүйенің қосымша
құрамдастарын орнату кезінде басқа пәрмендерді пайдалануға болады.
4. Команданың немесе қызметтік бағдарламаның шығысын файлға қайта
бағыттау > символы арқылы жүзеге асырылады.
5. Пәрмен_атауы /? пәрмен немесе қызметтік бағдарлама бойынша көмек
алуға мүмкіндік береді.
Зертханалық тапсырма
1. Файлдармен және каталогтармен жұмыс істеу
1. C дискінің түбірінде LAB6 атты каталог
жасау: Онда
операциялық жүйенің нұсқасы туралы, тегін және пайдаланылған
жады туралы және жүйеге қосылған қатты дискілер туралы
ақпараты бар жеке файлдар жасалсын. Файл атаулары тиісті
деректерді алу үшін пайдаланылатын коммуналдық қызметтерге
сәйкес болуы тиіс.
2. TEST бағыныңқы дирекциясын жасап, оған LAB6
каталогының мазмұнын көшіріңіз.Бұл каталогты ағымдағы етіп
жасаңыз.
3. TEST каталогындағы барлық файлдардың мазмұнын біріктіре
отырып, бір пәрмені бар файл жасау.
4. Файл атауларын анық көрсетпей, соңғы жасалған файлдан басқа
ағымдағы каталогтағы барлық файлдарды жойыңыз.
5. 1.1-1.4 қадамдарын орындау үшін пайдаланылатын пәрмендер
тізімі мен параметрлері бар мәтіндік файлды жасау.
48
2. Процестерді бастау және тоқтату
1. Компьютердің (хосттың) атауын анықтаңыз. Желі үлесін жасау
\\host_computer_name\temp
2. Кез келген файлды C:\Windows каталогынан өлшемі 20 Мб-тан
астам ресурсқа \\hostname\temp көшірмесін үзіндіде көшіруді
жалғастыру үшін көшіретін орындалатын партия файлын
жасаңыз. Қажет болған жағдайда бірнеше кіші файлдарды бір
мұрағатқа біріктіру арқылы үлкен файл жасаңыз.
3. 1 минуттан кейін кестеге сәйкес алдыңғы элементтен
орындалатын файлдың бір реттік іске қосуын жоспарлау.
4. Көшіру процедурасының басталғанын тексеріңіз және тиісті
процесс жасалғаннан кейін оны қалыпты аяқталғанға дейін
тоқтатуға мәжбүрлеңіз.
5. Бастапқы және тағайындалған файлды салыстырыңыз. Олардың
бүтіндігін тексеру туралы ақпаратты көрсету.
6. Үзілім нүктесінен файлды көшіруді жалғастырыңыз.
7. 2.1-2.6 қадамдарын орындау үшін пайдаланылатын параметрлері
бар пайдаланылған пәрмендер тізімі бар мәтіндік файлды жасау.
3. Жүйелік қызметтерді басқару
1. Қазіргі уақытта жүйеде жұмыс істеп тұрған қызметтер тізімін
қамтитын файлды жасау.
2. Келесі әрекеттерді орындайтын партия файлын жасау:
1. DNS-клиент қызметін тоқтату
2. 1 минуттан кейін ол қазіргі уақытта жүйеде жұмыс істеп тұрған
қызметтердің жаңартылған тізімін қамтитын файл жасайды.
3. ПХД-да алынған файлдарды салыстыратын жеке партия
файлын іске қосу. 3.1 және 3.2 және delta файлын жасау;
4. Тағы 1 минуттан кейін ол тоқтатылған қызметті қалпына
келтіреді.
3. Пайдаланылатын пәрмендер тізімі мен оларды іске қосу үшін
пайдаланылатын параметрлері бар мәтіндік файлды жасау. 3.1–
3.2.
4. Файлдардағы ақпаратты іздеу және сұрыптау
1. Жүйеге жүктелген барлық жүргізуші атауларының тізімін
ДРАЙВЕРЛЕР файлына кесте түрінде жазыңыз.
2. 4.1 т. бойынша алынған деректерді кері лексикографиялық
тәртіппен сұрыптау.
3. 4.1-4.2 қадамдарын орындау үшін пайдаланылатын пәрмендер
тізімі мен параметрлері бар мәтіндік файлды жасау.
Зертханалық жұмыс №14
Резервті көшірме алу
49
Жұмысты орындау үшін сізге Интернетке кіру мүмкіндігі бар компьютер
қажет.
1. Тиісті RFC-де TCP және UDP протоколдарының сипаттамасын іздеңіз
және тексеріңіз.
2. Wireshark желілік анализаторын іске қосыңыз және физикалық
интерфейстен пакеттерді түсіруді орнатыңыз.
3. Dns пакетінің сүзгісін орнатыңыз және шолғышта сайтқа өтіңіз
www.huawei.ru.
4. Домендік атауға рұқсат сұрау үшін UDP пакет протоколының
тақырыбындағы тағайындалған порт нөмірін анықтаңыз huawei.ru (сурет.
8.1).
1-Сурет UDP протоколының тақырыбы
5. Dhcp пакет сүзгісін орнатыңыз.
6. Жалға алынған мекенжайды босатыңыз. Ол үшін ipconfig/release Ethernet
(Ethernet – желі атауы) пәрменін енгізіңіз.
7. Жаңа IP мекенжайын алыңыз. Ол үшін ipconfig /renew Ethernet пәрменін
енгізіңіз.
8. UDP протоколының тақырыбында клиенттің порт нөмірі және DHCP
сервер порты туралы ақпаратты табыңыз.
9. Http пакет сүзгісін орнатыңыз.
10. TCP протоколының тақырыбында клиенттің порт нөмірі мен веб-сервер
порты туралы ақпаратты табыңыз.
11. Осы жұмыста алынған бекітілген порттар туралы ақпаратты кестеге
енгізіңіз. 8.1.
Кесте 8.1
Бекітілген порттар
Порт нөмірі
Қызмeт
50
Ескерту
Netstat утилитасы туралы анықтама
Netstat утилитасы осы компьютерде тыңдалатын TCP және UDP порттары
мен желілік интерфейстер мен хаттамалар бойынша статистикалық
деректерді көрсетуге арналған.
Пәрмен жолының форматы: netstat [- a] [- b] [- e] [- f] [- n] [- o] [- p прото кол] [- r] [- S] [- t] [интервал].
Пәрмен жолының параметрлері: - a-барлық қосылымдарды және күтудегі
порттарды көрсету, - b-әрбір қосылымды немесе күтудегі портты жасауға
қатысатын орындалатын файлды көрсету.
Кейде белгілі орындалатын файлдарда бірнеше тәуелсіз компоненттер
болады. Содан кейін қосылымды құруға қатысатын компоненттер тізбегі
немесе күтілетін порт көрсетіледі. Бұл жағдайда Орындалатын файлдың
атауы төменгі жақшада [ ], жоғарғы жағында ол шақырылған компо – нент
және т.б. TCP/IP жеткенше. Бұл тәсіл көп уақытты қажет ететінін және
алдын - ала рұқсаттарды қажет ететінін ескеріңіз.
-E-Ethernet статистикасын көрсету. -S параметрімен бірге қолдануға
болады;
-F-сыртқы мекенжайлар үшін толық домен атауын (FQDN) көрсету;
- N-сандық форматта мекен-жайлар мен порт нөмірлерін көрсету;
-o-әр қосылу процесінің кодын (ID) көрсету;
-p-протокол-осы параметрмен берілген протокол үшін қосылымдарды
көрсету. Жарамды мәндер: TCP, UDP, TCPv6 немесе UDPv6. IC-Протокол
статистикасын көрсету үшін - S параметрімен бірге қолданылады. Жарамды
мәндер: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP немесе UDPv6;
- R-маршрут кестесінің мазмұнын көрсету;
- s-Протокол статистикасын көрсету. Әдепкі бойынша статистика IP, IPv6,
ICMP, icmpv6, TCP, TCPv6, UDP және UDPv6 протоколдары үшін
көрсетіледі. -P параметрі шығарылатын деректердің ішкі жиынын
көрсетуге мүмкіндік береді;
- t-деректерді беру кезінде процессордан желілік адаптерге жүктемені
тасымалдау күйінде ағымдағы қосылымды көрсету ("offload");
-V-мүмкін болса, ақпаратты егжей-тегжейлі шығару;
- интервал-көрсетілген интервал арқылы статистикалық деректерді
секундтармен қайта шығару. Деректер шығысын тоқтату үшін Ctrl + C
пернелерін басыңыз, егер параметр берілмесе, ағымдағы конфигурация
туралы мәліметтер бір рет көрсетіледі.
12. Барлық орнатылған қосылыстар мен тыңдауға ашық порттар туралы
ақпарат алыңыз. Ол үшін netstat-a пәрменін қолданыңыз (сурет. 8.2).
51
2- СуретОрнатылған TCP/UDP қосылымдарының тізімі және тыңдауға
арналған порттар
13. Процесті көрсететін белсенді қосылымдардың тізімін қараңыз. Ол үшін
netstat-n-b командасын қолданыңыз (сурет. 8.3).
Операцияны орындау үшін әкімші құқықтарымен пәрмен жолын іске қосу
керек.
3- СуретПроцесті көрсететін белсенді қосылыстардың тізімі
14. Хаттама статистикасын алыңыз. Ол үшін netstat-e-s пәрменін
қолданыңыз (сурет. 8.4).
4- СуретХаттамалар бойынша cтатистика
15.Wireshark-қа tcp пакет сүзгісін орнатыңыз.
16.Пакеттердің арасынан "үш жақты қол алысу" (үш жақты қол алысу) деп
аталатын процеске жауап беретін үш сегментті табыңыз (сурет. 8.5).
5-Сурет"Үш жақты қол алысу"
52
17. Үш пакеттің жалауларын талдаңыз. Пакеттердегі жалау мәндерінің
өзгеруін түсіндіріңіз.
18. TCP байт нөмірін (Sequence Number) әр пакет үшін реттілікпен
анықтаңыз. "Прото - кола параметрлері –> TCP –> TCP sequence нөмірлерін
талдау"опциясын алдын ала өшіріңіз.
19. Байланыстың үзілуіне жауап беретін пакеттерді тауып, сол пакеттердің
жалаушаларын талдаңыз. Пакеттердегі жалау мәндерінің өзгеруін
түсіндіріңіз.
20. Клиент пен сер - Вера арасындағы байланысты орнату және үзу процесін
"Статистика –> ағын графигі" бөлімінен "ағын түрі –> TCP Flows"опциясын
орнату арқылы көруге болады.
21. Жұмысты орындау нәтижелері бойынша есеп дайындау қажет.
Зертханалық жұмыс №15
Айнымалыларға амалдар қолдану
1. Хаттамаларды инкапсуляциялау. Розеткаларды пайдалану
Жұмысты орындау үшін сізге Интернетке кіру мүмкіндігі бар компьютер
қажет.
1. Wireshark желілік анализаторын іске қосыңыз және физикалық
интерфейстен пакеттерді түсіруді орнатыңыз.
2. Http пакетінің сүзгісін орнатыңыз және http пакетінің хабарламалары
қандай желілік қабаттарға жататынын анықтаңыз.
3. Arp пакетінің сүзгісін орнатыңыз және arp пакетінің хабарламалары
қандай желілік қабаттарға жататынын анықтаңыз.
4. Bootp пакетінің сүзгісін орнатыңыз және dhcp пакетінің хабарламалары
қандай желілік қабаттарға жататынын анықтаңыз.
5. Розеткаларды қолдана отырып, клиент-сервер қосымшасын жасаңыз.
Функционалдылық: клиенттің сұранысы бойынша сервер динамикалық
порттар ауқымынан жалған кездейсоқ бірегей санды шығаруы керек.
6. Қолданбаны тестілеу. Серверден алынған деректерді бекітіңіз.
2. Netsh бағдарламасын пайдаланып Windows брандмауэрін орнату
Netsh - бұл белсенді компьютер желісінің конфигурациясын көрсетуге
немесе өзгертуге мүмкіндік беретін командалық жолға негізделген утилита.
Netsh пәрмендерін netsh пәрмен жолына енгізу арқылы орындауға болады,
сонымен қатар оларды пакеттік файлдарда немесе сценарийлерде
пайдалануға болады. Қашықтағы компьютерлер мен жергілікті
компьютерді netsh пәрмендері арқылы конфигурациялауға болады.
1. Әкімші ретінде пәрмен терезесін іске қосыңыз.
2. Netsh пәрменін теріңіз (/? енгізіңіз).
53
3. Контексттер тізімін қарап шығыңыз.
4. Bye пәрменін теріңіз.
5. Ағымдағы брандмауэр конфигурациясын қараңыз. Ол үшін пәрменді
енгізіңіз: netsh advfirewall Firewall show rule name=all.
6. Пәрменді енгізіңіз: netsh advfirewall Firewall show rule name=esp.
7. ENSP қосымшасының ережелерін талдаңыз (сурет. 9.1).
1- СуретeNSP қосымшасының ережелері
8. Брандмауэрді уақытша өшіріңіз. Ол үшін пәрменді енгізіңіз: netsh
advfirewall set allprofiles state off.
9. Брандмауэрді қосыңыз. Ол үшін пәрменді енгізіңіз: netsh advfirewall set
allprofiles state on.
10. Брандмауэр параметрлерін файлға сақтаңыз. Ол үшін пәрменді енгізіңіз:
netsh advfirewall export"C:\temp\WFconfiguration.wfw”.
11. Параметрлері бар файлдың жасалғанына көз жеткізіңіз (сурет. 9.2).
54
2-СуретБрандмауэр параметрлері бар файл
12. Әдепкі брандмауэр параметрлерін қалпына келтіріңіз. Ол үшін пәрменді
енгізіңіз: netsh advfirewall reset.
13. Пәрменді енгізіңіз: netsh advfirewall Firewall show rule name=eNSP.
14. Нәтижені түсіндіріңіз Б. 13.
15. ENSP бағдарламасы үшін брандмауэрді ашыңыз. Ол үшін пәрменді
теріңіз: netsh advfirewall Firewall add rule name= "eNSP" dir=in action=allow
pro-gram="C:\Program Files\Huawei\eNSP\eNSP_Client.exe” enable=yes.
16. Пәрменді енгізіңіз: netsh advfirewall Firewall show rule name=eNSP.
17. 80 портты ашу ережесін жасаңыз. Ол үшін пәрменді енгізіңіз: netsh
advfirewall Firewall add rule name= "Open Port 80" dir=in action=allow proto col=TCP localport=80.
18. Ақпаратты көру үшін пәрменді енгізіңіз: netsh advfirewall Firewall show
rule name= "Open port 80".
19. 80 порт ережесін жойыңыз. Ол үшін пәрменді енгізіңіз: netsh advfirewall
Firewall delete rule name=" Open Port 80 " protocol= TCP localport=80.
20.ENSP бағдарламасының ережесін жойыңыз. Ол үшін пәрменді енгізіңіз:
netsh
advfirewall
Firewall
delete
rule
name=
"брандмауэр"
бағдарлама="C:\Program Files\Huawei\eNSP\eNSP_Client.exe " (сурет. 9.3).
3-Сурет"eNSP" ережесін жою нәтижесі
21. Параметрлерді файлдан қалпына келтіріңіз. Ол үшін пәрменді енгізіңіз:
netsh advfirewall import "C:\temp\WFconfiguration.wfw”.
22. Параметрлердің қалпына келтірілгеніне көз жеткізіңіз.
23. Жұмысты орындау нәтижелері бойынша есеп дайындау қажет.
55
56
Download