Wireshark: Анализ на трафика за Linux и Windows. Wireshark познат, какво има в тази програма! Анализиране на пакети с wireshark

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

Въведение

От всички методи за изучаване на компютърни мрежи анализът на трафика е може би най-старият и отнема много време. Интензивните потоци от съвременни мрежи генерират много "суров" материал, в който далеч не е лесно да се намерят зърна полезна информация. По време на своето съществуване TCP / IP стекът е обрасъл с множество приложения и добавки, чийто брой достига стотици и хиляди. Това са протоколи за приложения и услуги, протоколи за удостоверяване, тунелиране, достъп до мрежата и т.н. В допълнение към познаването на основите на мрежовите взаимодействия, изследователят на трафика (тоест вие) трябва да бъде свободен да навигира в цялото това разнообразие от протоколи и да може да работи със специфични софтуерни инструменти - снифери или, научно, анализатори на трафик (протоколи ).

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

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

Запознаване с филтрите

Wireshark поддържа два вида филтри:

  • прихващане на трафик (филтри за улавяне);
  • филтри на дисплея.

Първата подсистема беше наследена от Wireshark от библиотеката Pcap, която предоставя API на ниско ниво за работа с мрежови интерфейси. Вземането на проби от трафика в движение по време на прихващане спестява RAM и място на твърдия диск. Филтърът е израз, състоящ се от група примитиви, по избор комбинирани с логически функции (и, или, не). Този израз се записва в полето Capture Filter на диалоговия прозорец Capture options. Най-използваните филтри могат да бъдат записани в профил за повторна употреба (фиг. 1).

Ориз. 1. Профил на филтрите за прихващане

Езикът на филтъра за прихващане е стандартен в света с отворен код и се използва от много продукти, базирани на Pcap (например помощната програма tcpdump или системата за откриване/предотвратяване на проникване Snort). Следователно няма смисъл да описваме синтаксиса тук, тъй като най-вероятно сте запознати с него. И подробностите могат да бъдат намерени в документацията, например на Linux страницата на ръководството на pcap-filter (7).

Филтрите на дисплея работят с вече прихванат трафик и са естествени за Wireshark. Разлики от Pcap - във формата на запис (по-специално, точка се използва като разделител на полето); също така е добавена английска нотация за операции за сравнение и поддръжка за поднизове.

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


Отляво (Име на полето) е азбучно дърво на полетата за съобщения на протоколите, известни на Wireshark. За това поле можете да посочите логически оператор (Релация), да въведете стойност (Стойност), да посочите диапазон (Обхват) или да изберете стойност от списъка (Предварително дефинирана стойност). Като цяло, пълна мрежова енциклопедия в един прозорец.

Ето логическите оператори, използвани във филтрите за показване:

  • и (&&) - "И";
  • или (||) - "ИЛИ";
  • xor (^^) - изключително "ИЛИ";
  • не (!) - отрицание;
  • [...] - избор на подниз. # Чрез филтриране по MAC адреса на вашия мрежов адаптер, ние изключваме целия локален трафик не (eth.addr eq aa: bb: cc: 22: 33: 44) # Измийте целия "шум от услугите", за да се концентрирате върху трафика на интерес! (Arp или icmp или dns)

Що се отнася до избора на подниз, това не е съвсем логична операция, но е много полезна опция. Позволява ви да получите определена част от последователността. Например, по този начин можете да използвате първите (първото число в квадратни скоби е отместването) три байта (числото след двоеточие е дължината на подпоследователността) от полето за MAC адрес на източника:

Eth.src == 00:19:5b

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

Между другото, удобно е да използвате извличане на подниз за откриване на злонамерен софтуер, ако последователността от байтове след заглавката е известна (например "0x90, 0x90, 0x90, 0x04" в UDP пакет):

Udp == 90: 90: 90: 04

Операции за сравнение, използвани в булеви изрази:

  • eq (==) - равен;
  • ne (! =) - не е равно;
  • gt (>) - повече;
  • lt (<) - меньше;
  • ge (> =) - повече или равно;
  • ле (<=) - меньше или равно.tcp.dstport ne 8080 && tcp.len gt 0 && data eq A0

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

PCap филтър за откриване на сканиране на Netbios портове

dst порт 135 или dst порт 445 или dst порт 1433 и tcp & (tcp-syn)! = 0 и tcp & (tcp-ack) = 0 и src net 192.168.56.0/24

