Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди...

13
2016/2017 Рачунарска техника и рачунарске комуникације Аутомобилске мреже 3 Ethernet, Wireshark, Telnet Вежба 1 ( Подешавање мрежног жичног Ethernet) приступа Raspberry Pi Уколико користите из конзоле Carbian оперативног система (ПРЕПОРУЧЕНО) подешавања мрежних параметара можете изменити кроз , , , команде или још боље трајно изменом конфигурационих датотека и : скрипти Промена имена Raspberry Pi уређаја (hostname) – пожељно је променити име Raspberry Pi уређају. У почетној конфигурацији дефинисано је име raspberrypi. Да би се име разликовало од осталих уређаја истог типа прикључених на исту мрежу, потребно је променити име, нпр. у raspberrypixyzk, где су xyzk последње 4 цифре са серијског броја на кутији уређаја. Могуће је одабрати и било које друго име. Име уређаја је згодно за приступ уређају преко мреже по његовом имену, у супротном је неопходно знати IP адресу, што је компликованије у случају укљученог DHCP-а. Име уређаја може се променити трајно у конфигурацији која се може директно изменити командом „sudo nano /etc/hostname“, урадити измене и онда затворити датотеку комбинацијом тастера редом Ctrl+X (затварање), Y (потврда да желите да сачувате измене), Enter (задржавате тренутно име датотеке). : Циљеви вежбе Напредно подешавање Ethernet-a Wireshark Упознавање са алатом Упознавање са telnet библиотеком отвореног Це кода Напомене : . Подешавања из првог дела вежби су информативног карактера Без преке потребе немојте мењати ишта да не би нарушили . , конфигурацију која ради Уколико желите да се поиграте прво направите копију радних подешавања са cp ime_datoteke ime_datoteke.bak

Transcript of Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди...

Page 1: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

2016/2017

Рачунарска техника и рачунарске комуникацијеАутомобилске мреже

Вежба 3 – Ethernet, Wireshark, Telnet

1 Подешавање мрежног жичног (Ethernet) приступаУколико Raspberry Pi користите из конзоле Carbian оперативног система (ПРЕПОРУЧЕНО) подешавања мрежних параметара можете изменити кроз команде, или још боље, трајно, изменом конфигурационих датотека и скрипти:

Промена имена Raspberry Pi уређаја (hostname) – пожељно је променити име Raspberry Pi уређају. У почетној конфигурацији дефинисано је име raspberrypi. Да би се име разликовало од осталих уређаја истог типа прикључених на исту мрежу, потребно је променити име, нпр. у raspberrypixyzk, где су xyzk последње 4 цифре са серијског броја на кутији уређаја. Могуће је одабрати и било које друго име. Име уређаја је згодно за приступ уређају преко мреже по његовом имену, у супротном је неопходно знати IP адресу, што је компликованије у случају укљученог DHCP-а.Име уређаја може се променити трајно у конфигурацији која се може директно изменити командом „sudo nano /etc/hostname“, урадити измене и онда затворити датотеку комбинацијом тастера редом Ctrl+X (затварање), Y (потврда да желите да сачувате измене), Enter (задржавате тренутно име датотеке).

Промена параметара жичог мрежног приступа (мрежни адаптер eth0) – параметре жичног мрежног приступа је могуће променити трајно или привремено, што ће важити до следећег рестарта. Најважнији параметри који се могу поставити су IP адреса, netmask маска, и broadcast адреса, али и замена свега тога DHCP подешавањем које ће омогућити аутоматско постављање свих параметара након договора са мрежним уређајем на другом крају. Такође, могуће је укључити или искључити аутоматско покретање ове спреге за приступ мрежи.

Циљеви вежбе:

Напредно подешавање Ethernet-a

Упознавање са Wireshark алатом

Упознавање са telnet библиотеком отвореног Це кода

Напомене:

Подешавања из првог дела вежби су информативног карактера. Без преке потребе немојте мењати ишта да не би нарушили конфигурацију која ради. Уколико желите да се поиграте, прво направите копију радних подешавања са cp ime_datoteke ime_datoteke.bak

