Как да използвате Wireshark на Windows. Wireshark: класиката на анализа на мрежови пакети Wireshark как да анализира трафика

Wiresharkе анализатор на мрежови пакети. Анализатор на мрежови пакети, който улавя мрежови пакети и се опитва да покаже пакетните данни възможно най-подробно.

Можете да мислите за мрежов снифер за пакети като измервателно устройство, използвано за изследване на това, което се случва вътре в мрежовия кабел, точно както волтметърът се използва от електротехник за изследване на това, което се случва вътре в електрически кабел (но на по-високо ниво, разбира се).

Кой използва WireShark и защо?

Ето някои примери, когато хората използват Wireshark за:

  • Мрежовите администратори го използват за отстраняване на неизправности в мрежата
  • Инженерите по мрежова сигурност го използват за проверки на проблеми със сигурността
  • QA инженерите го използват за проверки на мрежовите приложения
  • Разработчиците го използват за отстраняване на грешки в изпълнението на протокола
  • Хората го използват за проучванедомашни мрежови протоколи

Характеристики и функционалност

Някои от многото функции на Wireshark са изброени по-долу:

Въпреки това, за да оцените наистина неговата сила, трябва да започнете да го използвате. Това ще анализираме в следващите статии.


Wireshark предлага прост, но мощен екранен филтър, който ви позволява да създавате доста сложни филтърни изрази. Можете да сравнявате стойности в пакети и също така можете да комбинирате изрази в по-специфични изрази. По-долу са дадени конкретни примери и […]

SYN пакетите, които се използват при настройката на TCP сесия за ръкостискане, имат допълнителни TCP опции, като: SACK_PERM, TSval, TSecr. Това са всички така наречени високопроизводителни опции, които сега са широко разпространени, тъй като всички […]

Всеки ред в списъка с пакети съответства на един пакет във файла за заснемане. Ако изберете ред в този панел, по-подробна информация ще се покаже в панелите „Информация за партидата“ и „Пакетни пакети“. […]

Wireshark: как да използвате?

Здравейте приятели! В тази статия ще се опитам да обясня и да говоря за най-важните неща, които трябва да знаете, когато използвате Wireshark на Linuxи показват анализ на три типа мрежов трафик. Това ръководство е приложимо и за Wireshark под Windows.

Ако сте нов в информационната сигурност и разбирате много добре какво е снифер (трафик анализатор), съветвам ви да прочетете статията и едва след това да прочетете тази статия за това как да използвате Wireshark.

Много популярен и изключително сръчен анализатор на мрежови протоколи, разработен от Джералд Комбс, Wireshark се появи през юни 2006 г., когато Комбс преименува мрежовия инструмент Ethereal, също създаден от него, тъй като е сменил работата си и вече не може да използва старото име. Днес повечето използват Wireshark, а Ethereal се превърна в история.

Wireshark: най-добрият снифър

Може би се питате с какво Wireshark е различен от другите мрежови анализатори – освен че са безплатни – защо просто не започнем да популяризираме tcpdump за улавяне на пакети?

Основното предимство на Wireshark е, че е графично приложение. Събирането на данни и проверката на мрежовия трафик в потребителския интерфейс е много удобно нещо, тъй като ви позволява да се справяте със сложни мрежови данни.

Как да използвам Wireshark?

За начинаещ да разбере Wireshark, той трябва да разбере мрежовия трафик. В такъв случай целта на тази статия е да ви обясни основите на TCP/IP, за да можете да направите правилните заключения от мрежовия трафик, който анализирате.


TCP пакет и формат IP пакет.

Ако използвате Wireshark като обикновен потребител, няма да можете да използвате мрежовите интерфейси за събиране на данни поради разрешенията за Unix файлове по подразбиране на мрежовите интерфейси. По-удобно е да стартирате Wireshark като root (sudo wireshark), когато събирате данни и като нормален потребител за анализ на данни.

Като алтернатива можете да събирате мрежови данни, като използвате помощната програма на командния ред tcpdump като root и след това да ги анализирате с помощта на Wireshark. Моля, имайте предвид, че събирането на данни с Wireshark в силно натоварена мрежа може да забави компютъра ви или още по-лошо, да ви попречи да събирате нужните ви данни, тъй като Wireshark изисква повече системни ресурси, отколкото програма от командния ред. В такива случаи най-разумното решение за събиране на данни за мрежовия трафик е използването на tcpdump.

