Wireshark, inițial cunoscut sub numele de Ethereal, a împlinit 20 de ani de existență. Dacă nu este cel mai performant, este cu siguranță cel mai utilizat instrument pentru analiza traficului de rețea. Atunci când se ivește necesitatea analizării pachetelor, acesta devine adesea instrumentul principal pentru majoritatea administratorilor. Cu toate acestea, indiferent de cât de bun este Wireshark, există multe alternative disponibile. Unii s-ar putea întreba de ce ar fi nevoie să înlocuiți Wireshark. Sincer vorbind, nu există nimic în neregulă cu Wireshark și, dacă sunteți un utilizator mulțumit, nu văd niciun motiv să faceți o schimbare. Pe de altă parte, dacă sunteți nou în acest domeniu, ar fi o idee bună să explorați opțiunile disponibile înainte de a alege o soluție. Pentru a vă ajuta, am creat această listă cu unele dintre cele mai bune alternative Wireshark.
Vom începe analiza noastră prin a examina Wireshark. În fond, dacă dorim să propunem alternative, ar fi bine să cunoaștem cel puțin puțin produsul. Apoi vom discuta pe scurt despre ce sunt instrumentele de interceptare a pachetelor – sau analizoarele de rețea, cum mai sunt numite. Deoarece instrumentele de interceptare a pachetelor pot fi relativ complexe, vom aloca timp discuției despre cum să le folosim. Acesta nu este un ghid complet, dar ar trebui să vă ofere suficiente informații de bază pentru a aprecia mai bine recenziile produselor care urmează. Când vorbim despre recenzii de produse, aceasta este tema următoare. Am identificat mai multe produse, de tipuri foarte diferite, care ar putea fi o alternativă bună la Wireshark și vom prezenta cele mai importante caracteristici ale fiecăruia.
Despre Wireshark
Înainte de Wireshark, pe piață exista în esență un singur instrument de interceptare a pachetelor, numit, în mod sugestiv, Sniffer. Acesta era un produs excelent, dar avea un dezavantaj major: prețul. La sfârșitul anilor ’90, produsul costa aproximativ 1500 de dolari, un preț prea mare pentru mulți. Acest lucru a determinat crearea lui Ethereal, un instrument de interceptare a pachetelor gratuit și open-source, de către un absolvent al UMKC, pe nume Gerald Combs, care este și astăzi principalul întreținător al Wireshark, douăzeci de ani mai târziu. Asta înseamnă un angajament serios.

