Hoe Wireshark op Windows te gebruiken Wireshark: de klassieker van netwerkpakketanalyse Wireshark hoe verkeer te analyseren

Wireshark is een netwerkpakketanalysator. Een netwerkpakketanalysator die netwerkpakketten vastlegt en probeert de pakketgegevens zo gedetailleerd mogelijk weer te geven.

Je kunt een netwerkpakketanalysator zien als een meetapparaat dat wordt gebruikt om te bestuderen wat er in een netwerkkabel gebeurt, net zoals een voltmeter door een elektricien wordt gebruikt om te bestuderen wat er in een elektrische kabel gebeurt (maar op een hoger niveau, natuurlijk).

Wie gebruikt WireShark en waarom?

Hier zijn enkele voorbeelden waar mensen Wireshark voor gebruiken:

  • Netwerkbeheerders gebruiken het om netwerk probleemoplossing
  • Netwerkbeveiligingsingenieurs gebruiken het om: controles van beveiligingsproblemen
  • QA-ingenieurs gebruiken het voor: netwerk applicatie controles
  • Ontwikkelaars gebruiken het voor: debuggen van de implementatie van het protocol
  • Mensen gebruiken het voor studie intern netwerkprotocollen

Functies en functionaliteit

Enkele van de vele functies van Wireshark worden hieronder opgesomd:

Om de kracht ervan echt te waarderen, moet je het echter gaan gebruiken. Dat zullen we in de volgende artikelen analyseren.


Wireshark biedt een eenvoudig maar krachtig schermfilter waarmee u vrij complexe filterexpressies kunt maken. U kunt waarden in batches vergelijken, en u kunt ook uitdrukkingen combineren tot meer specifieke uitdrukkingen. Hieronder staan ​​specifieke voorbeelden en […]

De SYN-pakketten die worden gebruikt bij het opzetten van een TCP-handshakesessie hebben aanvullende TCP-opties, zoals: SACK_PERM, TSval, Tsecr. Dit zijn allemaal zogenaamde high-performance opties die nu wijdverbreid worden gebruikt, zoals alle […]

Elke regel in de pakketlijst komt overeen met één pakket in het opnamebestand. Als u een rij in dit paneel selecteert, wordt meer gedetailleerde informatie weergegeven in de panelen "Batchinformatie" en "Batchpakketten". […]

Wireshark: hoe te gebruiken?

Hallo vrienden! In dit artikel zal ik proberen uit te leggen en te praten over de meest essentiële dingen die je moet weten bij het gebruik van Wireshark op Linux, en een analyse tonen van drie soorten netwerkverkeer. Deze handleiding is ook van toepassing op Wireshark onder Windows.

Als informatiebeveiliging nieuw voor je is en je begrijpt heel goed wat een sniffer (traffic analyzer) is, raad ik je aan het artikel te lezen en pas daarna dit artikel over het gebruik van Wireshark.

Zeer populair en uiterst bekwaam netwerkprotocolanalysator, ontwikkeld door Gerald Combs, ontstond Wireshark in juni 2006 toen Combs de netwerktool Ethereal hernoemde, ook door hem gemaakt, omdat hij van baan was veranderd en de oude naam niet meer kon gebruiken. Tegenwoordig gebruiken de meesten Wireshark en Ethereal is geschiedenis geworden.

Wireshark: de beste snuffelaar

Je vraagt ​​je misschien af ​​hoe Wireshark verschilt van andere netwerkanalysatoren - behalve dat het gratis is - waarom beginnen we niet gewoon met het promoten van tcpdump voor pakketopname?

Het belangrijkste voordeel van Wireshark is dat het een grafische applicatie is. Het verzamelen van gegevens en het controleren van netwerkverkeer in de gebruikersinterface is erg handig, omdat je hiermee om kunt gaan met complexe netwerkgegevens.

Hoe gebruik je Wireshark?

Voor een beginner om Wireshark te begrijpen, moeten ze netwerkverkeer begrijpen. In dat geval is het doel van dit artikel om u de basisprincipes van TCP/IP uit te leggen, zodat u de juiste conclusies kunt trekken uit het netwerkverkeer dat u analyseert.


TCP-pakket en IP-pakketformaat.

Als u Wireshark als een normale gebruiker gebruikt, kunt u de netwerkinterfaces niet gebruiken om gegevens te verzamelen vanwege de standaard Unix-bestandsmachtigingen op de netwerkinterfaces. Het is handiger om Wireshark als root (sudo wireshark) uit te voeren bij het verzamelen van gegevens en als een normale gebruiker voor gegevensanalyse.

