Изпълнение на дистанционно заснемане с Wireshark и tcpdump

Wireshark tcpdump дистанционно заснемане

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

Какво представляват Wireshark и tcpdump?

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

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

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

SolarWinds извежда Wireshark на следващото ниво

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

SolarWinds Viewer Time Response View for Wireshark (БЕЗПЛАТЕН ИНСТРУМЕНТ)

В такъв случай препоръчвам SolarWinds Viewer Time Response View for Wireshark. Този плъгин разширява Wireshark, което ви позволява да диагностицирате причината за пинг шипове и общата бавна скорост на мрежата.

SolarWinds визуализатор на времето за реакция за Wireshark

SolarWinds View View Time Viewer for WiresharkDownload 100% БЕЗПЛАТЕН инструмент

Монитор за ефективност на SolarWinds (БЕЗПЛАТНА ПРОБЛЕМА)

SolarWinds също така прави отлично решение всичко в едно за вашата мрежа. Нарича се Монитор на ефективността на мрежата (NPM) и прави администрирането на мрежа много по-лесно. Например, използвайки SolarWinds Network Performance Monitor, можете да наблюдавате и управлявате безжичната си локална мрежа, да генерирате основна производителност и да получавате сигнали за сигурност в реално време..

Изображение на монитора на SolarWinds Network Performance

SolarWinds Network Monitor Monitor е на разположение, за да опитате безрисково в продължение на 30 дни. Регистрирайте се тук безплатно.

SolarWinds Network Performance MonitorDownload 30-дневна БЕЗПЛАТНА пробна версия

Преди да започнеш

За да следвате указанията в това ръководство, ще ви трябва следното:

  • Отдален компютър със SSH сървър и tcpdump инсталиран
  • Корен достъп
  • Услуги, генериращи мрежов трафик, като Apache или node.js, работещи на отдалечения компютър
  • Локален компютър с SSH клиент и Wireshark

Целта е да се използва tcpdump на отдалечения компютър, чрез SSH, за улавяне на мрежовия трафик. Тогава заловеният трафик може да бъде копиран в локалния компютър за анализ с Wireshark.

Това е полезно, когато нямате физически достъп до отдалечения компютър или го използвате „без глава“, т.е. без клавиатура и монитор.

Заснемане на пакети с tcpdump

За да улавяте трафика с tcpdump, ще трябва да се свържете с отдалечения компютър чрез SSH. Ще ви е необходим и root достъп, в противен случай tcpdump няма да може да улавя трафик и ще видите грешка, посочваща Нямате разрешение за заснемане на това устройство.

tcpdump - Заснемане 1

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

sudo tcpdump -s 0 -i eth0 -w tcpdump.pcap

Опциите на командния ред, които използвах за заснемане на тази сесия, ще бъдат обяснени по-долу. Накратко, горната команда ще улови целия трафик на Ethernet устройството и ще го запише във файл с име tcpdump.pcap във формат, съвместим с Wireshark.

tcpdump - Заснемане 2

След като приключите с улавянето на трафика, завършете сесията tcpdump Ctrl + C. Ще видите кратко четене, показващо малко информация за сесията за заснемане.

tcpdump - Заснемане 3

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

sudo chmod 644 tcpdump.pcap

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

Копиране на tcpdump сесия за анализ

След като приключите сесия за заснемане с tcpdump, остава проблем. Как да го копирате на машината, на която работи Wireshark за анализ? Има много начини, но мисля, че най-лесното е с scp. Тъй като вече сте заснели пакети на машина без глава, използвайки SSH, всичко, което трябва да използвате scp, вече е инсталирано и работи.

tcpdump - Заснемане 4

Потребителите на Windows ще трябва да изтеглят pscp, след което да копират файла в C: \ Windows \ System32. Повечето потребители на Mac и Linux вече имат всичко необходимо.

tcpdump - Заснемане 5

В Mac или Linux отворете терминален прозорец и изпълнете следната команда, за да копирате файла за заснемане на сесия:

scp [email protected]: / path / to / file ./