Улавяне на мрежови данни с Wireshark

Най-лесният начин да започнете да улавяте мрежови пакетни данни е да изберете интерфейса, от който се нуждаете, след като стартирате Wireshark и щракнете върху Старт. Wireshark ще покаже мрежови данни на екрана ви въз основа на вашия мрежов трафик. Моля, имайте предвид, че може да бъде избран повече от един интерфейс. Ако не знаете нищо за TCP, IP или други протоколи, може да откриете, че резултатът е труден за четене и разбиране.

За да спрете процеса на заснемане, изберете Capture > Stop от менюто. Като алтернатива можете да щракнете върху четвъртата икона отляво, с червения квадрат (той е съкращение от „Спри заснемането на данни на живо“) в главната лента с инструменти (имайте предвид, че точното й местоположение зависи от версията на Wireshark, която имате). Този бутон може да се щракне само по време на събиране на мрежови данни.

Когато използвате описания метод за улавяне на данни, не можете да промените опциите за заснемане по подразбиране, конфигурирани в Wireshark. Можете да прегледате и промените Опции за заснемане, като изберете Снимане > Опции от менюто. Тук можете да изберете мрежовия(и) интерфейс(и), да видите своя IP адрес, да приложите филтри за събиране на данни, да настроите мрежовата си карта да приема всички мрежови пакети и да запишете събраните данни в един или повече файлове. Можете дори да му кажете да спре да улавя пакети, когато достигне определен брой мрежови пакети, или определено количество време, или определено количество данни (в байтове).

По подразбиране Wireshark не запазва събраните данни, но винаги можете да ги запазите по-късно. Обикновено се счита за най-добра практика първо да съхранявате и след това да проверявате мрежовите пакети, освен ако нямате специална причина да направите друго.

Wireshark ви позволява да четете и анализирате вече събрани мрежови данни от голям брой файлови формати, включително tcpdump, libpcap, Sun's snoop, nettl на HP, текстови файлове K12 и др. Накратко, Wireshark може да чете почти всеки формат на събрани мрежови данни. По същия начин Wireshark ви позволява да запазвате събраните данни в различни формати. Можете дори да използвате Wireshark, за да конвертирате файл от един формат в друг.

Можете също да експортирате съществуващ файл като обикновен текстов файл от менюто Файл. Тази опция е основно за ръчна обработка на мрежови данни или въвеждането им в друга програма.

Има опция за отпечатване на вашите пакети. Никога не съм го използвал в реалния живот, но за образователни цели може да бъде много полезно да отпечатате пакети и пълното им съдържание.

Дисплейни филтри на Wireshark

Ако филтрите за улавяне се прилагат по време на мрежовото заснемане, тогава Wireshark игнорира мрежовия трафик, който не съответства на филтъра; докато филтрите за показване се прилагат след заснемане на данните и „скриват“ мрежовия трафик, без да го премахват. Винаги можете да изключите филтъра за показване и да получите обратно скритите си данни.

По принцип филтрите за показване се считат за по-полезни и гъвкави от филтрите за събиране на данни, защото едва ли знаете предварително каква информация ще съберете или изберете да проучите. Въпреки това, използването на филтри при заснемане на данни ви спестява време и дисково пространство, което е основната причина за използването им.

Wireshark подчертава синтактично правилен филтър със светлозелен фон. Ако синтаксисът съдържа грешки, фонът става розов.

Филтрите за показване поддържат сравнение и логически оператори. http.response.code филтър за показване


Три пакета (SYN, SYN+ACK и ACK) от настройка на трипосочна TCP връзка

404 && ip.addr == 192.168.1.1 показва трафик, който идва или от IP адреса 192.168.1.1, или отива към IP адреса 192.168.1.1, който също има 404 (Не е намерен) HTTP код за отговор в него. Филтърът!boo1p &&!ip &&!arp изключва BOOTP, IP и ARP трафик от резултата. Filter eth.addr == 01:23:45:67:89:ab && tcp.port == 25 показва трафик от или към мрежово устройство с MAC адрес 01:23:45:67:89:ab, който използва при входящи и изходящи връзки, TCP порт номер 25.