Търся похитител на IP

В сегмент на локална мрежа има (по една или друга причина) съвпадения на IP адреси за два или повече възли. Методът за "улавяне" (определяне на MAC адреси) на конфликтни системи е добре известен: стартираме снифер на третия компютър, изчистваме кеша на ARP и стимулираме заявка за разрешаване на MAC на желания IP, например чрез ping :

# arp -d 192.168.56.5 # ping -n -c 1 192.168.56.5

И след това гледаме в прихванатия трафик, от който MAC са дошли отговорите. Ако Wireshark е уловил твърде много пакети, използвайте конструктора, за да създадете филтър за показване. В първата част на израза избираме ARP отговорите, във втората онези съобщения, в които IP адресът на източника е равен на желания. Комбинираме примитивите с оператора &&, тъй като е необходимо и двете условия да са изпълнени едновременно:

(arp.opcode == отговор) && (arp.src.proto_ipv4 == 192.168.56.5)

Между другото, нито една компютърна мрежа не беше засегната в този сценарий, тъй като бяха използвани две виртуални машини Oracle VirtualBox и мрежова връзка на Virtual Host Adapter.

Проверяваме мрежата и транспортните слоеве

Досега ICMP протоколът остава доста ефективен инструмент за диагностициране на мрежовия стек. Съобщенията от този протокол могат да предоставят ценна информация за мрежови проблеми.

Както може би се досещате, филтрирането на ICMP в Wireshark е много лесно. Достатъчно е да напишете в реда за филтриране в главния прозорец на програмата: icmp. В допълнение към icmp работят много други ключови думи, които са имена на протоколи, например arp, ip, tcp, udp, snmp, smb, http, ftp, ssh и други.

Ако има много ICMP трафик, тогава съпоставянето може да бъде подробно, като се изключат, например, ехо заявки (тип 0) и ехо отговори (тип 8):

Icmp и ((icmp.type ne 0) и (icmp.type ne 8))

На фиг. Фигура 4 показва пример за малка извадка от ICMP съобщения, генерирани от тестов Linux рутер. Съобщението „Порт недостижим“ обикновено е по подразбиране. Той също така се генерира от мрежовия стек, когато получи UDP дейтаграма на неизползван порт. За да може виртуалният рутер, базиран на Debian, да започне да изпраща съобщения „Хостът е недостижим“ и „Комуникацията е административно филтрирана“, трябваше да се поправя с него. Cisco информира за административно филтриране обикновено по подразбиране. Съобщението „Времето на живот е превишено“ показва наличието на цикъл в някаква част от мрежата (е, такива пакети могат да се появят и при проследяване на маршрута).

Между другото, за защитните стени. Можете да създавате правила за популярни защитни стени направо в Wireshark, като използвате елемента Правила за ACL на защитната стена в менюто Инструменти. Първо, трябва да изберете пакет от списъка, информацията за който ще се използва. Налични са стандартни и разширени ACL на Cisco, UNIX-подобни правила за IP филтър, IPFirewall (ipfw), Netfilter (iptables), филтър за пакети (pf) и защитна стена на Windows (netsh).

И сега, накратко за основите на филтрирането на мрежово ниво, което се основава на полетата на заглавката на IP пакета - адреса на подателя (ip.src) и адреса на получателя (ip.dst):

(ip.src == 192.168.56.6) || (ip.dst == 192.168.56.6)

Така ще видим всички пакети, които дадения IP адрес е получил или изпратил. Можете да филтрирате цели подмрежи, като използвате CIDR нотацията за записа на маската. Например, нека идентифицираме заразен хост, който изпраща спам (тук 192.168.56.251 е IP адресът на нашия SMTP сървър):

Ip.src == 192.168.56.0/24 и tcp.dstport == 25 и! (Ip.dst == 192.168.56.251)

Между другото, примитивите eth.src, eth.dst и eth.addr трябва да се използват за извличане от MAC адреси. Понякога проблемите на мрежовия слой са много по-тясно свързани с Ethernet слоя, отколкото предполага теорията. По-специално, когато настройвате маршрутизиране, може да бъде много полезно да погледнете MAC адреса на рутера към който упоритият възел изпраща пакети. За такава проста задача обаче е достатъчна помощната програма tcpdump, която е почти стандартна за UNIX-подобни системи.