Или в Windows, отворете PowerShell и изпълнете тази команда:

pscp.exe [email protected]: / path / to / file. \

Заменете с вашата информация, когато е подходящо. Ще бъдете подканени да въведете паролата си. Командите, които използвах, са на екрана по-горе за справка.

tcpdump - Заснемане 6

Проверете дали файлът е копиран според очакванията и сте готови да анализирате сесията tcpdump с Wireshark.

Анализира заснета сесия tcpdump с Wireshark

Анализът работи както при всеки традиционен улавяне на Wireshark; единственото нещо, което трябва да знаете, е как да импортирате файла.

tcpdump - Заснемане 7

Стартирайте Wireshark, след това импортирайте заснетата сесия tcpdump, като използвате досие -> отворено и прегледайте вашия файл. Можете също кликнете два пъти файл за улавяне, за да го отворите в Wireshark, стига да има * .pcap файла разширение. Ако сте използвали -w опция, когато стартирате tcpdump, файлът ще се зареди нормално и ще покаже трафика.

tcpdump - Заснемане 7

В моя случай пускам Apache сървър на отдалечения хост и се интересувам да гледам HTTP данни. Задавам подходящия филтър за изглед на Wireshark и мога да разглеждам заснетите кадри както обикновено.

Като тест вградих елемент в HTML кода, който не се показва на страницата. Трябва да мога да го намеря в потока от данни и да го прегледам с Wireshark.

tcpdump - Заснемане 8

Както можете да видите, Wireshark е в състояние да анализира всеки кадър и да показва данните добре. Елементът, който скрих, се показва в горния пример. Процесът на заснемане е малко по-ангажиран, когато използвате tcpdump, но всичко в Wireshark работи както обикновено.

Използване на опциите на командния ред за tcpdump

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

tcpdump -w

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

tcpdump -C

Най- -° С опцията на командния ред ви позволява да зададете максимален размер на файла в байтове. Тази опция работи само успоредно -w. Например командата tcpdump -C 1048576 -w capture.pcap указва максимален размер на заснемане на 1MB (1,048,576 байта) изход към файла capture.pcap.

Ако сесията генерира по-голямо количество продукция, тя ще създаде нови файлове, за да се съхранява. Така че 3MB улавяне ще генерира capture.pcap, capture1.pcap, и capture2.pcap всеки с размер на файла 1MB.

tcpdump -s

Най- опцията на командния ред задава максимална дължина за всеки пакет в байтове и прерязва пакета, когато е достигнат максималният. Командата tcpdump -s 0 задава неограничена дължина, за да гарантира захващане на целия пакет.

tcpdump -i

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

tcpdump -list-интерфейси

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

tcpdump -c

Най- -° С опцията на командния ред казва tcpdump да излезе от сесията след заснемане на определен брой пакети.

tcpdump -n

Най- опцията на командния ред инструктира tcpdump не за разрешаване на IP адреси към имена на хостове. Това е полезно при отстраняване на неизправности при уебсайтове зад балансиращ сървър и в шепа други случаи, когато използвате име на хост, би довело до двусмислени резултати.

tcpdump -v | -vv | -vvv

Трите опции на командния ред, -V, -ст, и -ВВВ ви позволяват да увеличите многословието на вашата сесия за заснемане. -V ще запази TTL стойности за всеки пакет, заедно с ToS информация. -ст ще изведе TTL и ToS заедно с допълнителна информация в NFS пакетите. И -ВВВ ще регистрира всичко, което правят първите две опции, заедно с допълнителна информация от telnet сесиите.

tcpdump -F

Най- -F опцията на командния ред инструктира tcpdump да използва филтри за улавяне от посочения файл. Повече информация за писането на файл за заснемане можете да намерите в следващия раздел.

Използване на филтри за улавяне за tcpdump

Филтрите за улавяне ви позволяват да стесните данните, които tcpdump съхранява в сесия. Те са полезен начин да направите анализа малко по-лесен и да запазите малки файлове за заснемане. Ето някои от най-полезните филтри за улавяне на tcpdump.