Astăzi, Wireshark a devenit referința în domeniul instrumentelor de interceptare a pachetelor. Este standardul de facto, iar majoritatea celorlalte instrumente tind să-l imite. Wireshark face în principal două lucruri. În primul rând, captează tot traficul pe care îl vede pe interfața sa. Dar nu se oprește aici, produsul având și capacități de analiză foarte puternice. Capacitățile de analiză ale instrumentului sunt atât de bune, încât nu este neobișnuit ca utilizatorii să folosească alte instrumente pentru capturarea pachetelor și să facă analiza folosind Wireshark. Acesta este un mod atât de comun de a folosi Wireshark, încât, la pornire, vi se solicită să deschideți un fișier de captură existent sau să începeți capturarea traficului. Un alt punct forte al Wireshark este reprezentat de filtrele încorporate, care vă permit să vă concentrați exact pe datele care vă interesează.
Despre instrumentele de analiză a rețelei
Deși subiectul este dezbătut de ceva timp, pentru scopul acestui articol, vom considera că termenii „instrument de interceptare a pachetelor” și „analizor de rețea” sunt sinonimi. Unii ar argumenta că sunt două concepte diferite și, deși ar putea avea dreptate, le vom analiza împreună, fie și doar de dragul simplității. La urma urmei, chiar dacă funcționează diferit – dar oare chiar așa? – au un scop similar.
Instrumentele de interceptare a pachetelor fac în esență trei lucruri. În primul rând, captează toate pachetele de date pe măsură ce intră sau ies dintr-o interfață de rețea. În al doilea rând, aplică opțional filtre pentru a ignora anumite pachete și pentru a le salva pe altele pe disc. Apoi, efectuează o analiză a datelor capturate. Această ultimă funcție reprezintă majoritatea diferențelor dintre produse.
Majoritatea instrumentelor de interceptare a pachetelor se bazează pe un modul extern pentru capturarea efectivă a pachetelor de date. Cele mai comune sunt libpcap pe sistemele Unix/Linux și Winpcap pe Windows. De obicei, nu va trebui să instalați aceste instrumente, deoarece sunt de obicei instalate de programele de instalare ale instrumentelor de interceptare a pachetelor.
Un alt lucru important de știut este că, indiferent de cât de bune și utile sunt, instrumentele de interceptare a pachetelor nu vor face totul în locul tău. Sunt doar unelte. Le putem compara cu un ciocan care nu va bate singur un cui. Trebuie să înveți cum să utilizezi cel mai bine fiecare instrument. Instrumentul de interceptare a pachetelor îți va permite să analizezi traficul pe care îl captează, dar depinde de tine să te asiguri că acesta captează datele potrivite și să le utilizezi în avantajul tău. Au fost scrise cărți întregi despre utilizarea instrumentelor de capturare a pachetelor. Eu am participat odată la un curs de trei zile pe această temă.
Utilizarea unui instrument de interceptare a pachetelor
După cum tocmai am menționat, un instrument de interceptare a pachetelor va captura și analiza traficul. Prin urmare, dacă încerci să remediezi o anumită problemă – o utilizare tipică pentru un astfel de instrument, primul lucru pe care trebuie să-l faci este să te asiguri că traficul pe care îl captezi este cel potrivit. Imaginează-ți un scenariu în care fiecare utilizator al unei anumite aplicații se plânge de faptul că aceasta este lentă. Într-o astfel de situație, cel mai bun lucru ar fi probabil să captezi trafic la interfața de rețea a serverului aplicației, deoarece fiecare utilizator pare să fie afectat. S-ar putea să îți dai seama apoi că solicitările ajung la server în mod normal, dar că serverul are nevoie de mult timp pentru a trimite răspunsurile. Acest lucru ar indica o întârziere pe server, mai degrabă decât o problemă de rețea.
Pe de altă parte, dacă vezi că serverul răspunde la solicitări în timp util, ar putea însemna că problema se află undeva în rețea, între client și server. Apoi, vei muta instrumentul de interceptare a pachetelor mai aproape de client și vei vedea dacă răspunsurile sunt întârziate. Dacă nu, te vei muta și mai aproape de client și tot așa. În cele din urmă, vei ajunge la locul unde apar întârzierile. Și odată ce ai identificat locația problemei, ești cu un pas mai aproape de rezolvarea acesteia.
Să vedem cum putem reuși să capturăm pachete într-un anumit punct al unei rețele. O modalitate simplă de a face acest lucru este de a profita de o caracteristică a majorității switch-urilor de rețea, numită oglindire sau replicare a porturilor. Această opțiune de configurare va reproduce tot traficul dintr-un anumit port al comutatorului către un alt port de pe același comutator. De exemplu, dacă serverul tău este conectat la portul 15 al unui comutator și portul 23 al aceluiași comutator este disponibil. Conectezi instrumentul de interceptare a pachetelor la portul 23 și configurezi comutatorul să replice tot traficul către și dinspre portul 15 către portul 23.
Cele mai bune alternative Wireshark
Acum că înțelegi mai bine ce sunt Wireshark și alte instrumente de interceptare a pachetelor și analizoare de rețea, să vedem ce produse alternative există. Lista noastră include o combinație de instrumente de linie de comandă și GUI, precum și instrumente care rulează pe diferite sisteme de operare.
1. Instrumentul SolarWinds Deep Packet Inspection and Analysis (ÎNCERCARE GRATUITĂ)
SolarWinds este renumit pentru instrumentele sale de ultimă generație de gestionare a rețelei. Compania există de aproximativ 20 de ani și ne-a oferit câteva instrumente excelente. Produsul său emblematic, SolarWinds Network Performance Monitor, este recunoscut de mulți drept unul dintre cele mai bune instrumente de monitorizare a lățimii de bandă a rețelei. SolarWinds este, de asemenea, cunoscut pentru crearea unor instrumente gratuite excelente, fiecare abordând o nevoie specifică a administratorilor de rețea. Două exemple de astfel de instrumente sunt SolarWinds TFTP Server și Advanced Subnet Calculator.
Ca o alternativă potențială la Wireshark – și poate ca cea mai bună alternativă, deoarece este un instrument atât de diferit – SolarWinds propune instrumentul de inspecție și analiză profundă a pachetelor. Acesta este oferit ca o componentă a monitorului de performanță a rețelei SolarWinds. Modul său de funcționare este destul de diferit de instrumentele de interceptare a pachetelor mai „tradiționale”, deși servește unui scop similar.