Als alternatief kunt u netwerkgegevens verzamelen met het opdrachtregelhulpprogramma tcpdump als root en deze vervolgens analyseren met Wireshark. Houd er rekening mee dat het verzamelen van gegevens met Wireshark op een zwaar belast netwerk uw computer kan vertragen, of erger nog, kan voorkomen dat u de gegevens verzamelt die u nodig hebt, omdat Wireshark meer systeembronnen vereist dan een opdrachtregelprogramma. In dergelijke gevallen is de meest redelijke oplossing voor het verzamelen van gegevens over netwerkverkeer het gebruik van tcpdump.

Netwerkgegevens vastleggen met Wireshark

De eenvoudigste manier om te beginnen met het vastleggen van netwerkpakketgegevens, is door de interface te selecteren die u nodig hebt nadat u Wireshark hebt gestart en op Start te klikken. Wireshark toont netwerkgegevens op uw scherm op basis van uw netwerkverkeer. Houd er rekening mee dat er meer dan één interface kan worden geselecteerd. Als u niets weet over TCP, IP of andere protocollen, kan het resultaat moeilijk te lezen en te begrijpen zijn.

Om het vastlegproces te stoppen, selecteert u Vastleggen > Stoppen in het menu. U kunt ook op het vierde pictogram van links klikken, met het rode vierkantje (het is een afkorting voor "Stop met het vastleggen van live gegevens") in de hoofdwerkbalk (merk op dat de exacte locatie ervan afhangt van de versie van Wireshark die u heeft). Op deze knop kan alleen worden geklikt tijdens het verzamelen van netwerkgegevens.

Wanneer u de beschreven methode voor het vastleggen van gegevens gebruikt, kunt u de standaard Capture-opties die in Wireshark zijn geconfigureerd niet wijzigen. U kunt Capture-opties bekijken en wijzigen door Capture > Options in het menu te selecteren. Hier kunt u de netwerkinterface(s) selecteren, uw IP-adres bekijken, gegevensverzamelingsfilters toepassen, uw netwerkkaart instellen om alle netwerkpakketten te accepteren en de verzamelde gegevens opslaan in een of meer bestanden. Je kunt het zelfs vertellen om te stoppen met het vastleggen van pakketten wanneer het een bepaald aantal netwerkpakketten bereikt, of een bepaalde hoeveelheid tijd, of een bepaalde hoeveelheid gegevens (in bytes).

Standaard slaat Wireshark de verzamelde gegevens niet op, maar u kunt deze later altijd bewaren. Het wordt over het algemeen als de beste methode beschouwd om netwerkpakketten eerst op te slaan en vervolgens te onderzoeken, tenzij u een speciale reden hebt om het anders te doen.

Met Wireshark kunt u reeds verzamelde netwerkgegevens uit een groot aantal bestandsindelingen lezen en analyseren, waaronder tcpdump, libpcap, Sun's snoop, HP's nettl, K12-tekstbestanden en meer. Kortom, Wireshark kan bijna elk formaat van verzamelde netwerkgegevens lezen. Op dezelfde manier kunt u met Wireshark de verzamelde gegevens in verschillende formaten opslaan. U kunt Wireshark zelfs gebruiken om een ​​bestand van het ene formaat naar het andere te converteren.

U kunt een bestaand bestand ook exporteren als een tekstbestand vanuit het menu Bestand. Deze optie is voornamelijk bedoeld om netwerkgegevens handmatig te verwerken of in een ander programma in te voeren.

Er is een optie om uw pakketten te printen. Ik heb het nooit in het echte leven gebruikt, maar voor educatieve doeleinden kan het erg handig zijn om pakketten en hun volledige inhoud af te drukken.

Wireshark-displayfilters

Als capture-filters worden toegepast tijdens het vastleggen van het netwerk, negeert Wireshark netwerkverkeer dat niet overeenkomt met het filter; terwijl weergavefilters worden toegepast nadat gegevens zijn vastgelegd en netwerkverkeer "verbergen" zonder het te verwijderen. U kunt het weergavefilter altijd uitschakelen en uw verborgen gegevens terugkrijgen.

In principe worden weergavefilters als nuttiger en veelzijdiger beschouwd dan filters voor gegevensverzameling, omdat u van tevoren nauwelijks weet welke informatie u verzamelt of verkiest te verkennen. Het gebruik van filters bij het vastleggen van gegevens bespaart u echter tijd en schijfruimte, wat de belangrijkste reden is om ze te gebruiken.

Wireshark markeert een syntactisch correct filter met een lichtgroene achtergrond. Als de syntaxis fouten bevat, wordt de achtergrond roze.

Weergavefilters ondersteunen vergelijking en logische operators. http.respons.code weergavefilter


Drie pakketten (SYN, SYN+ACK en ACK) van een drieweg-TCP-verbindingsconfiguratie