домакин

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

нето

Нетният филтър ще каже на вашия компютър да улавя само трафик в дадена подмрежа и приема IP адрес като аргумент. Например 192.168.1.0/24 указва, че трафикът към или от всички хостове в подмрежата ще бъде улавен. Обърнете внимание, че е необходима маска на подмрежата в наклонена черта.

dst домакин

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

src хост

Както по-горе, но този филтър улавя само трафик, който идва от посочения хост или IP адрес. Може да се използва и с нето.

порт

Този филтър казва tcpdump да улавя трафик до и от даден номер на порта. Например, порт 443 ще улови TLS трафик.

portrange

Подобно на порт филтъра, portrange установява набор от портове, на които се улавя трафик. За да използвате филтъра за портрет, посочете началния и крайния порт, разделени от тире. Например, портрейн 21-23.

врата

Филтърът за шлюз указва, че вашият компютър трябва да улавя само трафик, използвал дадено име на хост като шлюз. Името на хоста трябва да бъде намерено в / и т.н. / домакини.

излъчване

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

IP мултикаст

Този филтър уведомява tcpdump да улавя само трафик за множествено предаване в подмрежата на хост машината.

и / или / не оператори

Филтрите могат да бъдат свързани заедно с помощта на и, или, или не оператори. Например, за да уловите целия уеб трафик на даден хост, можете да използвате филтъра порт 80 или порт 443. Или можете да улавяте целия трафик в дадена подмрежа, с изключение на излъчващите пакети, като използвате филтъра нетна 192.168.1.0/24 и не се излъчва.

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

Сложни изрази с множество оператори

Още по-сложни изрази могат да бъдат изградени чрез заобикаляне на множество операции в единични апострофи и скоби. Например, можете да наблюдавате целия пощенски трафик, включително SMTP, IMAP, IMAP през TLS, POP3 и POP3 през TLS, през множество хостове и подмрежи, като използвате команда като тази:

tcpdump "(хост 10.0.0.1 и нет. 192.168.1.0/24) и ((порт 25 или порт 143 или порт 443 или порт 993 или порт 995))"

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

Използване на филтърни файлове за tcpdump

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

Напишете филтърния файл

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

tcpdump - Заснемане 9

Например, ето филмов файл, който написах, който ще обхване целия изходящ трафик от моя сървър Apache към даден хост. В този случай Chromebook, за който пиша.

Докато файлът е четим от потребителя, изпълняващ tcpdump, програмата ще се опита да анализира всичко във филтърния файл и да го използва като валиден филтър. Когато филтърният файл се използва заедно с филтрирането на командния ред, всички филтриране на командния ред ще бъдат игнорирани.

tcpdump - Заснемане 10

Инструктирайте tcpdump да използва всеки файл с филтър, използвайки -F опция на командния ред, последвана от пътя към файла. В горния пример филтърният файл се намира в същата директория, в която изпълнявам tcpdump.

tcpdump - Заснемане 11

Ето суровия изход от филтрираната сесия. Можете да видите, че единствените пакети, които са регистрирани, произхождат от порт 80 или 443, и са изходящи към хоста на 192.168.1.181.

tcpdump - Заснемане 12

След като видите, че вашият филтър работи по предназначение, заснемете сесия, която да се анализира с Wireshark, като използвате команда, подобна на тази:

sudo tcpdump -i eth0 -s 0 -w wireshark.pcap -F филтър-файл

Wireshark и tcpdump

Освен ако не използвате управляван превключвател с администриращ порт, рано или късно ще трябва да улавяте трафик на отдалечен сървър. Когато Wireshark сам няма да се справи, Wireshark с tcpdump е популярен избор. Двамата работят много добре заедно и с няколко прости опции за команден ред, tcpdump ще експортира сесии за улавяне, които лесно могат да бъдат анализирани в Wireshark.

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Leave a Reply

Your email address will not be published. Required fields are marked *

+ 17 = 19

Adblock
detector