Instrumentul de inspecție și analiză profundă a pachetelor nu este nici un instrument de interceptare a pachetelor, nici un analizor de rețea, dar te va ajuta să găsești și să rezolvi cauza latențelor rețelei, să identifici aplicațiile afectate și să stabilești dacă încetinirea este cauzată de rețea sau de o aplicație. Deoarece are un scop similar cu Wireshark, am considerat că merită să fie inclus în această listă. Instrumentul va folosi tehnici de inspecție profundă a pachetelor pentru a calcula timpul de răspuns pentru peste 1200 de aplicații. De asemenea, va clasifica traficul de rețea în funcție de categorie (de exemplu, afaceri vs. social) și nivel de risc. Acest lucru poate ajuta la identificarea traficului non-business care ar putea beneficia de filtrare sau control sau ar putea fi eliminat.
Instrumentul Deep Packet Inspection and Analysis este o componentă integrală a Network Performance Monitor, sau NPM, cum este adesea numit, care este, în sine, un software impresionant cu atât de multe componente încât s-ar putea scrie un articol separat despre el. Este o soluție completă de monitorizare a rețelei, care combină unele dintre cele mai bune tehnologii, cum ar fi SNMP și inspecția profundă a pachetelor, pentru a oferi cât mai multe informații despre starea rețelei tale.
Prețurile pentru monitorul de performanță a rețelei SolarWinds, care include instrumentul de inspecție și analiză profundă a pachetelor, încep de la 2.955 USD pentru până la 100 de elemente monitorizate și cresc în funcție de numărul de elemente monitorizate. Instrumentul are o perioadă de încercare gratuită de 30 de zile, astfel încât să te poți asigura că se potrivește cu adevărat nevoilor tale înainte de a te angaja să-l achiziționezi.
2. tcpdump
Tcpdump este probabil instrumentul original de interceptare a pachetelor. A fost creat în 1987. Adică, cu peste zece ani înainte de Wireshark și chiar înainte de Sniffer. De la lansarea sa inițială, instrumentul a fost menținut și îmbunătățit, dar a rămas în esență neschimbat. Modul în care este utilizat instrumentul nu s-a schimbat prea mult de-a lungul evoluției sale. Este disponibil pentru instalare pe aproape orice sistem de operare asemănător Unix și a devenit standardul de facto pentru un instrument rapid de capturare a pachetelor. La fel ca majoritatea produselor similare de pe platformele *nix, tcpdump utilizează biblioteca libpcap pentru capturarea efectivă a pachetelor.

Operațiunea implicită a tcpdump este relativ simplă. Acesta captează tot traficul de pe interfața specificată și îl afișează pe ecran. Fiind un instrument standard *nix, poți direcționa rezultatul într-un fișier de captură pentru a fi analizat ulterior cu instrumentul de analiză la alegere. De fapt, nu este neobișnuit ca utilizatorii să capteze trafic cu tcpdump pentru o analiză ulterioară în Wireshark. Una dintre cheile puterii și utilității tcpdump este posibilitatea de a aplica filtre și/sau de a direcționa ieșirea către grep – un alt utilitar comun de linie de comandă *nix – pentru o filtrare ulterioară. O persoană care stăpânește tcpdump, grep și shell-ul de comandă îl poate face să capteze exact traficul potrivit pentru orice sarcină de depanare.
3. Windump
Pe scurt, Windump este un port al tcpdump pe platforma Windows. Ca atare, se comportă aproape în același mod. Acest lucru înseamnă că aduce o mare parte din funcționalitatea tcpdump computerelor bazate pe Windows. Windump poate fi o aplicație Windows, dar nu te aștepta la o interfață grafică elegantă. Este într-adevăr tcpdump pe Windows și, ca atare, este un utilitar exclusiv de linie de comandă.

