Мрежов анализ с Wireshark
Wireshark е снифър за мрежови пакети с изходен код. Без никакво специално оборудване или преконфигуриране, тази програма може да прихваща входящи и изходящи данни на всеки мрежов интерфейс на компютъра: Ethernet, WiFi, PPP, loopback и дори USB. ОбикновеноWireshark се използва за откриване на мрежови проблеми като претоварване, изчакване или грешки в протокола. Но за да научитеWireshark, не е нужно да чакате нещо да се повреди. Нека започнем да преглеждаме тази програма.
Wireshark е написан на GTK+ библиотеки и има графичен потребителски интерфейс (GUI). Но в допълнение към GUI има конзолна реализация на програма, наречена TShark, която има същата функционалност като графичната си версия. Тъй като програмата е много популярна като инструмент за административен мрежов анализ, тя е достъпна в хранилищата на почти всяка Linux дистрибуция. Има версии на програмата за Windows и Mac OS X. Ако по някаква причина не можете да я намерите във вашите Linux хранилища, винаги можете да изтеглите готови компилации за различни дистрибуции от официалния сайт. Или изтеглете, изградете и инсталирайте програмата от източника.
Заслужава да се отбележи веднага, чеWireshark трябва да бъде стартиран с root права, тъй като за да прихваща трафик, програмата се нуждае от привилегии на суперпотребител, за да премине към така наречения безразборен режим („промискуитетен режим“). Ядрото наWireshark е библиотеката libpcap, която се използва за прихващане на данни. Програмата има вградена поддръжка за много голям брой мрежови устройства. Можете да проверите дали вашата мрежова карта ще работи с тази програма на wiki страницатаWireshark. Нопочти всички съвременни Ethernet и Wifi карти нямат проблеми със съвместимостта в тази програма.
Прихващане на трафик
Нова сесия за заснемане се стартира в прозореца на програмата от менюто "Capture ". За да видите пълния списък с мрежови интерфейси, коитоWireshark успя да открие, следвайте пътя на менюто "Capture >Interfaces ". Ще се появи диалогов прозорец, в който освен физическите устройства ще има псевдоустройство "any ", което прихваща данни от всички останали устройства в този списък. Преди да започнете, можете да зададете някои опции, с които ще се стартира заснемането. Като щракнете върху "Capture >Options ", просто изберете:
Първото нещо, което ще видите, когато стартирате нова сесия, е прозорецът на дневника, който ще показва основна информация за процеса, който се изпълнява от програмата: източник, дестинация, протокол, време и т.н. Цялата информация е организирана в таблица със заглавия. За по-голяма четливост,Wireshark цветно кодира текста, променя цвета на фона или маркира най-„интересните“ пакети с помощта на флагове.
Продължителността на прихващането зависи от това каква информация искате да получите като резултат. Например ще отнеме няколко часа, за да се анализират и решат трудни за откриване проблеми, свързани с работата на интернет услугите. Но за да се запознаете с основните характеристики на програмата, ще са достатъчни само няколко минути.
За да анализирате всеки получен пакет, достатъчно е да го изберете в прозореца на журнала. Въпреки това е препоръчително да направите това след спиране на прихващането на данни. Подробни подробности за пакета, който представлява интерес, ще бъдат представени в отделен дървовиден прозорец, в който всички негови компоненти ще бъдат сортирани по мрежови нива. ДА СЕнапример, ако имате проблеми с Ethernet, трябва да анализирате Ethernet рамки; ако това е HTTP протокол, тогава трябва да се "гмурнете" в HTTP протоколния слой.
Винаги можете да запазите прихванатите данни за допълнителен анализ.Wireshark записва получените данни във файл с разширение.pcap. Бъдете внимателни обаче, тъй като този файл може да бъде доста голям. Следователно, ако се интересувате само от определена част от целия мрежов трафик, можете да използвате филтритеWireshark, за да намалите размера на този файл. Филтърната система се намира в същия прозорец като общата таблица на прихванатите данни. Използвайте тези филтри, за да намалите размера на файл, преди да го запишете на диск.
Анализ на данни
Менюто "Анализ " ("Анализ ") съдържа набор от по-сложни предварително зададени опции за филтриране.
1."Активиране на протоколи " ви дава възможност да активирате или деактивирате протоколи;2."Specified Decodes " ви позволява да декодирате определени протоколи, което може да бъде полезно при диагностициране на конкретно приложение;3."Следване на TCP поток " ще ви помогне да изберете отделна TCP връзка и да проследите състоянието й от началото до края; подобни опции са налични за UDP и SSL връзки;4."Експертна информация " извлича съобщения за грешка и предупредителни флагове (като загубен или извън опашка сегмент) за бързо откриване на проблеми.
Менюто "Статистика " ("Статистика ") предоставя по-общ преглед на целия набор от прихванати данни. Това меню съдържа предварително зададени функции за анализ на общи мрежови параметри и ги представя в удобна таблична форма. Ако проучвате мрежовия трафиквашата мрежа за първи път, този инструмент ще ви помогне да разберете основните принципи на нейната работа. Тук можете да анализирате данни като време за реакция; размери на фрагментите, на които са разбити опаковките; трафик на ниво връзки и приложения.
Wireshark може също така да показва получената информация в графичен режим, което я прави по-лесна за разбиране. Като отидете на „Инструмент за графики “ в менюто „Статистика “ („Статистика “), можете да изберете пет филтъра, за да сравнявате файлове глава по глава чрез маркиране с различни цветове.
Начало на анализа
Както бе споменато в началото на тази статия, основният профил за анализ на трафика вWireshark е просто инструмент, с който можете да откриете причината за странното поведение на някои устройства и източника на това поведение. За съжаление, този метод не е толкова лесен за идентифициране на корена на проблема, например в случай на твърде дълго изчакване или ниска честотна лента.
Разбира се, ако имате заразена с троянски кон зомби машина във вашата мрежа, можете лесно да я откриете като спам бот, например, ако видите хиляди SMTP връзки, стартирани в рамките на един час. Откриването на вируси и зловреден софтуер е важна задача на анализа. Но определянето защо един от вашите файлови сървъри работи малко по-бавно от останалите може да изисква от вас повече изследвания.
Уроците за тази програма на сайта на проекта Wireshark са незаменим инструмент. Wiki има няколко страници за основни мрежови проблеми, както и връзки към други източници с подобна информация. Предоставя се информация за други мрежи и програми за анализ на сигурността като Nagios, EtherApe, NMap и tcpdump.Повечето мрежови изследвания изискват разбиране на TCP/IP протоколните стекове, така че една или две добри книги по темата са задължителни.
Wireshark включва много функции за анализ на вашата мрежа, докато търсите в нея източника на проблеми. Например, можете да извършите статистическо сравнение между два записани файла за заснемане на трафик; това ви позволява да заснемате, когато просто проучвате проблем и след това да ги сравнявате отново. С други думи, можете да събирате и сравнявате заснети файлове от различни машини, например в различни мрежови сегменти или с различни конфигурации. Това е още по-полезно, тъй като компилациите наWireshark са налични за патентовани операционни системи: може да се наложи да съберете информация от различни източници, когато откривате проблеми с производителността.
Допълнителни функции: визуализация, алтернативни куки
Въпреки факта, че инструментите за анализ и филтриране, вградени в GUI наWireshark предоставят големи възможности за прихващане на трафик, възможностите на GUI не се ограничават до това.
Има много примери за графично отчитане, предоставящо информация по начин, който таблиците никога не могат да представят. Има много инструменти, които разширяват възможностите наWireshark като програма за изобразяване, написана за тази програма. Но всички (или почти всички) са платени. Но искам да ви успокоя - няма да имате нужда от тях.
Wireshark може да експортира заснетите данни в CSV файл, който по-късно можете да отворите във всяко друго приложение, като например обикновена електронна таблица като Gnumeric или OpenOffice, или статистически пакет катокато R или gnuplot. Добри приложения за анализ могат да бъдат намерени на forensicswiki.org. Списъкът с тези приложения постоянно се променя. Например популярната машина за анализFreebase Gridworks е трансформирана в проект на Google Refine, който може да визуализира мрежовия трафик по много по-удобен начин.
И не на последно място. Въпреки чеWireshark почти винаги се рекламира като инструмент за мрежов анализ, истината е, че той може да анализира и други устройства, като USB трафик и дори Unix сокети между приложения.
В обобщение, след като прочетете тази статия, имате знанията и способността да експериментирате сWireshark.