Wireshark също няма въпроси относно филтрирането на портове. За TCP ключовите думи tcp.srcport, tcp.dstport и tcp.port са на ваше разположение, за UDP - udp.srcport, udp.dstport и udp.port. Вярно е, че вграденият език за филтриране на Wireshark няма аналог на примитивния порт в Pcap, който обозначава както UDP, така и TCP портовете. Но това може лесно да се коригира с булев израз, например:

Tcp.port == 53 || udp.port == 53

Импровизиране с HTTP трафик

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

Първо, нека съберем малко уеб трафик, като посетим първия сайт, който дойде на ум. Сега нека погледнем в съобщенията на протокола TCP, който служи като транспорт за HTTP, за препратки към нашия любим интернет ресурс:

Tcp съдържа "сайт"

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


Прозорецът "Изрази за филтриране" е, разбира се, добър помощник, но понякога прелистването на дълъг списък в търсене на необходимото поле е доста досадно. Има по-лесен начин за създаване/промяна на филтри за показване: използване на контекстното меню, когато преглеждате пакети. За да направите това, просто трябва да щракнете с десния бутон върху полето, което ви интересува, и да изберете един от поделементите на елемента Приложи като филтър или елемента Подгответе филтър. В първия случай промените ще влязат в сила незабавно, а във втория ще бъде възможно да се коригира изразът. „Избрано“ означава, че стойността на полето ще стане нов филтър, „Не е избрано“ – същото, само с отрицание. Клаузите, започващи с "...", добавят стойността на полето към съществуващия израз, подчинен на булеви оператори.

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

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