404 && ip.addr == 192.168.1.1 toont verkeer dat ofwel afkomstig is van het IP-adres 192.168.1.1 of naar het IP-adres 192.168.1.1 gaat, dat ook een 404 (niet gevonden) HTTP-antwoordcode bevat. Het filter!boo1p &&!ip &&!arp sluit BOOTP-, IP- en ARP-verkeer uit van het resultaat. Filter eth.addr == 01:23:45:67:89:ab && tcp.port == 25 geeft verkeer weer van of naar netwerkapparaat met MAC-adres 01:23:45:67:89:ab dat gebruik maakt van inkomende en uitgaande verbindingen, TCP-poortnummer 25.

Onthoud dat weergavefilters problemen niet op magische wijze oplossen. Bij correct gebruik zijn dit uiterst handige tools, maar je moet nog steeds de resultaten interpreteren, het probleem vinden en zelf een passende oplossing bedenken.

Artikel vervolg op volgende pagina. Om naar de volgende pagina te gaan, klikt u op de knop 2, die zich onder de knoppen van sociale netwerken bevindt.

Wireshark is een krachtige netwerkanalysator die kan worden gebruikt om het verkeer te analyseren dat door de netwerkinterface van uw computer gaat. Mogelijk hebt u het nodig om netwerkproblemen op te sporen en op te lossen, en om uw webapplicaties, netwerkprogramma's of sites te debuggen. Met Wireshark kunt u de inhoud van het pakket op alle niveaus volledig bekijken: zodat u op een laag niveau beter begrijpt hoe het netwerk werkt.

Alle pakketten worden in realtime vastgelegd en in een gemakkelijk leesbaar formaat geleverd. Het programma ondersteunt een zeer krachtig filtersysteem, kleuraccentuering en andere functies die u zullen helpen de pakketten te vinden die u nodig hebt. In deze zelfstudie bekijken we hoe u Wireshark kunt gebruiken om verkeer te analyseren. Onlangs zijn de ontwikkelaars verhuisd om te werken aan de tweede tak van het Wireshark 2.0-programma, er zijn veel wijzigingen en verbeteringen aangebracht, vooral voor de interface. Dat is wat we in dit artikel zullen gebruiken.

Voordat u gaat nadenken over manieren om verkeer te analyseren, moet u overwegen welke functies het programma in meer detail ondersteunt, met welke protocollen het kan werken en wat u moet doen. Dit zijn de belangrijkste kenmerken van het programma:

  • Leg realtime pakketten vast van bekabelde of andere soorten netwerkinterfaces, en lees ook uit een bestand;
  • De volgende capture-interfaces worden ondersteund: Ethernet, IEEE 802.11, PPP en lokale virtuele interfaces;
  • Pakketten kunnen worden uitgefilterd door een verscheidenheid aan parameters met behulp van filters;
  • Alle bekende protocollen worden in de lijst in verschillende kleuren gemarkeerd, zoals TCP, HTTP, FTP, DNS, ICMP, enzovoort;
  • Ondersteuning voor het vastleggen van verkeer van VoIP-gesprekken;
  • Decodering van HTTPS-verkeer wordt ondersteund in aanwezigheid van een certificaat;
  • Decryptie van WEP-, WPA-verkeer van draadloze netwerken in aanwezigheid van een sleutel en handshake;
  • Statistieken over netwerkbelasting weergeven;
  • Bekijk de inhoud van pakketten voor alle netwerklagen;
  • Geeft de tijd weer van het verzenden en ontvangen van pakketten.

Het programma heeft veel andere functies, maar dit waren de belangrijkste die u mogelijk interesseren.

Hoe gebruik je Wireshark?

Ik neem aan dat je het programma al hebt geïnstalleerd, maar als dat niet het geval is, kun je het installeren vanuit de officiële repositories. Typ hiervoor de opdracht in Ubuntu:

sudo apt installeer wireshark

Na installatie vindt u het programma in het hoofdmenu van de distributie. U moet Wireshark met superuser-rechten uitvoeren, omdat het anders geen netwerkpakketten kan analyseren. Dit kan vanuit het hoofdmenu of via de terminal met het commando voor KDE:

En voor Gnome/Unity:

Het hoofdvenster van het programma is verdeeld in drie delen: de eerste kolom bevat een lijst met netwerkinterfaces die beschikbaar zijn voor analyse, de tweede - opties voor het openen van bestanden en de derde - help.

Analyse van netwerkverkeer

Om de analyse te starten, selecteert u de netwerkinterface, bijvoorbeeld eth0, en klikt u op de knop begin.

Daarna zal het volgende venster openen, al met een stroom pakketten die door de interface gaan. Dit venster is ook verdeeld in verschillende delen:

  • Bovenste deel- dit zijn menu's en panelen met verschillende knoppen;
  • Pakket Lijst:- verder wordt de stroom netwerkpakketten weergegeven die u gaat analyseren;
  • Pakketinhoud- zich net onder de inhoud van het geselecteerde pakket bevindt, deze is onderverdeeld in categorieën afhankelijk van het vervoersniveau;
  • Echte prestaties- helemaal onderaan wordt de inhoud van het pakket weergegeven in echte vorm, evenals in de vorm van HEX.

U kunt op elk pakket klikken om de inhoud ervan te analyseren:

Hier zien we een DNS-querypakket om het IP-adres van de site te krijgen, in de query zelf wordt het domein verzonden en in het antwoordpakket krijgen we zowel onze vraag als het antwoord.

Voor een gemakkelijkere weergave kunt u het pakket in een nieuw venster openen door op het item te dubbelklikken:

Wireshark-filters

Het is erg onhandig om pakketten handmatig te sorteren om degene te vinden die je nodig hebt, vooral met een actieve stream. Daarom is het voor een dergelijke taak beter om filters te gebruiken. Er is een speciale regel voor het invoeren van filters onder het menu. je kunt klikken uitdrukking om de filterbuilder te openen, maar er zijn er veel, dus we behandelen de meest elementaire:

  • ip.dst- doel-IP-adres;
  • ip.src- IP-adres van de afzender;
  • ip.addr- IP van de afzender of ontvanger;
  • ip.proto- protocol;
  • tcp.dstport- haven van bestemming;
  • tcp.srcport- poort van de afzender;
  • ip.ttl- filter op ttl, bepaalt de netwerkafstand;
  • http.request_uri- het gevraagde locatieadres.

U kunt de volgende operators gebruiken om de relatie tussen een veld en een waarde in een filter op te geven:

  • == - gelijk aan;
  • != - niet gelijk;
  • < - minder;
  • > - meer;
  • <= - minder of gelijk;
  • >= - meer of gelijk;
  • wedstrijden- reguliere expressie;
  • bevat- bevat.

Om meerdere uitdrukkingen te combineren, kunt u gebruiken:

  • && - beide uitdrukkingen moeten waar zijn voor het pakket;
  • || - een van de uitdrukkingen kan waar zijn.

Laten we nu eens kijken naar voorbeelden van verschillende filters en proberen alle tekens van relaties te begrijpen.

Laten we eerst alle pakketten filteren die naar 194.67.215 zijn verzonden. Typ een tekenreeks in het filterveld en klik op van toepassing zijn. Voor het gemak kunnen Wireshark-filters worden opgeslagen met de knop Sparen:

ip.dst == 194.67.215.125

En om niet alleen verzonden pakketten te ontvangen, maar ook te ontvangen als reactie van dit knooppunt, kunt u twee voorwaarden combineren:

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

We kunnen ook overgezette grote bestanden selecteren:

http.content_length > 5000

Door het inhoudstype te filteren, kunnen we alle afbeeldingen selecteren die zijn geüpload; laten we het Wireshark-verkeer analyseren, pakketten die het woord image bevatten:

http.content_type bevat afbeelding

Om het filter te wissen, klikt u op de knop Duidelijk. Het komt voor dat u niet altijd alle informatie weet die nodig is om te filteren, maar dat u gewoon het netwerk wilt bestuderen. U kunt elk pakketveld als kolom toevoegen en de inhoud ervan bekijken in het algemene venster voor elk pakket.

Ik wil bijvoorbeeld de ttl (time to live) van een pakket als kolom weergeven. Open hiervoor de pakketinformatie, zoek dit veld in het IP-gedeelte. Roep vervolgens het contextmenu op en selecteer de optie Toepassen als kolom:

Op dezelfde manier kunt u een filter maken op basis van elk gewenst veld. Selecteer het en roep het contextmenu op en klik vervolgens op Toepassen als filter of Voorbereiden als filter, kies dan geselecteerd, om alleen geselecteerde waarden weer te geven, of Niet geselecteerd om ze te verwijderen:

Het opgegeven veld en zijn waarde worden toegepast of, in het tweede geval, vervangen in het filterveld:

Op deze manier kunt u een veld van elk pakket of elke kolom aan het filter toevoegen. Er is ook deze optie in het contextmenu. U kunt ook eenvoudigere voorwaarden gebruiken om protocollen te filteren. Laten we bijvoorbeeld Wireshark-verkeer analyseren voor HTTP- en DNS-protocollen:

Een ander interessant kenmerk van het programma is het gebruik van Wireshark om een ​​specifieke sessie tussen de computer van de gebruiker en de server te volgen. Open hiervoor het contextmenu voor het pakket en selecteer Volg de TCP-stream.

Vervolgens wordt een venster geopend waarin u alle gegevens vindt die tussen de server en de client zijn overgedragen:

Problemen met Wireshark diagnosticeren