Не забравяйте, че филтрите на дисплея не решават магически проблеми. Когато се използват правилно, това са изключително полезни инструменти, но все пак трябва сами да интерпретирате резултатите, да намерите проблема и да измислите подходящо решение.

Статията продължава на следващата страница. За да отидете на следващата страница, кликнете върху бутона 2, който се намира под бутоните на социалните мрежи.

Wireshark е мощен мрежов анализатор, който може да се използва за анализ на трафика, преминаващ през мрежовия интерфейс на вашия компютър. Може да ви е необходим за откриване и решаване на мрежови проблеми, отстраняване на грешки във вашите уеб приложения, мрежови програми или сайтове. Wireshark ви позволява да видите напълно съдържанието на пакета на всички нива: така че можете да разберете по-добре как работи мрежата на ниско ниво.

Всички пакети се улавят в реално време и се предоставят в лесен за четене формат. Програмата поддържа много мощна система за филтриране, подчертаване на цветовете и други функции, които ще ви помогнат да намерите нужните пакети. В този урок ще разгледаме как да използваме Wireshark за анализиране на трафика. Наскоро разработчиците преминаха към работа по втория клон на програмата Wireshark 2.0, в нея бяха направени много промени и подобрения, особено за интерфейса. Това е, което ще използваме в тази статия.

Преди да продължите да разглеждате начините за анализ на трафика, трябва да разгледате какви функции поддържа програмата по-подробно, с какви протоколи може да работи и какво да прави. Ето основните характеристики на програмата:

  • Улавяне на пакети в реално време от кабелни или всякакъв друг тип мрежови интерфейси, както и четене от файл;
  • Поддържат се следните интерфейси за улавяне: Ethernet, IEEE 802.11, PPP и локални виртуални интерфейси;
  • Пакетите могат да бъдат филтрирани по различни параметри с помощта на филтри;
  • Всички известни протоколи са подчертани в списъка в различни цветове, като TCP, HTTP, FTP, DNS, ICMP и т.н.;
  • Поддръжка за улавяне на трафик от VoIP разговори;
  • Поддържа се декриптиране на HTTPS трафик при наличие на сертификат;
  • Декриптиране на WEP-, WPA-трафик на безжични мрежи при наличие на ключ и ръкостискане;
  • Показване на статистически данни за натоварването на мрежата;
  • Преглед на съдържанието на пакетите за всички мрежови слоеве;
  • Показва времето на изпращане и получаване на пакети.

Програмата има много други функции, но това бяха основните, които може да ви заинтересуват.

Как да използвате Wireshark

Предполагам, че вече имате инсталирана програмата, но ако не, можете да я инсталирате от официалните хранилища. За да направите това, въведете командата в Ubuntu:

sudo apt инсталирайте wireshark

След инсталацията можете да намерите програмата в главното меню на дистрибуцията. Трябва да стартирате Wireshark с права на суперпотребител, защото в противен случай той няма да може да анализира мрежови пакети. Това може да стане от главното меню или чрез терминала с помощта на командата за KDE:

И за Gnome/Unity:

Основният прозорец на програмата е разделен на три части: първата колона съдържа списък с мрежови интерфейси, достъпни за анализ, втората - опции за отваряне на файлове, а третата - помощ.

Анализ на мрежовия трафик

За да започнете анализа, изберете мрежовия интерфейс, например eth0, и щракнете върху бутона започнете.

След това ще се отвори следващият прозорец, вече с поток от пакети, които преминават през интерфейса. Този прозорец също е разделен на няколко части:

  • Горна част- това са менюта и панели с различни бутони;
  • Списък с пакети- по-нататък се показва потокът от мрежови пакети, които ще анализирате;
  • Съдържание на пакета- точно под съдържанието на избрания пакет се намира, той е разделен на категории в зависимост от транспортното ниво;
  • Истинско изпълнение- най-отдолу съдържанието на пакета се показва в реална форма, както и под формата на HEX.

Можете да щракнете върху всеки пакет, за да анализирате съдържанието му:

Тук виждаме DNS пакет от заявка за получаване на IP адреса на сайта, в самата заявка се изпраща домейнът, а в пакета с отговор получаваме нашия въпрос, както и отговора.

За по-удобно разглеждане можете да отворите пакета в нов прозорец, като щракнете двукратно върху записа:

Филтри на Wireshark

Много е неудобно да сортирате пакетите ръчно, за да намерите тези, от които се нуждаете, особено при активен поток. Следователно за такава задача е по-добре да използвате филтри. Под менюто има специален ред за въвеждане на филтри. можете да щракнете изразяванеза да отворите конструктора на филтри, но има много от тях, така че ще покрием най-основните:

  • ip.dst- целеви IP адрес;
  • ip.src- IP-адрес на подателя;
  • ip.addr- IP на подателя или получателя;
  • ip.proto- протокол;
  • tcp.dstport- пристанище на местоназначение;
  • tcp.srcport- порт на подателя;
  • ip.ttl- филтър по ttl, определя разстоянието на мрежата;
  • http.request_uri- искания адрес на сайта.

Можете да използвате следните оператори, за да посочите връзката между поле и стойност във филтър:

  • == - равно на;
  • != - не е равно;
  • < - по-малко;
  • > - Повече ▼;
  • <= - по-малко или равно;
  • >= - повече или равно;
  • мачове- регулярен израз;
  • съдържа- съдържа.

За да комбинирате няколко израза, можете да използвате:

  • && - и двата израза трябва да са верни за пакета;
  • || - един от изразите може да е верен.

Сега нека да разгледаме по-отблизо примери за няколко филтъра и да се опитаме да разберем всички признаци на отношения.

Първо, нека филтрираме всички пакети, изпратени до 194.67.215.. Въведете низ в полето за филтриране и щракнете Приложи. За удобство филтрите на Wireshark могат да бъдат запазени с помощта на бутона Запазете:

ip.dst == 194.67.215.125

И за да получите не само изпратени пакети, но и получени в отговор от този възел, можете да комбинирате две условия:

ip.dst == 194.67.215.125 || ip.src == 194.67.215.125

Можем също да изберем прехвърлени големи файлове:

http.content_length > 5000

Чрез филтриране на Content-Type, можем да изберем всички снимки, които са били качени; нека анализираме трафика на Wireshark, пакети, които съдържат думата image:

http.content_type съдържа изображение

За да изчистите филтъра, можете да щракнете върху бутона Ясно. Случва се, че не винаги знаете цялата информация, необходима за филтриране, а просто искате да проучите мрежата. Можете да добавите всяко поле за пакет като колона и да видите съдържанието му в общия прозорец за всеки пакет.

Например, искам да покажа ttl (време на живот) на пакет като колона. За да направите това, отворете информацията за пакета, намерете това поле в секцията IP. След това извикайте контекстното меню и изберете опцията Прилагане като колона:

По същия начин можете да създадете филтър въз основа на всяко желано поле. Изберете го и извикайте контекстното меню, след което щракнете Приложете като филтърили Пригответе като филтър, след това изберете избран,за показване само на избрани стойности, или Не е избраноза да ги премахнете:

Посоченото поле и неговата стойност ще бъдат приложени или, във втория случай, заместени в полето за филтриране:

По този начин можете да добавите поле от всеки пакет или колона към филтъра. Има и тази опция в контекстното меню. Можете също да използвате по-прости условия за филтриране на протоколи. Например, нека анализираме трафика на Wireshark за HTTP и DNS протоколи:

Друга интересна характеристика на програмата е използването на Wireshark за проследяване на конкретна сесия между компютъра на потребителя и сървъра. За да направите това, отворете контекстното меню за пакета и изберете Следвайте TCP потока.

След това ще се отвори прозорец, в който ще намерите всички данни, прехвърлени между сървъра и клиента:

Диагностициране на проблеми с Wireshark

Може би се чудите как да използвате Wireshark 2.0 за откриване на мрежови проблеми. За да направите това, в долния ляв ъгъл на прозореца има кръгъл бутон, когато щракнете върху него, се отваря прозорец Експертни инструменти. В него Wireshark събира всички съобщения за грешки и грешки в мрежата:

Прозорецът е разделен на раздели като Грешки, Предупреждения, Известия, Чатове. Програмата може да филтрира и намира много мрежови проблеми, като тук можете да ги видите много бързо. Филтрите на Wireshark също се поддържат тук.

Анализ на трафика на Wireshark

Можете много лесно да разберете какво точно потребителите са изтеглили и какви файлове са гледали, ако връзката не е била криптирана. Програмата се справя много добре с извличането на съдържание.

За да направите това, първо трябва да спрете да улавяте трафик, като използвате червения квадрат на панела. След това отворете менюто файл -> Експортиране на обекти -> http:

Въведение

При работата на компютърна мрежа и мрежовия стек от възли понякога възникват проблеми, причините за които са трудни за откриване от добре познати помощни програми за събиране на статистически данни (като netstat) и стандартни приложения, базирани на ICMP протокола (ping, traceroute /tracert и др.). В такива случаи, за да се диагностицират проблеми, често е необходимо да се използват по-специфични инструменти, които ви позволяват да показвате (слушате) мрежов трафик и да го анализирате на нивото на предавателните единици на отделните протоколи ( "смъркане", смъркане).

Анализатори на мрежови протоколиили "смъркачи"са изключително полезни инструменти за изследване на поведението на мрежовите възли и идентифициране на мрежови проблеми. Разбира се, като всеки инструмент, като остър нож, нюхачът може да бъде както благодат в ръцете на системен администратор или инженер по информационна сигурност, така и оръжие за престъпление в ръцете на компютърен нападател.

Такъв специализиран софтуер обикновено се използва "promiscuos" режим на работа на мрежовия адаптермониториране на компютъра (по-специално, за прихващане на трафик на мрежов сегмент, комутатор порт или рутер). Както знаете, същността на този режим е към обработката на всички кадри, идващи в интерфейса, а не само тези, предназначени за MAC адреса на мрежовата карта и излъчване, както е в нормален режим.

Продукт, обхванат в тази статия Wiresharkе добре познат инструмент за прихващане и интерактивен анализ на мрежовия трафик, всъщност стандарт в индустрията и образованието. ДА СЕ ключови характеристики на Wiresharkвключват: мултиплатформен (Windows, Linux, Mac OS, FreeBSD, Solaris и др.); способността да се анализират стотици различни протоколи; поддръжка както на графичния режим на работа, така и на интерфейса на командния ред (помощна програма tshark); мощна система от филтри за трафик; експортиране на работни резултати в XML, PostScript, CSV формати и др.

Друг важен факт е, че Wireshark е софтуер с отворен код, разпространява се под лиценза GNU GPLv2т.е. вие сте свободни да използвате този продукт, както желаете.

Инсталиране на Wireshark

Най-новата версия на Wireshark за операционни системи Windows и OS X, както и изходния код, може да бъде изтегляне от уебсайта на проекта. За Linux дистрибуции и BSD системи този продукт обикновено се предлага в стандартни или допълнителни хранилища. Екранните снимки, публикувани в тази статия, са от версия 1.6.2 на Wireshark за Windows. По-ранните версии на програмата, които могат да бъдат намерени в хранилищата на Unix-подобни операционни системи, също могат да се използват успешно, тъй като Wireshark отдавна е стабилен и функционален продукт.

Wireshark е базиран на библиотеката Pcap (Packet Capture)., който е интерфейс за програмиране на приложения за изпълнение на функции от ниско ниво за взаимодействие с мрежови интерфейси (по-специално, прихващане и генериране на произволни предавателни единици на мрежови протоколи и протоколи за локална мрежа). Библиотеката на Pcap също е основа за добре познати мрежови инструменти като tcpdump, snort, nmap, kismet и др. За Unix-подобни системи Pcap обикновено присъства в стандартните софтуерни хранилища. За семейството на операционните системи Windows има версия на Pcap, наречена Winpcap. То може изтегляне от уебсайта на проекта. Това обаче обикновено не е необходимо, тъй като библиотеката Winpcap е включена в инсталационния пакет на Wireshark за Windows.

Процесът на инсталиране на програмата не е труден за никоя операционна система, съобразена, разбира се, със спецификата на използваната от вас платформа. Например, Wireshark в Debian/Ubuntu е инсталиран, така че непривилегированите потребители нямат право да прихващат пакети по подразбиране, така че програмата трябва да се стартира с помощта на механизма за промяна на потребителския идентификатор sudo (или да извърши необходимите манипулации според стандартната документация на пакета DEB) .

Основи на работата с Wireshark

Потребителският интерфейс на Wireshark е изграден върху библиотеката GTK+(GIMP Toolkit). Основният прозорец на програмата включва следните елементи: меню, ленти с инструменти и филтри за преглед, списък с пакети, подробно описание на избрания пакет, показване на пакетни байтове (в шестнадесетична форма и като текст) и лента на състоянието:

Трябва да се отбележи, че потребителският интерфейс на програмата е добре проектиран, доста ергономичен и доста интуитивен, което позволява на потребителя да се концентрира върху изучаването на мрежовите процеси, без да се разсейва от дреболии. В допълнение, всички функции и подробности за използването на Wireshark са описани подробно в ръководство за употреба. Следователно тази статия се фокусира върху функционалността на въпросния продукт, неговите характеристики в сравнение с други снифери, например с добре познатата конзолна помощна програма tcpdump.

И така, ергономията на Wireshark отразява многопластов подход за осигуряване на мрежови взаимодействия. Всичко е направено по такъв начин, че чрез избиране на мрежов пакет от списъка, потребителят получава възможност да види всички заглавки (слоеве), както и стойностите на полетата на всеки слой от мрежовия пакет, започвайки от обвивката - Ethernet рамката, самият IP хедър, заглавката на транспортния слой и данните на приложението.протоколи, съдържащи се в пакета.

Първоначалните данни за обработка могат да бъдат получени от Wireshark в реално време или импортирани от файл с дъмп на мрежовия трафик, а няколко дъмпа за задачи за анализ могат да бъдат комбинирани в едно в движение.

Проблемът с търсенето на необходимите пакети в големи обеми прихванат трафик е решен два вида филтри: събиране на трафик (филтри за улавяне)И неговият филтри на дисплея. Филтрите за колекция на Wireshark са базирани на филтърния език на библиотеката Pcap, т.е. синтаксисът в този случай е подобен на този на помощната програма tcpdump. Филтърът е поредица от примитиви, комбинирани, ако е необходимо, с логически функции (и, или, не). Често използвани филтри могат да бъдат запазени профил за многократна употреба.

Фигурата показва профила на филтрите за колекция на Wireshark:

