Hyrje në Tcpdump

Hyrje në Tcpdump

Nëse drejtoni një server, pa dyshim do të arrini në një pikë ku duhet të zgjidhni disa probleme të lidhura me rrjetin. Sigurisht që do të ishte e lehtë të shkrepje vetëm një postë në departamentin e mbështetjes, por ndonjëherë duhet të ndotni duart. Në këtë rast, tcpdumpështë mjeti për atë punë. Tcpdump është një analizues i paketave të rrjetit që funksionon nën vijën e komandës.

Ky artikull do të ndahet në tri pjesë:

  • Karakteristikat themelore.
  • Filtrim bazuar në karakteristika të caktuara të trafikut.
  • Një fragment i shkurtër i veçorive më të avancuara (të tilla si shprehjet logjike, filtrimi sipas flamujve TCP).

Meqenëse tcpdump nuk përfshihet në shumicën e sistemeve bazë, do t'ju duhet ta instaloni atë. Sidoqoftë, pothuajse të gjitha shpërndarjet Linux kanë tcpdump në depot e tyre thelbësore. Për shpërndarjet e bazuara në Debian, komanda për të instaluar tcpdump është:

apt-get install tcpdump

Për CentOS/RedHat, përdorni komandën e mëposhtme:

yum install tcpdump

FreeBSD ofron një paketë të para-ndërtuar e cila mund të instalohet duke lëshuar:

pkg install tcpdump

Ekziston gjithashtu një port i disponueshëm, i net/tcpdumpcili mund të instalohet nëpërmjet:

cd /usr/ports/net/tcpdump
make install clean

Nëse vraponi tcpdumppa asnjë argument, do të goditeni me rezultate. Ekzekutimi i tij në një shembull të sapo rrotulluar këtu në Vultr për më pak se pesë sekonda jep rezultatet e mëposhtme:

2661 packets captured
2663 packets received by filter
0 packets dropped by kernel

Përpara se të hyni në më shumë detaje se si të filtroni hyrjen, duhet t'i hidhni një sy disa parametrave që mund t'i kalohen tcpdump:

  • -i- Përcakton ndërfaqen në të cilën dëshironi të dëgjoni, për shembull: tcpdump -i eth0.
  • -n- Mos u përpiqni të bëni kërkime të kundërta në adresat IP, për shembull: tcpdump -n(nëse shtoni një ntcpdump tjetër, do t'ju tregojë numrat e portave në vend të emrave).
  • -X- Trego përmbajtjen e paketave të mbledhura: tcpdump -X.
  • -c- Kapni vetëm xpaketa, xduke qenë një numër arbitrar, për shembull tcpdump -c 10kap saktësisht 10 pako.
  • -v- Rritni sasinë e informacionit të paketës që ju shfaqet, më shumë vs shtoni më shumë folje.

Secili prej këtyre parametrave të përmendur këtu mund të kombinohet së bashku. Nëse dëshironi të kapni 100 pako, por vetëm në ndërfaqen tuaj VPN tun0, atëherë komanda tcpdump do të dukej kështu:

tcpdump -i tun0 -c 100 -X

Ka dhjetëra (nëse jo qindra) opsione përveç atyre pak, por ato janë më të zakonshmet. Mos ngurroni të lexoni faqen e menaxhimit të tcpdump në sistemin tuaj.

Tani që keni një kuptim bazë të tcpdump, është koha të shikoni një nga veçoritë më të mrekullueshme të tcpdump: shprehjet. Shprehjet do ta bëjnë jetën tuaj shumë më të lehtë. Ata njihen gjithashtu si filtra të paketave BPF ose Berkeley. Përdorimi i shprehjeve ju lejon të shfaqni (ose injoroni) në mënyrë selektive paketat bazuar në karakteristika të caktuara - të tilla si origjina, destinacioni, madhësia, apo edhe numri i sekuencës TCP.

Deri më tani keni arritur të kufizoni kërkimin tuaj në një sasi të caktuar paketash në një ndërfaqe të caktuar, por le të jemi të sinqertë këtu: kjo ende lë shumë zhurmë në sfond për të punuar në mënyrë efektive me të dhënat e mbledhura. Këtu hyjnë në lojë shprehjet. Koncepti është mjaft i drejtpërdrejtë, kështu që ne do ta lëmë jashtë teorinë e thatë këtu dhe do ta mbështesim kuptimin me disa shembuj praktikë.

Shprehjet që ndoshta do të përdorni më shumë janë:

  • host - Kërkoni trafik bazuar në emrat e hosteve ose adresat IP.
  • srcose dst- Kërkoni trafik nga ose drejt një hosti specifik.
  • proto- Kërkoni trafikun e një protokolli të caktuar. Punon për tcp, udp, icmp dhe të tjerët. Heqja e protofjalës kyçe është gjithashtu e mundur.
  • net - Kërkoni për trafik në / nga një gamë e caktuar adresash IP.
  • port - Kërkoni trafik për / nga një port i caktuar.
  • greaterose less- Kërkoni për trafik më të madh ose më të vogël se një sasi e caktuar bajtësh.

Ndërsa faqja e menaxhimit për tcpdumppërmban vetëm disa shembuj, faqja e menaxhimit për pcap-filterka shpjegime shumë të hollësishme se si funksionon dhe mund të aplikohet secili filtër.

Nëse doni të shihni se si po shkon komunikimi juaj me një server të caktuar, atëherë mund të përdorni fjalën hostkyçe, për shembull (duke përfshirë disa nga parametrat nga lart):

tcpdump -i eth0 host vultr.com

Ndonjëherë ka kompjuterë në rrjet që nuk respektojnë MTU-në ose ju dërgojnë mesazhe të padëshiruara me pako të mëdha; filtrimi i tyre ndonjëherë mund të jetë i vështirë. Shprehjet ju lejojnë të filtroni paketat që janë më të mëdha ose më të vogla se një numër i caktuar bajtësh:

tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32

Ndoshta vetëm një port i caktuar është me interes për ju. Në këtë rast, përdorni portshprehjen:

tcpdump -i eth0 -X port 21

Ju gjithashtu mund të shikoni për vargjet e porteve:

tcdump -i eth0 -X portrange 22-25

Meqenëse portat NAT janë mjaft të zakonshme, mund të kërkoni vetëm portet e destinacionit:

tcpdump dst port 80

Nëse jeni duke parë trafikun në serverin tuaj të internetit, mund të dëshironi të shikoni vetëm trafikun TCP në portin 80:

tcpdump tcp and dst port 80

Ju ndoshta po pyesni veten se çfarë andpo bën fjala kyçe atje. Pyetje e mirë. Kjo na çon në pjesën e fundit të këtij artikulli.

tcpdump ofron mbështetje bazë për shprehjet logjike, më konkretisht:

  • and/ &&- Logjike "dhe".
  • or/ ||- Logjike "ose".
  • not/ !- Logjike "jo".

Së bashku me aftësinë për të grupuar shprehjet së bashku, kjo ju lejon të krijoni kërkime shumë të fuqishme për trafikun në hyrje dhe në dalje. Pra, le të filtrojmë trafikun që vjen nga vultr.com në portin 22 ose 443:

tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)