U vraagt ​​zich misschien af ​​hoe u Wireshark 2.0 kunt gebruiken om netwerkproblemen op te sporen. Om dit te doen, bevindt zich in de linkerbenedenhoek van het venster een ronde knop, wanneer u erop klikt, wordt een venster geopend Experthulpmiddelen. Daarin verzamelt Wireshark alle fout- en netwerkfoutberichten:

Het venster is onderverdeeld in tabbladen zoals Fouten, Waarschuwingen, Kennisgevingen, Chats. Het programma kan veel netwerkproblemen filteren en vinden, en hier kun je ze heel snel zien. Wireshark-filters worden hier ook ondersteund.

Wireshark-verkeersanalyse

U kunt heel gemakkelijk begrijpen wat gebruikers precies hebben gedownload en welke bestanden ze hebben bekeken als de verbinding niet versleuteld was. Het programma is erg goed in het extraheren van inhoud.

Om dit te doen, moet u eerst stoppen met het vastleggen van verkeer met behulp van het rode vierkant op het paneel. Open dan het menu het dossier -> Objecten exporteren -> http:

Invoering

Bij de werking van een computernetwerk en de netwerkstack van knooppunten doen zich soms problemen voor waarvan de oorzaken moeilijk op te sporen zijn door bekende hulpprogramma's voor het verzamelen van statistieken (zoals netstat) en standaardtoepassingen op basis van het ICMP-protocol (ping, traceroute /tracert, enz.). In dergelijke gevallen is het vaak nodig om, om problemen te diagnosticeren, specifiekere tools te gebruiken waarmee u netwerkverkeer kunt weergeven (luisteren) en analyseren op het niveau van transmissie-eenheden van individuele protocollen ( "snuiven", snuiven).

Netwerkprotocolanalysers of "snuffelaars" zijn uiterst behulpzaam tools voor het bestuderen van het gedrag van netwerkknooppunten en het identificeren van netwerkproblemen. Natuurlijk kan een snuffelaar, net als elk ander gereedschap, zoals een scherp mes, zowel een zegen zijn in de handen van een systeembeheerder of informatiebeveiligingsingenieur als een misdaadwapen in de handen van een computeraanvaller.

Dergelijke gespecialiseerde software gebruikt meestal "promiscuos" werkingsmodus van de netwerkadapter computer monitoren (met name om verkeer van een netwerksegment, switchpoort of router te onderscheppen). Zoals je weet, is de essentie van deze modus: tot de verwerking van alle frames die naar de interface komen, en niet alleen die bedoeld zijn voor het MAC-adres van de netwerkkaart en broadcast, zoals in de normale modus het geval is.

Product dat in dit artikel wordt behandeld Wireshark is een bekende tool voor het onderscheppen en interactieve analyse van netwerkverkeer, de standaard in de industrie en het onderwijs. NAAR belangrijkste kenmerken van Wireshark omvatten: multiplatform (Windows, Linux, Mac OS, FreeBSD, Solaris, enz.); de mogelijkheid om honderden verschillende protocollen te analyseren; ondersteuning voor zowel de grafische modus als de opdrachtregelinterface (tshark-hulpprogramma); krachtig systeem van verkeersfilters; export van werkresultaten naar XML, PostScript, CSV formaten, etc.

Een ander belangrijk feit is dat Wireshark open source software is, gedistribueerd onder de GNU GPLv2-licentie d.w.z. u bent vrij om dit product te gebruiken zoals u wilt.

Wireshark installeren

De nieuwste versie van Wireshark voor Windows- en OS X-besturingssystemen, evenals de broncode, kan worden downloaden van projectsite. Voor Linux-distributies en BSD-systemen is dit product meestal beschikbaar in standaard of aanvullende repositories. De schermafbeeldingen die in dit artikel worden gepubliceerd, zijn van versie 1.6.2 van Wireshark voor Windows. Eerdere versies van het programma, die te vinden zijn in de repositories van Unix-achtige besturingssystemen, kunnen ook met succes worden gebruikt, aangezien Wireshark al lang een stabiel en functioneel product is.

Wireshark is gebaseerd op de Pcap (Packet Capture) bibliotheek, een applicatie-programmeerinterface voor het implementeren van functies op laag niveau voor interactie met netwerkinterfaces (in het bijzonder het onderscheppen en genereren van willekeurige transmissie-eenheden van netwerkprotocollen en lokale netwerkprotocollen). De Pcap-bibliotheek is ook de basis voor bekende netwerktools zoals tcpdump, snort, nmap, kismet, enz. Voor Unix-achtige systemen is Pcap meestal te vinden in de standaard softwarerepositories. Voor de Windows-familie van besturingssystemen is er een versie van Pcap genaamd Winpcap. Het kan downloaden van projectsite. Dit is echter meestal niet nodig, omdat de Winpcap-bibliotheek is opgenomen in het installatiepakket van Wireshark voor Windows.