Анализаторът на мрежови пакети Wireshark също има своя прост, но пълен с функции език на филтъра на дисплея. Стойността на всяко поле в заглавката на пакета може да се използва като критерий за филтриране(например, ip.src е IP адресът на източника в мрежовия пакет, frame.len е дължината на Ethernet рамката и т.н.). Използвайки операции за сравнение, стойностите на полета могат да бъдат сравнени с дадени стойности(напр. frame.len и комбинирайте няколко израза с логически оператори (например: ip.src==10.0.0.5 и tcp.flags.fin). Добър помощник в процеса на конструиране на изрази е прозорец за настройка на правилата за показване (израз на филтъра):

Инструменти за анализ на мрежови пакети

Ако протоколите без връзка могат да бъдат изследвани чрез просто разглеждане на отделни пакети и изчисляване на статистика, тогава изучаването на работата на протоколите, ориентирани към свързване, е значително опростено поради наличието на допълнителни възможности за анализиране на хода на мрежовите взаимодействия.

Една от полезните функции на Wireshark е артикулът „Следвайте TCP потока“(буквално „Следвайте TCP поток“) Подменю „Анализ“ за извличане на данни от протокола на приложението от TCP сегментите на потока, към който принадлежи избраният пакет:

Друг интересен елемент в подменюто за анализ е "Състав за експертна информация", който извиква прозореца на вградената експертна система Wireshark, която ще се опитва да открива грешки и забележки в пакети, автоматично извлича отделни връзки от дъмпа и ги характеризира. Този модул е ​​в процес на разработка и се подобрява от версия на версия на програмата.

В подменюто статистика "Статистика"събрани опции, които ви позволяват да изчислявате всички видове статистически характеристики на изследвания трафик, да изграждате графики на интензивността на мрежовите потоци, да анализирате времето за реакция на услугите и др. Да, точка "Йерархия на протокола"показва статистика под формата на йерархичен списък с протоколи, указващ процента от общия трафик, броя на пакетите и байтовете, предадени от този протокол.

Функция крайна точкадава многостепенна статистика за входящия/изходящия трафик на всеки възел. Параграф "разговори"(буквално „разговори“) ви позволява да определите количеството трафик на различни протоколи (канален, мрежов и транспортен слой на модела на взаимодействие на отворените системи), предаван между взаимодействащи възли. Функция "Дължини на пакета"показва разпределението на пакетите по тяхната дължина.

Параграф Графика на потока...представя пакетни потоци в графична форма. В същото време, когато изберете елемент от диаграмата, съответният пакет става активен в списъка в главния прозорец на програмата:

Отделно подменю в последните версии на Wireshark е запазено за IP телефония. В подменюто "Инструменти" има елемент Правила за ACL на защитната стена, ще се опита да създаде правило за защитна стена за избрания пакет (версия 1.6.x поддържа форматите Cisco IOS, IP Filter, IPFirewall, Netfilter, Packet Filter и Windows Firewall).

Програмата има и вграден олекотен интерпретатор. Език за програмиране Lua. Използвайки Lua, можете да създадете свои собствени "декодери" на протоколи и манипулатори на събития в Wireshark.

Вместо заключение

Анализаторът на мрежови пакети Wireshark е пример за продукт с отворен код, който е успешен както в платформата Unix/Linux, така и популярен сред потребителите на Windows и Mac OS X. Разбира се, освен Wireshark, има тежки сложни интелигентни решения в областта на анализ на мрежовия трафик, чиято функционалност е много по-широка. Но те, първо, струват много пари, и второ, те са трудни за овладяване и експлоатация; трето, трябва да разберете, че не всичко може да бъде автоматизирано и нито една експертна система не може да замени добрия специалист. Така че, ако сте изправени пред задачи, които изискват анализ на мрежовия трафик, тогава Wireshark е инструментът за вас. И феновете на командния ред могат да използват помощната програма tshark - конзолна версия на Wireshark.

Понякога при използване на интернет възникват ситуации, при които възникват течове на трафик или непредвидена консумация на системни ресурси. За бързо анализиране и намиране на източника на проблема използвайте специални мрежови инструменти. Един от тях, WireShark, ще бъде разгледан в статията.

Главна информация

Преди да използвате WireShark, трябва да се запознаете с неговия обхват, функционалност и възможности. Накратко: програмата ви позволява да прихващате пакети в реално време в кабелни и безжични мрежови връзки. Използва се в Ethernet, IEEE 802.11, PPP и подобни протоколи. Можете също да използвате прихващането на трафик на VoIP разговори.

Програмата се разпространява под лиценза GNU GPL, което означава безплатна и отворен код. Можете да го стартирате на много Linux дистрибуции, MacOS, а има и версия за операционната система Windows.

Как да използвам WireShark?

Първо, първо трябва да го инсталирате в системата. Тъй като една от най-често използваните Linux дистрибуции е Ubuntu, тогава всички примери ще бъдат показани в нея.

За да инсталирате, просто въведете следната команда в конзолата:

sudo apt-get install wireshark

След това програмата ще се появи в главното меню. Можете да го стартирате от там. Но е по-добре да го направите от терминала, тъй като тя се нуждае от права на суперпотребител. Това може да стане по следния начин:

Външен вид

Програмата има удобен за потребителя графичен интерфейс. Пред потребителя ще се появи удобен прозорец, разделен на 3 части. Първият е пряко свързан със заснемането, вторият е свързан с отварянето на файлове и проби, а третият е помощ и поддръжка.

Блокът Capture съдържа списък с мрежови интерфейси, налични за заснемане. Когато изберете например eth0 и натиснете бутона Старт, процесът на прихващане ще започне.

Прозорецът с прихванати данни също е логически разделен на няколко части. В горната част има контролен панел с различни елементи. Следва списък с пакети. Представен е под формата на таблица. Тук можете да видите серийния номер на пакета, времето на неговото прихващане, адреса на заминаване и получаване. Можете също да премахнете данни за използваните протоколи, дължина и друга полезна информация.

Под списъка има прозорец със съдържанието на техническите данни на избрания пакет. И още по-ниско има дисплей в шестнадесетична форма.

Всеки изглед може да бъде увеличен в голям прозорец за по-лесно четене на данните.

Прилагане на филтри

В хода на работата на програмата десетки или дори стотици пакети винаги ще се изпълняват пред потребителя. Плевенето им на ръка е доста трудно и отнема много време. Следователно официалната инструкция на WireShark препоръчва използването на филтри.

За тях има специално поле в прозореца на програмата - Филтър. За по-точно конфигуриране на филтъра има бутон Expression.

Но в повечето случаи ще бъде достатъчен стандартен набор от филтри:

  • ip.dst - IP адрес на дестинацията на пакета;
  • ip.src - адрес на изпращача;
  • ip.addr - всеки IP адрес;
  • ip.proto - протокол.

Използване на филтри в WireShark - инструкции

За да опитате как програмата работи с филтрите, трябва да въведете конкретна команда. Например, такъв набор - ip.dst == 172.217.23.131 - ще покаже всички летящи пакети към сайта на Google. За да видите целия трафик - както входящи, така и изходящи - можете да комбинирате две формули - ip.dst == 172.217.23.131 || ip.src == 172.217.23.131. Така се оказа, че се използват две условия наведнъж в един ред.

Можете да използвате други условия, като ip.ttl< 10. Данная команда выведет все пакеты с длительностью жизни меньше 10. Чтобы выбрать данные по их размеру, можно применить такой подход — http.content_length > 5000.

Допълнителни функции

За удобство WireShark има начин бързо да избира параметрите на пакета като анализирано поле. Например в поле с технически данни можете да щракнете с десния бутон върху желания обект и да изберете Приложи като колона. Какво означава пренасянето му в полето като колона.

По същия начин можете да изберете всеки параметър като филтър. За да направите това, контекстното меню съдържа елемента Приложи като филтър.

Отделна сесия

Можете да използвате WireShark като монитор между два мрежови възела, например потребител и сървър. За да направите това, изберете пакета, който ви интересува, извикайте контекстното меню и щракнете върху Follow TCP Stream. Нов прозорец ще покаже целия дневник за обмен между двата възела.

Диагностика

WireShark има отделен инструмент за анализиране на мрежови проблеми. Нарича се експертни инструменти. Можете да го намерите в долния ляв ъгъл, под формата на кръгла икона. При щракване върху него ще се отвори нов прозорец с няколко раздела – Грешки, Предупреждения и други. С тяхна помощ можете да анализирате кои възли се провалят, пакетите не достигат и да откривате други проблеми с мрежата.

Гласов трафик

Както вече споменахме, WireShark може също да прихваща гласов трафик. Има цяло меню на Телефония, посветено на това. Това може да се използва за намиране на проблеми във VoIP и бързото им разрешаване.

Елементът VoIP Calls в менюто Телефония ще ви позволи да видите направените повиквания и да ги слушате.

Експортиране на обекти

Това е може би най-интересната функция на програмата. Позволява ви да използвате WireShark като прехващач за файлове, които се предават по мрежата. За да направите това, трябва да спрете процеса на прихващане и да експортирате HTTP обекти в менюто Файл. В прозореца, който се отваря, ще бъде представен списък с всички файлове, прехвърлени по време на сесията, които могат да бъдат запазени на удобно място.

Най-накрая

За съжаление ще бъде трудно да се намери текущата версия на WireShark на руски език в мрежата. Най-достъпният и често използван е на английски.

Ситуацията е и с подробни инструкции за WireShark на руски език. Официалното от разработчика е представено на английски език. Има много малки и кратки уроци на WireShark за начинаещи в мрежата.

Въпреки това, за тези, които работят в ИТ сферата от дълго време, справянето с програмата няма да представлява особени трудности. А страхотните възможности и богатата функционалност ще озарят всички трудности в ученето.

Струва си да се отбележи, че в някои страни използването на снифер, който е WireShark, може да е незаконно.