(http.host eq "www..request.uri съдържа" .jpg # 26759185 ") или (http.request.uri съдържа" .png # 26759185 "))

Същото, но използвайки съвпадения:

(http.host eq "www..request.uri съвпада" .jpg | .png # 26759185 ")

Разбира се, полета за съобщения от протоколи от различни нива могат безопасно да се смесват в един израз. Например, за да разберем кои снимки даден сървър е предал на клиента, ние използваме адреса на източника от IP пакета и полето "Content-Type" на HTTP отговора:

(ip.src eq 178.248.232.27) и (http.content_type съдържа "image")

А с помощта на полето за HTTP заявка "Referer" можете да разберете от кои други сървъри браузърът взема съдържание, когато формира страницата на любимия ви сайт:

(http.referer eq "http: //www..dst eq 178.248.232.27))

Нека разгледаме още няколко полезни филтъра. Следният израз може да се използва за извличане на HTTP заявки, направени по метода GET от трафика:

Http.request.method == GET

Именно на ниво приложение филтрите за дисплей се проявяват в цялата си красота и простота. За сравнение: за да се реши например този проблем с помощта на Pcap, трябва да се приложи следната триетажна структура:

Порт 80 и tcp [((tcp & 0xf0) >> 2): 4] = 0x47455420

За да разберем какви www връзки е направил потребителят на хост 192.168.56.8 в определен интервал от време (да речем, по време на обяд), използваме примитив frame.time:

Tcp.dstport == 80 && frame.time> = "9 януари 2013 г. 13:00:00" && frame.time< "Yan 9, 2013 14:00:00" && ip.src == 192.168.56.8

Е, показване на URI на заявки, съдържащи думите "вход" и "потребител", плюс "напомняне" за пароли:

Http.request.uri съвпада с "вход. * = Потребител" (http съдържа "парола") || (поп съдържа "PASS")

Прихващане на SSL съдържание

Истинският бич на изследователя на мрежовия трафик е криптирането. Но ако имате желания файл със сертификата (между другото, трябва да се грижите за него като за зеницата на окото си), тогава можете лесно да разберете какво крият потребителите на този ресурс в SSL сесиите. За да направите това, трябва да посочите параметрите на сървъра и файла на сертификата в настройките на SSL протокола (елемент "Предпочитания" от менюто "Редактиране", изберете SSL в списъка с протоколи вляво). Поддържат се формати PKCS12 и PEM. В последния случай трябва да премахнете паролата от файла с командите:

Openssl pkcs12 -export -in server.pem -out aa.pfx openssl pkcs12 -in aa.pfx -out serverNoPass.pem –nodes

ИНФО

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

Примери за пакетни филтри за UNIX-подобна ОС са BPF (Berkeley Packet Filter) и LSF (Linux Socket Filter). В BPF филтрирането е реализирано на базата на ориентиран към главни букви примитивен машинен език, чийто интерпретатор е BPF.


Анализиране на трафика от отдалечени хостове

Потребителите на Windows могат да работят не само с интерфейсите на компютъра, на който работи Wireshark, но и да улавят трафик от отдалечени машини. За това има специална услуга (Remote Packet Capture Protocol) в доставката на библиотеката WinPcap. Първо трябва да бъде активиран в добавката за управление на услугите (services.msc). Сега, след като стартирате Wireshark на отдалечен компютър, можете да се свържете с възела, където работи услугата за отдалечено прихващане на трафик (по подразбиране тя използва порт 2002) и данните ще текат като река към вас чрез протокола RPCAP.

Ще дам и опции за свързване към домашен * nix рутер "отвън" за отдалечен анализ на трафика:

$ ssh [защитен с имейл]"tshark -f" порт! 22 "-i всеки -w -" | wireshark -k -i - $ ssh [защитен с имейл] tcpdump -U -s0 -w - "не порт 22" | wireshark -k -i -

Задължителен инструмент

Wireshark е добре познат инструмент за прихващане и интерактивен анализ на мрежовия трафик, всъщност стандарт за индустрията и образованието. Разпространява се под лиценза GNU GPLv2. Wireshark работи с повечето добре познати протоколи, има GTK + базиран графичен потребителски интерфейс, мощна система за филтриране на трафика и вграден интерпретатор на език за програмиране Lua за създаване на декодери и манипулатори на събития.

Извличане на полезен товар

В определени кръгове са широко известни специализирани инструменти, които ви позволяват да „издърпвате“ крайни информационни обекти от трафика: файлове, изображения, видео и аудио съдържание и т.н. Благодарение на мощната си аналитична подсистема, Wireshark повече от покрива тази функционалност, така че потърсете бутона "Запазване на полезен товар..." в съответните прозорци за анализ.

Заключение

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

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

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

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

Използвай въображението си!

давам пример:

Да приемем, че сте свързани към мрежата на някой друг и трябва да разберете какво използва какво и как минава през мрежата? Wireshark е идеалното решение. След като прегледате пакетите, можете лесно да откриете всички необходими данни. Но това беше само пример, всеки е свободен да го използва според нуждите си!

Приложения >> Интернет >> Wireshark

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

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

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

Както виждате, цветовете на трафика са различни и е много интересно какво означават. Wireshark използва различни цветове, за да ни помогне да разпознаем различни видове трафик.

Можем да въведем трафика, който ни е необходим за филтриране в секцията " филтър:„И самият Wireshark ще ни даде съвети или можем да изберем, като щракнем върху“ Израз"

Можем също да създадем наш собствен филтър, като щракнем върху Анализ >> Показване на филтри

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




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

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

Това е само началото, следете за актуализации, докато обясняваме и разбиваме този атрибут изцяло.

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

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

Използвай въображението си!

давам пример:

Да приемем, че сте свързани към мрежата на някой друг и трябва да разберете какво използва какво и как минава през мрежата? Wireshark е идеалното решение. След като прегледате пакетите, можете лесно да откриете всички необходими данни. Но това беше само пример, всеки е свободен да го използва според нуждите си!

Приложения >> Интернет >> Wireshark

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

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

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

Както виждате, цветовете на трафика са различни и е много интересно какво означават. Wireshark използва различни цветове, за да ни помогне да разпознаем различни видове трафик.

Можем да въведем трафика, който ни е необходим за филтриране в секцията " филтър:„И самият Wireshark ще ни даде съвети или можем да изберем, като щракнем върху“ Израз"

Можем също да създадем наш собствен филтър, като щракнем върху Анализ >> Показване на филтри

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




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

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

Това е само началото, следете за актуализации, докато обясняваме и разбиваме този атрибут изцяло.

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

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

Основни характеристики на Wireshark

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

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

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

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

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

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

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

$ kdesu wireshark

И за Gnome / Unity:

$ gksu wireshark

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

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

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

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

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

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

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

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

Филтри на Wireshark

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

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

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

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

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

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

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

Първо, нека филтрираме всички пакети, изпратени до 194.67.215.125 (losst.ru). Въведете ред в полето за филтър и щракнете Приложи... За удобство филтрите на 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 за откриване на мрежови проблеми. За да направите това, в долния ляв ъгъл на прозореца има кръгъл бутон, когато щракнете върху него, се отваря прозорец. Expet Tools... В него Wireshark събира всички съобщения за грешки и проблеми с мрежата:

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

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

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

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

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

Споделя това