Utilizarea Windump este, practic, aceeași cu utilizarea omologului său *nix. Opțiunile din linia de comandă sunt aproape aceleași, iar rezultatele sunt, de asemenea, aproape identice. La fel ca tcpdump, ieșirea de la Windump poate fi salvată într-un fișier pentru analiza ulterioară cu un instrument terță parte. Cu toate acestea, grep nu este de obicei disponibil pe computerul Windows, limitând astfel abilitățile de filtrare ale instrumentului.
O altă diferență importantă între tcpdump și Windump este că acesta nu este la fel de ușor disponibil din depozitul de pachete al sistemului de operare. Va trebui să descarci software-ul de pe site-ul web Windump. Acesta este livrat ca fișier executabil și nu necesită instalare. Ca atare, este un instrument portabil care ar putea fi lansat de pe o cheie USB. Cu toate acestea, la fel cum tcpdump utilizează biblioteca libpcap, Windump utilizează Winpcap, care trebuie descărcat și instalat separat.
4. Tshark
Poți considera Tshark ca o combinație între tcpdump și Wireshark, dar, în realitate, este, mai mult sau mai puțin, versiunea de linie de comandă a Wireshark. Este de la același dezvoltator ca Wireshark. Tshark se aseamănă cu tcpdump prin faptul că este un instrument exclusiv de linie de comandă. Dar este și ca Wireshark prin faptul că nu doar captează traficul. De asemenea, are aceleași capabilități puternice de analiză ca și Wireshark și utilizează același tip de filtrare. Prin urmare, poate izola rapid traficul exact pe care trebuie să îl analizezi.

Tshark ridică o întrebare, totuși. De ce ar vrea cineva o versiune de linie de comandă a Wireshark? De ce să nu folosești pur și simplu Wireshark? Majoritatea administratorilor – de fapt, majoritatea oamenilor – ar fi de acord că, în general, instrumentele cu interfețe grafice de utilizator sunt adesea mai ușor de utilizat și de învățat și mai intuitive și mai ușor de utilizat. La urma urmei, nu de aceea au devenit atât de populare sistemele de operare grafice? Principalul motiv pentru care cineva ar alege Tshark în detrimentul Wireshark este atunci când dorește doar să facă o captură rapidă direct pe un server, în scopul depanării. Și, dacă suspectezi o problemă de performanță cu serverul, poate preferi să utilizezi un instrument non-GUI, deoarece acesta ar putea fi mai puțin solicitant pentru resurse.
5. Network Miner
Network Miner este mai mult un instrument criminalistic decât un instrument de interceptare a pachetelor sau un analizor de rețea. Acest instrument va urmări un flux TCP și poate reconstrui o întreagă conversație. Este un instrument foarte puternic pentru analiza aprofundată a traficului, deși unul care poate fi greu de stăpânit. Instrumentul poate funcționa în mod offline, unde poate importa un fișier de captură – poate creat folosind unul dintre celelalte instrumente analizate – și îl va lăsa pe Network Miner să-și facă magia. Având în vedere că software-ul rulează doar pe Windows, posibilitatea de a lucra cu fișiere de captură este cu siguranță un plus. Ai putea, de exemplu, să folosești tcpdump pe Linux pentru a capta o parte din trafic și Network Miner pe Windows pentru a-l analiza.

Network Miner este disponibil într-o versiune gratuită, dar pentru caracteristicile mai avansate, cum ar fi localizarea geografică și scriptarea bazată pe adrese IP, va trebui să achiziționezi o licență Professional, care te va costa 900 USD. O altă funcție avansată a versiunii profesionale este posibilitatea de a decoda și reda apelurile VoIP.
6. Fiddler
Unii dintre cititorii noștri – în special cei mai cunoscători – ar fi tentați să argumenteze că Fiddler, ultima noastră intrare, nu este nici un instrument de interceptare a pachetelor, nici un analizor de rețea. Sincer vorbind, ar putea avea dreptate, dar, totuși, am considerat că ar trebui să includem acest instrument în lista noastră, deoarece poate fi foarte util în mai multe situații diferite.

În primul rând, să clarificăm lucrurile, Fiddler chiar va capta trafic. Cu toate acestea, nu va capta orice trafic. Va funcționa doar cu trafic HTTP. În ciuda acestei limitări, când te gândești că atât de multe aplicații din ziua de azi sunt bazate pe web sau folosesc protocolul HTTP în fundal, este ușor de înțeles cât de valoros poate fi un astfel de instrument. Și, deoarece instrumentul va capta nu numai traficul din browser, ci aproape orice HTTP, poate fi foarte util în depanarea diferitelor tipuri de aplicații.
Principalul avantaj al unui instrument precum Fiddler față de un instrument de interceptare a pachetelor „adevărat”, precum Wireshark, este că a fost construit pentru a „înțelege” traficul HTTP. De exemplu, va descoperi module cookie și certificate. De asemenea, va găsi date reale care provin din aplicații bazate pe HTTP. Fiddler este gratuit și este disponibil doar pentru Windows. Cu toate acestea, versiunile beta pentru OS X și Linux (folosind framework-ul Mono) pot fi descărcate.