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

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

Показване на филтрите

Ето един пример за живо улавяне в Wireshark:

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

1. Филтрира информацията, базирана на протокол

За да филтрирате резултатите въз основа на конкретен протокол, просто напишете името му в полето за филтриране и натиснете Enter. Например следната екранна снимка показва информация, свързана с HTTP протокола:

Обърнете внимание, че колоната Protocol съдържа само записи HTTP. Ако се изисква информация, свързана с повече от един протокол, въведете имената на протоколите, разделени от двойна тръба (или логически OR оператор) ||, Ето един пример:

 http || arp || ICMP 

2. Филтриране на информацията въз основа на IP адрес

За да филтрирате резултатите въз основа на източника на IP, използвайте ip.src филтъра. Ето един пример:

 ip.src == 50.116.24.50 

По същия начин използвайте ip.dst да филтрирате резултатите въз основа на целевия IP адрес. За да се показват пакети източник и дестинация с конкретен IP адрес, използвайте филтъра ip.addr . Ето един пример:

 ip.addr == 50.116.24.50 

Обърнете внимание, че пакетите с източник или целеви IP адрес като 50.116.24.50 се показват на изхода.

За да изключите пакети с конкретен IP адрес, използвайте оператора != . Ето един пример:

 ip.src! = 50.116.24.50 

3. Филтрира информацията, базирана на порт

Можете също така да филтрирате записания трафик на базата на мрежови портове. Например, за да се показват само тези пакети, които съдържат TCP източник или целеви порт 80, използвайте филтъра tcp.port . Ето един пример:

 tcp.port == 80 

По същия начин можете да използвате tcp.srcport и tcp.dstport да филтрирате резултатите поотделно на базата съответно на TCP източника и целевите пристанища.

Wireshark има също така възможност да филтрира резултатите на базата на TCP флагове. Например, за показване на тези TCP пакети, които съдържат флаг на SYN, използвайте филтъра tcp.flags.syn . Ето един пример:

По същия начин можете да филтрирате резултатите и на други флагове, като ACK, FIN и др., Като използвате филтри като tcp.flags.ack, tcp.flags.fin и др.

4. Някои други полезни филтри

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

Например TCP пакетите, съдържащи 00 00 01 байт последователност, могат да бъдат филтрирани по следния начин:

 tcp съдържа 00:00:01 

Като се движите, точно както можете да филтрирате резултатите въз основа на IP адреси (обяснено по-горе), можете също да филтрирате резултатите въз основа на MAC адреси, като използвате филтъра eth.addr . Например, за да видите целия трафик, идващ и излизащ от машина с MAC адрес, кажете AA: BB: CC: DD: EE: FF, използвайте следната команда:

 eth.addr == АА: BB: CC: DD: EE: FF 

заключение

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