Het installatieproces van het programma is voor geen enkel besturingssysteem moeilijk, uiteraard aangepast aan de specifieke kenmerken van het platform dat u gebruikt. Wireshark in Debian/Ubuntu is bijvoorbeeld zo geïnstalleerd dat onbevoegde gebruikers standaard geen pakketten mogen onderscheppen, dus het programma moet worden uitgevoerd met het sudo-mechanisme voor het wijzigen van gebruikers-ID's (of voer de nodige manipulaties uit volgens de standaard DEB-pakketdocumentatie) .

Basisprincipes van het werken met Wireshark

De gebruikersinterface van Wireshark is bovenop de GTK+-bibliotheek gebouwd(GIMP-toolkit). Het hoofdvenster van het programma bevat de volgende elementen: menu, werkbalken en weergavefilters, lijst met pakketten, gedetailleerde beschrijving van het geselecteerde pakket, weergave van pakketbytes (in hexadecimale vorm en als tekst) en statusbalk:

Opgemerkt moet worden dat de gebruikersinterface van het programma goed is ontworpen, behoorlijk ergonomisch en behoorlijk intuïtief, waardoor de gebruiker zich kan concentreren op het bestuderen van netwerkprocessen zonder afgeleid te worden door kleinigheden. Bovendien worden alle functies en details van het gebruik van Wireshark in detail beschreven in handleiding. Daarom richt dit artikel zich op de functionaliteit van het product in kwestie, de functies ervan in vergelijking met andere sniffers, bijvoorbeeld met het bekende consolehulpprogramma tcpdump.

De ergonomie van Wireshark weerspiegelt dus een gelaagde benadering van netwerkinteracties. Alles is zo gedaan dat, door een netwerkpakket uit de lijst te selecteren, de gebruiker de mogelijkheid krijgt om alle headers (lagen) te bekijken, evenals de veldwaarden van elke laag van het netwerkpakket, beginnend bij de wrapper - het Ethernet-frame, de IP-header zelf, de header van de transportlaag en applicatiegegevens.protocollen die in het pakket zitten.

Initiële gegevens voor verwerking kunnen in realtime worden verkregen door Wireshark of worden geïmporteerd uit een dumpbestand voor netwerkverkeer, en verschillende dumps voor analysetaken kunnen direct worden gecombineerd tot één.

Het probleem van het zoeken naar de benodigde pakketten in grote hoeveelheden onderschept verkeer is opgelost twee soorten filters: verkeersverzameling (vangfilters) en zijn weergavefilters. De collectiefilters van Wireshark zijn gebaseerd op de filtertaal van de Pcap-bibliotheek, d.w.z. de syntaxis is in dit geval vergelijkbaar met die van het hulpprogramma tcpdump. Een filter is een reeks primitieven, eventueel gecombineerd met logische functies (en, of, niet). Veelgebruikte filters kunnen worden opgeslagen in herbruikbaar profiel.

De afbeelding toont het Wireshark-verzamelingsfilterprofiel:

De Wireshark-netwerkpakketanalyser heeft ook zijn eenvoudige maar boordevol functies: filtertaal weergeven. De waarde van elk veld in de pakketkop kan als filtercriterium worden gebruikt(IP.src is bijvoorbeeld het bron-IP-adres in het netwerkpakket, frame.len is de lengte van het Ethernet-frame, enz.). Met behulp van vergelijkingsbewerkingen kunnen veldwaarden worden vergeleken met gegeven waarden(bijv. frame.len en combineer verschillende expressies met logische operatoren (bijvoorbeeld: ip.src==10.0.0.5 en tcp.flags.fin). Een goede hulp bij het construeren van expressies is instellingenvenster voor weergaveregels (Filterexpressie):

Hulpprogramma's voor netwerkpakketanalyse

Als verbindingsloze protocollen kunnen worden onderzocht door simpelweg naar individuele pakketten te kijken en statistieken te berekenen, dan wordt de studie van de werking van verbindingsgerichte protocollen sterk vereenvoudigd door de aanwezigheid van extra mogelijkheden om het verloop van netwerkinteracties te analyseren.

Een van de handige functies van Wireshark is het item "Volg de TCP-stream"(letterlijk, "Follow TCP Stream") "Analyse" submenu, waarmee u toepassingsprotocolgegevens kunt extraheren uit de TCP-segmenten van de stream waartoe het geselecteerde pakket behoort:

Een ander interessant item in het analyse-submenu is: "Deskundige Info Samenstelling", dat het venster van het ingebouwde Wireshark-expertsysteem aanroept, dat zal proberen fouten en opmerkingen in pakketten te detecteren, automatisch individuele verbindingen uit de dump haalt en ze karakteriseert. Deze module is in ontwikkeling en wordt van versie tot versie van het programma verbeterd.

In het submenu statistieken "Statistieken" verzamelde opties waarmee u allerlei statistische kenmerken van het bestudeerde verkeer kunt berekenen, grafieken kunt maken van de intensiteit van netwerkstromen, de responstijd van diensten kunt analyseren, enz. Ja, punt "Protocol Hiërarchie" geeft statistieken weer in de vorm van een hiërarchische lijst van protocollen met vermelding van het percentage van het totale verkeer, het aantal pakketten en bytes dat door dit protocol wordt verzonden.

Functie eindpunt geeft statistieken op meerdere niveaus over het inkomende/uitgaande verkeer van elk knooppunt. Paragraaf "Gesprekken"(letterlijk, "talks") stelt u in staat de hoeveelheid verkeer te bepalen van verschillende protocollen (kanaal-, netwerk- en transportlagen van het open systemen-interactiemodel) die tussen interagerende knooppunten worden verzonden. Functie "Pakketlengtes" geeft de distributie van pakketten weer op basis van hun lengte.

Paragraaf Stroomgrafiek... vertegenwoordigt pakketstromen in grafische vorm. Tegelijkertijd, wanneer u een element op de kaart selecteert, wordt het bijbehorende pakket actief in de lijst in het hoofdprogrammavenster:

Een apart submenu in de nieuwste versies van Wireshark is gereserveerd voor IP-telefonie. In het submenu "Extra" is er een item Firewall ACL-regels, zal proberen een firewallregel te maken voor het geselecteerde pakket (de indelingen Cisco IOS, IP Filter, IPFirewall, Netfilter, Packet Filter en Windows Firewall worden ondersteund in versie 1.6.x).

Het programma heeft ook een ingebouwde lichtgewicht interpreter. Lua programmeertaal. Met Lua kunt u uw eigen protocol-decoders en gebeurtenishandlers maken in Wireshark.

In plaats van een conclusie

De Wireshark-netwerkpakketanalyser is een voorbeeld van een Opensource-product dat zowel succesvol is binnen het Unix/Linux-platform als populair is bij gebruikers van Windows en Mac OS X. Natuurlijk zijn er naast Wireshark ook zware complexe intelligente oplossingen in de gebied van onderzoek naar netwerkverkeer, waarvan de functionaliteit veel breder is. Maar ze kosten ten eerste veel geld en ten tweede zijn ze moeilijk te beheersen en te bedienen; ten derde moet je begrijpen dat niet alles geautomatiseerd kan worden en dat geen enkel expertsysteem een ​​goede specialist kan vervangen. Dus als u te maken krijgt met taken die een analyse van het netwerkverkeer vereisen, dan is Wireshark de tool voor u. En fans van de opdrachtregel kunnen het hulpprogramma gebruiken tshark - consoleversie van Wireshark.

Soms doen zich bij het gebruik van internet situaties voor waarin verkeerslekken of onvoorzien verbruik van systeembronnen optreden. Gebruik speciale netwerktools om snel de oorzaak van het probleem te analyseren en te vinden. Een van hen, WireShark, zal in het artikel worden besproken.

algemene informatie

Voordat u WireShark gebruikt, moet u vertrouwd raken met de reikwijdte, functionaliteit en mogelijkheden ervan. Kortom: met het programma kun je in realtime pakketten onderscheppen in bedrade en draadloze netwerkverbindingen. Gebruikt in Ethernet, IEEE 802.11, PPP en soortgelijke protocollen. U kunt ook gebruikmaken van het onderscheppen van VoIP-gespreksverkeer.

Het programma wordt gedistribueerd onder de GNU GPL-licentie, wat gratis en open source betekent. Je kunt het op veel Linux-distributies, MacOS, draaien en er is ook een versie voor het Windows-besturingssysteem.

Hoe gebruik je WireShark?

Eerst moet u het eerst in het systeem installeren. Aangezien een van de meest gebruikte Linux-distributies Ubuntu is, worden alle voorbeelden daarin getoond.

Typ de volgende opdracht in de console om te installeren:

sudo apt-get install wireshark

Daarna verschijnt het programma in het hoofdmenu. Je kunt het vanaf daar uitvoeren. Maar het is beter om het vanaf de terminal te doen, omdat ze superuser-rechten nodig heeft. Dit kan als volgt:

Verschijning

Het programma heeft een gebruiksvriendelijke grafische interface. Er verschijnt een vriendelijk venster voor de gebruiker, verdeeld in 3 delen. De eerste is direct gerelateerd aan het vastleggen, de tweede heeft betrekking op het openen van bestanden en voorbeelden, en de derde is hulp en ondersteuning.

Het Capture-blok bevat een lijst met netwerkinterfaces die beschikbaar zijn voor capture. Wanneer u bijvoorbeeld eth0 selecteert en op de Start-knop drukt, wordt het onderscheppingsproces gestart.

Het venster met onderschepte gegevens is ook logisch verdeeld in verschillende delen. Bovenaan is een bedieningspaneel met verschillende elementen. Het wordt gevolgd door een lijst met pakketten. Het wordt gepresenteerd in de vorm van een tabel. Hier ziet u het serienummer van het pakket, het tijdstip van onderschepping, het adres van vertrek en ontvangst. U kunt ook gegevens over de gebruikte protocollen, lengte en andere nuttige informatie verwijderen.

Onder de lijst is een venster met de inhoud van de technische gegevens van het geselecteerde pakket. En nog lager is er een display in hexadecimale vorm.

Elke weergave kan worden gemaximaliseerd in een groot venster om de gegevens gemakkelijker te kunnen lezen.

Filters toepassen

Tijdens de werking van het programma zullen er altijd tientallen of zelfs honderden pakketten voor de gebruiker draaien. Met de hand wieden is vrij moeilijk en tijdrovend. Daarom beveelt de officiële WireShark-instructie het gebruik van filters aan.

Voor hen is er een speciaal veld in het programmavenster - Filter. Om het filter nauwkeuriger te configureren, is er een Expressie-knop.

Maar in de meeste gevallen is een standaard set filters voldoende:

  • ip.dst - pakketbestemming ip-adres;
  • ip.src - afzenderadres;
  • ip.addr - zomaar een ip;
  • ip.proto - protocol.

Filters gebruiken in WireShark - instructies

Om te proberen hoe het programma met filters werkt, moet u een specifieke opdracht invoeren. Een dergelijke set - ip.dst == 172.217.23.131 - toont bijvoorbeeld alle vliegende pakketten naar de Google-site. Om al het verkeer te zien - zowel inkomend als uitgaand - kunt u twee formules combineren - ip.dst == 172.217.23.131 || ip.src == 172.217.23.131. Het bleek dus twee voorwaarden tegelijk in één regel te gebruiken.

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

Extra functies

Voor het gemak heeft WireShark een manier om snel pakketparameters te selecteren als het geparseerde veld. U kunt bijvoorbeeld in een veld met technische gegevens met de rechtermuisknop op het gewenste object klikken en Toepassen als kolom selecteren. Wat betekent de overdracht naar het veldgebied als een kolom.

Op dezelfde manier kunt u elke parameter als filter selecteren. Om dit te doen, heeft het contextmenu het item Toepassen als filter.

Aparte sessie

U kunt WireShark gebruiken als monitor tussen twee netwerkknooppunten, bijvoorbeeld een gebruiker en een server. Selecteer hiervoor het gewenste pakket, roep het contextmenu op en klik op Volg TCP Stream. Een nieuw venster toont het volledige uitwisselingslogboek tussen de twee knooppunten.

Diagnostiek

WireShark heeft een aparte tool voor het analyseren van netwerkproblemen. Het heet Expert Tools. Je vindt het in de linkerbenedenhoek, in de vorm van een rond pictogram. Door erop te klikken, wordt een nieuw venster geopend met verschillende tabbladen - Fouten, Waarschuwingen en andere. Met hun hulp kunt u analyseren welke knooppunten falen, pakketten niet bereiken en andere problemen met het netwerk detecteren.

Spraakverkeer

Zoals eerder vermeld, kan WireShark ook spraakverkeer onderscheppen. Daar is een heel Telefoniemenu aan gewijd. Dit kan worden gebruikt om problemen in VoIP op te sporen en snel op te lossen.

Met het item VoIP-oproepen in het menu Telefonie kunt u de gevoerde oproepen bekijken en beluisteren.

Objecten exporteren

Dit is waarschijnlijk de meest interessante functie van het programma. Hiermee kunt u WireShark gebruiken als een interceptor voor bestanden die via het netwerk worden verzonden. Om dit te doen, moet u het onderscheppingsproces stoppen en HTTP-objecten exporteren in het menu Bestand. In het venster dat wordt geopend, wordt een lijst weergegeven met alle bestanden die tijdens de sessie zijn overgedragen, die op een handige locatie kunnen worden opgeslagen.

Eindelijk

Helaas zal het moeilijk zijn om de huidige versie van WireShark in het Russisch op het net te vinden. De meest toegankelijke en meest gebruikte is in het Engels.

De situatie is ook met gedetailleerde instructies voor WireShark in het Russisch. Officieel van de ontwikkelaar wordt in het Engels gepresenteerd. Er zijn veel kleine en beknopte tutorials over WireShark voor beginners op internet.

Voor degenen die al heel lang op IT-gebied werken, zal het omgaan met het programma echter geen bijzondere problemen opleveren. En geweldige kansen en rijke functionaliteit zullen alle moeilijkheden bij het studeren opfleuren.

Het is vermeldenswaard dat in sommige landen het gebruik van een sniffer, WireShark, illegaal kan zijn.