Page 2: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

Тренутно стање жичног мрежног адаптера можете проверити командом ifconfig eth0 (стање свих мрежних адаптера можете проверити позивом само команде ifconfig или ifconfig -a. IP адресу је могуће привремено променити командом ifconfig eth0 <address> (нпр. ifconfig eth0 172.16.25.125). Маску је могуће променити командом ifconfig eth0 netmask <mask> (нпр. eth0 netmask 255.255.255.0). Broadcast адресу је могуће променити командом ifconfig eth0 broadcast <address> (нпр. eth0 broadcast 172.16.25.63). Све параметре је могуће променити одједном, нпр. ifconfig eth0 172.16.25.125 netmask 255.255.255.224 broadcast 172.16.25.63.

Све параметре је могуће трајно променити директном изменом конфигурационе датотеке, нпр. позивом команде:

sudo nano /etc/network/interfaces

Постављање параметара за рад са статичком адресом (препоручено ако се Raspberry Pi уређај повезује директно на персонални рачунар):

iface eth0 inet static

address 192.168.0.24

netmask 255.255.255.0

gateway 192.168.0.1

Постављање параметара за рад са DHCP–ом (препоручено ако се Raspberry Pi уређај повезује директно на мрежу):

iface eth0 inet dhcp

Алтернативно Raspberry Pi може аутоматски да прелази са једног на други режим са следећим благо модификованим подешавањима:

iface eth0 inet manual

auto eth0:1

iface eth0:1 inet static

address 147.91.53.215

netmask 255.255.255.3

Промена DNS подешавања – омогућавају да се име (hostname) Raspberry Pi уређаја види на уређајима у истој мрежи, те да му се може приступити по имену што је згодно у случају да је укључен DHCP (непозната аутоматска адреса). За различите оперативне системе и различиту мрежну опрему су неопходна различита подешавања, па следећа 3 подешавања примените редом, док приступ по имену коначно не проради (можете пробати ping командом са рачунара, нпр. ping raspberrypi1234):

1. За Linux оперативни систем је најчешће довољно инсталирати и подесити Avahi Daemon. Тада се уређају приступа као <hostname>.local (нпр. raspberrypi1234.local), иначе само као <hostname> (нпр. raspberrypi1234).

Инсталација: sudo apt-get install avahi-daemon

Page 3: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

Подешавање у датотеци: sudo nano /etc/nsswitch.conf, изменити линију која почиње лабелом hosts, тако да буде:

hosts: files mdns4_minimal mdns4 dns

2. Потребно је позвати следеће команде одједном, као sudo корисник:

cat << EOF >> /etc/dhcp/dhclient.conf send fqdn.encoded off ; send fqdn.server-update on ; EOF

3. Уколико се Raspberry Pi уређај и даље не види са других уређаја у мрежи, потребно је инсталирати следеће алате:

sudo apt-get install samba

sudo apt-get install winbind

За samba алат је потребно подесити и назив радне групе мреже на коју је уређај прикључен, у датотеци /etc/samba/smb.conf, нпр. командом:

sudo nano /etc/samba/smb.conf

Конкретно, треба изменити променљиву workgroup, нпр:

workgroup = WORKGROUP

Напомена:

Све трајне измене које се форсирају променама у конфигурационим датотекама дају ефекат тек при стартовању уређаја (тада се извршавају/учитавају), па је неопходно након промене рестартовати Raspberry Pi уређај.

Page 4: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

2 Wireshark2.1 УводЗа боље разумевање мрежних протокола, најбоље је посматрати „протокол у акцији“,односно посматрати секвенце порука које се размењују између два ентитета. Основни алат за осматрање порука које се размењују између извршних протокол ентитета назива се packet sniffer. Овај алат „хвата“ поруке које се шаљу или примају на рачунару и приказује поља различитих протокола. Packet sniffer је сам по себи пасиван програм. Он посматра поруке које су послате или примљене од стране апликација и протокола на рачунар, али никад не шаље пакете сам. Такође, примљени пакети никада нису експлицитно адресирани на packet sniffer. Packet sniffer прима копије пакета које су послате/примљене на апликације и протоколе који се извршавају на рачунару. На слици 1. приказана је структура packet sniffer-а. На десној страни налазе се протоколи (у овом случају Интернет протоколи) и апликације (као што су web browser-и или FTP клијент) који се налазе на рачунару.

Packet sniffer, означен испрекиданим правоугаоником на слици 1. је додатак уобичајеном

софтверу на рачунару и састоји се од два дела:

Packet capture библиотека - прима копију сваког оквира нивоа линка (link-layer frame) који је примљен на рачунару, или се шаље са рачунара. Иначе, поруке се размењују помоћу протокола виших нивоа као што су HTTP (Hyper-Text Transfer Protocol), FTP (File Transfer Protocol), TCP (Transmission Control Protocol), UDP (Internet Protocol), DNS (Domain Name System) ili IP (Internet Protocol). Сви они су садржани у оквиру нивоа линка. На слици 1. претпостављено је да је ниво линка Ethernet и сви протоколи виших нивоа су обухваћени у оквиру Ethernet оквира. Према томе, “хватајући” све оквире нивоа линка добијају се све поруке које су послате или примљене од протокола и апликација које се извршавају на рачунару.

Packet analyzer - приказује садржај свих поља у оквиру поруке.

2.2 Коришћење Wireshark - графички корисничи интерфејс (GUI)Инсталација Wireshark-а у Carbian ОС-у (у терминалу унети): sudo apt-get install wireshark

Page 5: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

У Ubuntu ОС-у (у терминалу) унети следеће команде:

sudo dpkg-reconfigure wireshark-common

sudo usermod -a -G wireshark $USER

sudo reboot

Wireshark је бесплатан мрежни протокол аналајзер који ради под Windows, Linux/Unix i Mac оперативним системом. Када се покрене Wireshark програм, појављује се графички кориснички интерфејс приказан на слици 2.

Слика 2. Wireshark графички кориснички интерфејс

Wireshark интерфејс има пет основних компоненти:

Command menus (командни мени) - стандардни падајући мени који се налази на врху прозора. Најзначајни су:

o File - омогућава чување “ухваћених” пакета или отварање датотеке која садржи претходно ухваћене пакете.

o Capture - омогућава почетак “хватања” пакета. Packet-listing window (прозор за приказивање ухваћених пакета) – приказује податке за

сваки “ухваћени” пакет, укључујући број пакета (који му додељује Wireshark; ово није број пакета који се налази у заглављу било ког протокола), тренутак у којем је пакет

Page 6: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

ухваћен, адресу извора и одредишта пакета, тип протокола и специфичну информацију о протоколу која се налази у сваком пакету. Листа пакета може бити сортирана по било којој од ових категорија кликом на име колоне.

Packet - header details window (прозор за приказивање детаља селектованог пакета) - обезбеђује детаље о пакету одабраном у packet listing прозору.

Packet - contents window - приказује укупан садржај ухваћеног пакета у ASCII и хексадецималном запису.

Филтер (поље за филтрирање) у које се могу унети име протокола или друге информације, како би се у packet-listing прозору (као и packet–header и packet–contents прозорима) издвојиле само оне информације које нас занимају.

Како би се започело хватање пакета, потребно изабрати Capture падајући мени и изабрати Options. Појавиће се прозор као на слици 3.

Слика 3. Wireshark Capture Options прозор

У Capture options прозору потребно је одабрати једну од мрежних картица које се налазе у рачунару (нпр. wireless или wired Ethernet, у нашем случају је то eth0), а затим кликнути Start, након чега почиње хватање пакета. Уколико није одабрана опција у Capture Options – Display options – Hide capture info дијалог, појавиће се packet capture summary прозор, као на слици 4. Овај прозор приказује број пакета различитих типова протокола који су ухваћени.

Page 7: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

Слика 4. Wireshark Packet Capture summary прозор

Уколико желимо да видимо ухваћене пакете, потребно је притиснути дугме Stop у Packet Capture summary прозору. Након тога добије се прозор као на слици 5. са приказом свих ухваћених пакета.

Слика 5. Приказ свих ухваћених пакета

Поред пакета које можемо одмах препознати (приступ некој адреси на интернету, слање пакета између два рачунара итд.), евидентно је да постоји још много других протокола који обављају одређене радње на рачунару, а које корисник не види. Како би видели само пакете који нпр. користе TCP протокол, у поље за филтрирање унети tcp (малим словима – имена свих протокола се пишу малим словима у Wireshark-у) и затим кликнути Apply. Сада ће једино TCP поруке бити приказане у packet-listing прозору, као што је приказано на слици 6.

Page 8: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

Слика 6. Приказ само TCP размењених порука

2.3 Коришћење Wireshark - интерфејс командне линије (CLI)У неким случајевима графички кориснички интерфејс није доступан (безглави сервер енг. headless server) или је једноставно непрактично га покренути (нпр. спор рачунар или једноставно нам је потребно брзо хватање пакета без улазака у непотребне детаље). У таквим ситуацијама веома је згодно и практично користити Wireshark из интерфејса командне линије. Зависно од дистрибуције Linux оперативног система алат се назива tshark или wireshark-cli. Алат нуди све функционалности основног Wireshark јер долази у пакету са њим. Једина разлика је што омогућава брз, поједностављен преглед пакета, прилагођен командној линији. Додатна предност оваквог алата је што се лако може интегрисати у скрипте и омогућити аутоматизацију мрежне дијагностике и подешавања параметара. Алат може да снима сав ухваћен саобраћај у стандардн pcap датотеке које се додатно могу анализирати кроз графички интерфејс. Треба напоменути да због заштите система рад са овим алатом је обично омогућен root кориснику.

Неке од згодних команди (остатак се може видети са man wireshark и man tshark):

tshark –D #Преглед мрежних адаптера на којима се може ослушкивати саобраћај tshark –i <number or ID> # Ослушкивање на адаптеру означеном бројем или ознаком tshark –V # Приказ пакета са свим пропратним детаљима као у GUI верзији tshark –f <option> # Филтрирање ослушкивања према опцијама из man pcap-filter tshark –c <packet count> # Заустављање програма након Н пакета tshark -a <autostop cond.> ... # Заустављање након одређеног …

o duration:NUM - stop after NUM seconds # броја секундиo filesize:NUM - stop this file after NUM KB # величине излазне датотекеo files:NUM - stop after NUM files # броја излазних датотека

tshark -b <ringbuffer opt.> ... # Уписивање у више датотека са преласком наконo duration:NUM - switch to next file after NUM secs # Одређеног број секундиo filesize:NUM - switch to next file after NUM KB # Одређене величине датотеке

Page 9: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

o files:NUM - ringbuffer: replace after NUM files # замени бафер након броја датотека

tshark –Y <display filter> # Филтрирање приказа по узору на GUI верзију филтера tshark –T pdml|ps|psml|text|fields # Подешавање формата излаза – подразумевано

текст tshark –T fields –e <field> # Излаз– одабир специфичног поља пакета за приказ tshark –G fields # Приказ могућих поља за филтрирање: man wireshark-filters који је

доступан и на следећој адреси https://www.wireshark.org/docs/dfref/

2.4 ЗадациЗадатак је да се ослушкују доле описане врсте саобраћаја и уочи када се такав саобраћај генерише, која поља откривају природу и подешавања комуникације, као и да се уоче пропусти и предности неких од протокола. Са графичким интерфејсом улазити у дубину пакета и одговарајућих поља, а из терминала покушати да се уоче све функционалности са –V и парсирањем излаза. За сваку од команди и врсту протокола покушати да се ослушкују размене пакета са обе стране (на Raspberry и на Ubuntu) и да се уочи за коју врсту оквира је који уређај одговоран. Претходно правило не важи за примере где је комуникација остварена само на једном уређају. За сваки протокол применити филтрирање да би се упростио приступ.

За овај део вежби, raspberrypi уређај повезати на монитор преко HDMI кабла. На raspberrypi уређају отворити два терминала и један wireshark GUI прозор. Први терминал користите за глобалне команде (ping, traceroute…) а други терминал користите за tshark команде (хватање пакета, постављање филтера...). Упоредити коришћење wireshark-а из терминала и GUI-а и уочити предности и мане коришћења.

Уколико приликом прикључења raspberrypi уређаја на монитор преко HDMI кабла имате малу резолуцију, неопходно је да урадите следеће кораке из raspberrypi терминала:

sudo nano /boot/config.txt

Унутар config.txt ставити следећа подешавања:

hdmi_group = 2

hdmi_mode = 82

Након сачуваних измена у config.txt у треминалу унесите: sudo reboot

Предлози протокола за проучавање:

ARP – за шта служи протокол? Када се пакети генеришу? Која поља нам откривају машине које учествују у комуникацији? Пронађите из листе команди за tshark команду за филтрирање и поставите је да филтрира ARP протокол и унутар raspberrypi терминала и унутар Ubuntu терминала.

ICMP – потребно је из терминала на raspberrypi и/или из терминала на Ubuntu лансирати неку од команди: ping или traceroute. За шта служи свака од команди? Које су разлике у пољима пакета за различите покренуте команде? Која промена настаје у

Page 10: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

оквиру уколико покушавате да пингујете недоступну адресу? Шта се дешава са узастопним пакетима код traceroute (која поља се мењају)?Пример коришћења traceroute команде био би:sudo traceroute www.rt-rk.com Команду ping користите из Ubuntu терминала док у терминалу на raspberrypi поставите филтер за ICMP протокол. Најчешће ping команда користи се на следећи начин: ping ip адреаса уређаја Ping-овати raspberrypi уређај колега из биномне групе (из терминала са raspberrypi и из Ubuntu терминала).

HTTP & DNS – из прегледника веба (енг. Browser) по вашем избору покренути УРЛ адресу која до сад (претходно) није приступана и ухватити пакете који се односе на HTTP и DNS. За шта служе? Који кораци у комуникацији су уочени при покретању веб адресе? Који сервер се користи за разрешење имена странице у ИП адресу? Која је ИП адреса одабране странице? (од помоћи вам може бити команда sudo tshark -i wlp2s0 -f "src port 53" -n -T fields -e dns.qry.name -e dns.a коју је најпре потребно прилагодити)

TELNET – покретањем команде telnet из Ubuntu терминала и усмеравањем на ваш Carberry уочити размену података. Да ли су подаци криптовани? Како се врши размена? Колико података може да стане у један оквир?Carberry је преко libtelnet-a могуће приступи и из терминала са raspberrypi на следећи начин:./AutoMag/libtelnet/util/telnet-client raspi_ip_addr 7070Које су разлике између два претходно наведена начина приступа.

SSH – приступити вашем Raspberry рачунару преко SSH. Извршите неколико команди. Да ли можете да прочитате команде које се извршавају у пољу Payload ухваћених оквира? Да ли су подаци заштићени?

3 Telnet3.1 Теоријски уводТелнет је мрежни протокол унутар групе интернет протокола. Намена овог протокола је успостављање двосмерног осмобитног комуникационог канала између два умрежена рачунара. Најчешће се користи да осигура кориснику једног рачунара сесију за коришћење командне линије на другом рачунару нпр. за конфигурисање удаљених уређаја. Сам назив протокола потиче од енглеских речи „телефонска мрежа“ (енгл. Telephone Network).

Телнет је развијен још у раним 1970. годинама и представља један од најстаријих протокола слоја апликације. Уобичајено је да се назив „телнет“ поред протокола, још односи и на телнет клијенте (програме) који омогућавају коришћење овог протокола, а исто тако и на сервис који омогућава овај протокол користећи се клијентом. Стога је познат и израз „телнетовати се“ на други рачунар, што означава повезивање на други рачунар користећи овај протокол.

3.2 Употреба: мане и предностиПри успостављању клијент/сервер телнет сесије између два рачунара, или најчешће између рачунара и неког од мрежних уређаја ком је потребно приступити ради подешавања параметара, телнет протокол успоставља комуникациони канал VTY (енгл. Virtual TeletYpe). Иако телнет протокол подржава аутентикацију при успостављању канала, подаци које

Page 11: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

размењују корисници нису заштићени (не постоји шифровање). Што би значило да при пресретању података (коришћењем нпр. Wireshark-a) они могу бити лако протумачени. Недостатак шифровања произилази из чињенице да у тренутку развоја телнета (1969) већина уређаја је припадала приватним мрежама које још нису познавале концепт интернета и самим тим су физичким одвајањем уређаји били обезбеђени од злонамерног приступа. Такође, велика већина телнет имплементација не обезбеђује проверу идентитета корисника и самим тим не спречава напад по принципут човека у средини (енг. man in the middle attack).

У циљу успостављања сигурности комуникације 1995 године је развијен протокол (SSH) (енгл. Secure Shell) као наследник телнет протокола. SSH је донео јако шифровање, проверу идентитета са јавним кључевима. Нека од проширења телнета су ипак донела безбедносне аспекте кроз коришћење Transport Layer Security (TLS) протокола и Simple Authentication and Security Layer (SASL) провере идентитета. Додуше, ова проширења никад нису заживела због малог интереса и подршке развојних инжењера да те ствари додају у постојеће имплементације.

Разлог зашто се телнет још увек користи лежи у његовој једноставности и могућности да пружи лак начин за проверу отворености портова на удаљеним рачунарима. Простом провером да ли сервер дозвољава повезивање преко телнета на одређени порт даје индикацију да је порт отворен иако врло често корисник неће моћи да уради било шта друго и да ће се веза одмах затворити.

Такође, постоји велики број индустријских уређаја и научних прототипова који имају телнет као једину опцију пошто су опскрбљени само са стандардим RS-232 портом и користе серверски хардвер за превођење TCP/Telnet податке у RS-232 серијски формат. Један од таквих уређаја је и Carberry који смо упознали на претходном часу.

3.3 Телнет библиотека отвореног Це кодаПриступ Carberry плочици је између осталог омогућен и преко телнета који приступа серијској конзоли за размену AT (енг. ATtention) порука. Да би се аутоматизовао мукотрпан ручни унос команди нарочито за рутинске послове као што је подешавање комуникационих канала, и успут избегао проблем са грешкама у куцању предлог је да се користи телнет библиотека отвореног кода. Библиотека нуди основну имплементацију телнет стандарда, неколико готових телнет алата (између осталог и клијент) и омогућава слободно мењање изворног кода.

3.3.1 УпотребаКод се налази у фасцикли libtelnet у root делу Raspberry рачунара. Библиотека је искомпајлирана и сви алати су спремни у фасцикли util. Провера телнет клијента се може урадити са позивањем: ./telnet-client raspi_ip_addr 7070

Проверити да ли све команде на Carberry раде као и преко системског телнет клијента.

3.3.2 Задаци Упознати се са изворним кодом телнет клијента, посебно main делом без улажења у

детаље саме реализације телнет стандарда Уочити како и где би се могао проширити код телнет клијента да парсира примљене

поруке и реагује на њих Аутоматизовати вежбу са подешавањем и разменом података преко LIN

комуникационог канала (проћи све модове)

Page 12: Подешавање мрежног жичног ( · Web viewwireshark-cli. Алат нуди све функционалности основног Wireshark јер долази

Укључити Це код за рачунање парности и CRC кода потребног за ручно слање LIN пакета.

Проверити употребом Wireshark-a да се заиста сви подаци могу прочитати из размењених пакета

БОНУС: Студенти који успеју све да заврше могу да наставе даље са интеграцијом wiringPi библиотеке и употребом неког од предложених модула тако да се реализује читање сензорских вредности и слање преко LIN или контрола актуатора или сигналних елемената (нпр. мотора или ледовки) на основу примљених LIN порука.