Ekzekutimi i kësaj në vijën e komandës do t'ju japë gabimin e mëposhtëm:

bash: syntax error near unexpected token `('

Kjo sepse ka një paralajmërim: bashpërpiqet të vlerësojë çdo personazh që mundet. Kjo përfshin (dhe )personazhet. Për të shmangur këtë gabim, duhet të përdorni thonjëza të vetme rreth shprehjes së kombinuar:

tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'

Një shembull tjetër i dobishëm: Kur korrigjoni problemet e SSH me një nga përdoruesit tuaj, mund të dëshironi të injoroni gjithçka që lidhet me seancën tuaj SSH:

tcpdump '!(host $youripaddress) && port 22)'

Përsëri, rastet e përdorimit janë të pafundme, dhe ju mund të specifikoni në thellësi ekstreme se çfarë lloj trafiku dëshironi të shihni. Komanda e mëposhtme do t'ju tregojë vetëm paketat SYNACK të një shtrëngimi duarsh TCP:

tcpdump -i eth0 'tcp[13]=18'

Kjo funksionon duke parë kompensimin e trembëdhjetë të kokës TCP dhe bajtin e tetëmbëdhjetë brenda tij.

Nëse e keni arritur deri këtu, atëherë jeni gati për shumicën e rasteve të përdorimit që do të shfaqen. Mezi mund ta prek sipërfaqen pa hyrë në shumë detaje. Unë rekomandoj shumë që të eksperimentoni me opsionet dhe shprehjet e ndryshme pak më tej; dhe si zakonisht: referojuni faqes së menaxhimit kur humbisni.

E fundit por jo më pak e rëndësishme - një vështrim i shpejtë pas. E mbani mend fillimin e këtij artikulli? Me mijëra pako të kapur në pak sekonda? Fuqia e tcpdumpmund ta shkurtojë atë shumë:

tcpdump -i eth0 tcp port 22

Rezultati është tani:

81 packets captured
114 packets received by filter
0 packets dropped by kerne

Kjo është shumë më e arsyeshme dhe më e lehtë për tu korrigjuar. Gëzuar rrjetëzimin!


Instaloni Plesk në CentOS 7

Instaloni Plesk në CentOS 7

Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave

Instaloni Lets Encrypt SSL në aplikacionin WordPress me një klik

Instaloni Lets Encrypt SSL në aplikacionin WordPress me një klik

Hyrje Lets Encrypt është një shërbim i autoritetit certifikues që ofron certifikata falas TLS/SSL. Procesi i instalimit është thjeshtuar nga Certbot,

Si të instaloni dhe konfiguroni PHP 7.0 ose PHP 7.1 në Ubuntu 16.04

Si të instaloni dhe konfiguroni PHP 7.0 ose PHP 7.1 në Ubuntu 16.04

PHP dhe paketat e lidhura me to janë komponentët më të përdorur gjatë vendosjes së një serveri në internet. Në këtë artikull, ne do të mësojmë se si të konfigurojmë PHP 7.0 ose PHP 7.1 o

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni

Tre panele kontrolli të serverit falas (Instalim i shpejtë)

Tre panele kontrolli të serverit falas (Instalim i shpejtë)

1. Virtualmin/Webmin Virtualmin është një panel kontrolli i fuqishëm dhe fleksibël i hostimit në internet për sistemet Linux dhe UNIX i bazuar në bazën e mirënjohur të internetit me burim të hapur.

Vendosja e një aplikacioni Yii në Ubuntu 14.04

Vendosja e një aplikacioni Yii në Ubuntu 14.04

Yii është një kornizë PHP që ju lejon të zhvilloni aplikacione më shpejt dhe më lehtë. Instalimi i Yii në Ubuntu është i thjeshtë, siç do të mësoni saktësisht

Përdorimi i ekranit në Ubuntu 14.04

Përdorimi i ekranit në Ubuntu 14.04

Screen është një aplikacion që lejon përdorimin e shumëfishtë të sesioneve të terminalit brenda një dritareje. Kjo ju lejon të simuloni dritare të shumta terminale ku është ma

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Ky tutorial shpjegon se si të konfiguroni një server DNS duke përdorur Bind9 në Debian ose Ubuntu. Gjatë gjithë artikullit, zëvendësoni emrin e domain-it tuaj në përputhje me rrethanat. Në

Përdorimi i Logrotate për të menaxhuar skedarët e regjistrave

Përdorimi i Logrotate për të menaxhuar skedarët e regjistrave

Hyrje Logrotate është një mjet Linux që thjeshton administrimin e skedarëve të regjistrit. Zakonisht funksionon një herë në ditë përmes një pune cron dhe menaxhon bazën e regjistrave

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Në këtë artikull, ne do të shohim se si të përpiloni dhe instaloni Nginx mainline nga burimet zyrtare të Nginx me modulin PageSpeed, i cili ju lejon t

Si të instaloni Gitea në Debian 9

Si të instaloni Gitea në Debian 9

Përdorimi i një sistemi të ndryshëm? Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga Git. Gitea është shkruar në Golang dhe është

Si të instaloni Gitea në Ubuntu 18.04

Si të instaloni Gitea në Ubuntu 18.04

Përdorimi i një sistemi të ndryshëm? Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga git. Gitea është shkruar në Golang dhe është

Si të instaloni MODX Revolution në një FreeBSD 11 FAMP VPS

Si të instaloni MODX Revolution në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, me burim të hapur, i shkallës së ndërmarrjes, i shkruar në PHP. Ajo i

Instalimi i Docker CE në Ubuntu 16.04

Instalimi i Docker CE në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Docker është një aplikacion që lejon vendosjen e programeve që ekzekutohen si kontejnerë. Ishte shkruar në programin popullor Go

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Golang është një gjuhë programimi e zhvilluar nga Google. Falë shkathtësisë, thjeshtësisë dhe besueshmërisë së tij, Golang është bërë një nga më të populluarit

Përmirësimi i shfrytëzimit të lopës së pistë në CentOS

Përmirësimi i shfrytëzimit të lopës së pistë në CentOS

Çfarë është Lopa e Pistë (CVE-2016-5195)? Dobësia e Dirty Cow shfrytëzohet përmes mënyrës se si Linux përpunon kodin. Ai lejon që një përdorues i paprivilegjuar të gai

Konfiguro një përdorues jo-rrënjë me Sudo Access në Ubuntu

Konfiguro një përdorues jo-rrënjë me Sudo Access në Ubuntu

Të kesh vetëm një përdorues, i cili është root, mund të jetë i rrezikshëm. Pra, le ta rregullojmë atë. Vultr na ofron lirinë për të bërë si të duam me përdoruesit dhe serverët tanë

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Nëse e keni harruar fjalëkalimin tuaj rrënjësor MySQL, mund ta rivendosni atë duke ndjekur hapat në këtë artikull. Procesi është mjaft i thjeshtë dhe funksionon në to

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë