Johdatus Tcpdumpiin

Johdatus Tcpdumpiin

Jos käytät palvelinta, pääset epäilemättä pisteeseen, jossa sinun täytyy naulata joitain verkkoon liittyviä ongelmia. Tietysti olisi helppoa lähettää postia tukiosastolle, mutta joskus sinun täytyy likaa kätesi. Tässä tapauksessa se tcpdumpon työkalu kyseiseen työhön. Tcpdump on verkkopakettianalysaattori, joka toimii komentorivin alla.

Tämä artikkeli jaetaan kolmeen osaan:

  • Perusominaisuudet.
  • Suodatus tiettyjen liikenneominaisuuksien perusteella.
  • Lyhyt pätkä edistyneemmistä ominaisuuksista (kuten loogiset lausekkeet, suodatus TCP-lippujen mukaan).

Koska tcpdump ei sisälly useimpiin perusjärjestelmiin, sinun on asennettava se. Kuitenkin lähes kaikissa Linux-jakeluissa on tcpdump ydinvarastoissaan. Debian-pohjaisissa jakeluissa tcpdump-asennuksen komento on:

apt-get install tcpdump

Käytä CentOS/RedHatille seuraavaa komentoa:

yum install tcpdump

FreeBSD tarjoaa valmiiksi rakennetun paketin, joka voidaan asentaa julkaisemalla:

pkg install tcpdump

Saatavilla on myös portti, net/tcpdumpjoka voidaan asentaa seuraavasti:

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

Jos juokset tcpdumpilman argumentteja, tulet olemaan tulosten lyöty. Sen ajaminen juuri käännetyssä ilmentymässä täällä Vultrissa alle viiden sekunnin ajan antaa seuraavat tulokset:

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

Ennen kuin siirryt lisätietoihin syötteen suodattamisesta, sinun tulee tarkastella joitain parametreja, jotka voidaan siirtää tcpdumpiin:

  • -i- Määrittää käyttöliittymän, jota haluat kuunnella, esimerkiksi: tcpdump -i eth0.
  • -n- Älä yritä tehdä käänteisiä hakuja IP-osoitteista, esimerkiksi: tcpdump -n(jos lisäät toisen ntcpdump näyttää porttinumerot nimien sijaan).
  • -X- Näytä kerättyjen pakettien sisältö: tcpdump -X.
  • -c- Vain kaappaa xpaketteja, xkoska se on mielivaltainen luku, esimerkiksi tcpdump -c 10kaappaa täsmälleen 10 pakettia.
  • -v- Lisää sinulle näytettävän pakettitiedon määrää, lisää vs lisää sanallisuutta.

Jokainen näistä tässä mainituista parametreista voidaan yhdistää yhteen. Jos halusit kaapata 100 pakettia, mutta vain VPN-rajapinnalla tun0, tcpdump-komento näyttää tältä:

tcpdump -i tun0 -c 100 -X

Vaihtoehtoja on kymmeniä (ellei satoja) näiden muutamien lisäksi, mutta ne ovat yleisimmät. Voit vapaasti lukea tcpdumpin ohjesivua järjestelmästäsi.

Nyt kun sinulla on perusymmärrys tcpdumpista, on aika tarkastella yhtä tcpdumpin upeimmista ominaisuuksista: lausekkeita. Ilmaisut helpottavat elämääsi paljon. Ne tunnetaan myös nimellä BPF tai Berkeley Packet Filters. Lausekkeiden avulla voit valikoivasti näyttää (tai jättää huomiotta) paketteja tiettyjen ominaisuuksien, kuten alkuperän, määränpään, koon tai jopa TCP-sekvenssinumeron, perusteella.

Toistaiseksi olet onnistunut rajoittamaan haun tiettyyn määrään paketteja tietyssä käyttöliittymässä, mutta olkaamme rehellisiä: se jättää silti liian paljon taustamelua, jotta kerätyt tiedot toimivat tehokkaasti. Siellä ilmaisut tulevat peliin. Konsepti on melko suoraviivainen, joten jätämme kuivan teorian pois tästä ja tuemme ymmärtämistä muutamilla käytännön esimerkeillä.

Ilmaukset, joita käytät luultavasti eniten, ovat:

  • host - Etsi liikennettä isäntänimien tai IP-osoitteiden perusteella.
  • srctai dst- Etsi liikennettä tietystä isännästä tai sinne.
  • proto- Etsi tietyn protokollan liikennettä. Toimii tcp:lle, udp:lle, icmp:lle ja muille. Myös protoavainsanan poisjättäminen on mahdollista.
  • net - Etsi liikennettä tietylle IP-osoitteille / tietyistä IP-osoitteista.
  • port - Etsi liikennettä tiettyyn satamaan / tiettyyn satamaan.
  • greatertai less- Etsi liikennettä, joka on suurempi tai pienempi kuin tietty määrä tavuja.

Manpage tcpdumpsisältää vain muutamia esimerkkejä, mutta sen manpage pcap-filtersisältää erittäin yksityiskohtaiset selitykset kunkin suodattimen toiminnasta ja käytöstä.

Jos haluat nähdä, miten viestintäsi tietyn palvelimen kanssa sujuu, voit käyttää esimerkiksi hostavainsanaa (mukaan lukien jotkin ylhäältä annetut parametrit):

tcpdump -i eth0 host vultr.com

Joskus verkossa on tietokoneita, jotka eivät kunnioita MTU:ta tai lähettävät sinulle roskapostia suurilla paketeilla; niiden suodattaminen voi joskus olla vaikeaa. Lausekkeiden avulla voit suodattaa pois paketit, jotka ovat suurempia tai pienempiä kuin tietty määrä tavuja:

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

Ehkä vain tietty portti kiinnostaa sinua. Käytä tässä tapauksessa portlauseketta:

tcpdump -i eth0 -X port 21

Voit myös tarkkailla porttialueita:

tcdump -i eth0 -X portrange 22-25

Koska NAT-yhdyskäytävät ovat melko yleisiä, voit etsiä vain kohdeportteja:

tcpdump dst port 80

Jos katsot liikennettä verkkopalvelimellesi, haluat ehkä tarkastella vain TCP-liikennettä porttiin 80:

tcpdump tcp and dst port 80

Kysyt luultavasti itseltäsi, mitä avainsana andtekee siellä. Hyvä kysymys. Tästä pääsemme tämän artikkelin viimeiseen osaan.

tcpdump tarjoaa perustuen loogisille lausekkeille, tarkemmin sanottuna:

  • and/ &&- Looginen "ja".
  • or/ ||- Looginen "tai".
  • not/ !- Looginen "ei".

Yhdessä ilmaisujen ryhmittelykyvyn kanssa tämän avulla voit luoda erittäin tehokkaita hakuja saapuvalle ja lähtevälle liikenteelle. Suodatetaan siis liikenne, joka tulee vultr.comista portista 22 tai 443:

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

Tämän suorittaminen komentorivillä antaa sinulle seuraavan virheilmoituksen:

bash: syntax error near unexpected token `('

Tämä johtuu siitä, että siinä on varoitus: bashyrittää arvioida jokaisen hahmonsa. Tämä sisältää (ja )merkit. Tämän virheen välttämiseksi sinun tulee käyttää yksittäisiä lainausmerkkejä yhdistetyn lausekkeen ympärillä:

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

Toinen hyödyllinen esimerkki: Kun etsit SSH-ongelmia jonkun käyttäjän kanssa, voit jättää huomioimatta kaiken, mikä liittyy SSH-istuntoosi:

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

Käyttötapauksia on jälleen loputtomasti, ja voit määrittää äärimmäisiin syvyyksiin, millaista liikennettä haluat nähdä. Seuraava komento näyttää sinulle vain TCP-kättelyn SYNACK-paketit:

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

Tämä toimii tarkastelemalla TCP-otsikon 13. siirtymää ja sen sisällä olevaa kahdeksastoista tavua.

Jos olet päässyt tähän loppuun, olet valmis useimpiin käyttötapauksiin. Voin tuskin koskettaa pintaa menemättä liian moniin yksityiskohtiin. Suosittelen, että kokeilet eri vaihtoehtoja ja ilmaisuja hieman pidemmälle; ja kuten tavallista: viittaa mansivulle, kun eksyt.

Viimeisenä mutta ei vähäisimpänä - nopea katse taaksepäin. Muistatko tämän artikkelin alun? Tuhannet paketit kaapataan muutamassa sekunnissa? Teho tcpdumpvoi leikata sitä paljon:

tcpdump -i eth0 tcp port 22

Tulos on nyt:

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

Tämä on paljon järkevämpää ja helpompi korjata. Hyvää verkostoitumista!


Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Asenna Cacti Debian Jessielle

Asenna Cacti Debian Jessielle

Johdanto Cacti on avoimen lähdekoodin seuranta- ja grafiikkatyökalu, joka perustuu täysin RRD-tietoihin. Cactin kautta voit seurata lähes minkä tahansa tyyppisiä laitteita

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Johdanto Lets Encrypt on varmenteen myöntäjäpalvelu, joka tarjoaa ilmaisia ​​TLS/SSL-varmenteita. Certbot yksinkertaistaa asennusprosessia,

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Käytätkö erilaista järjestelmää? Mikä on Tekkit Classic? Tekkit Classic on modack peliin, jonka kaikki tuntevat ja rakastavat; Minecraft. Se sisältää joitain ver

Asenna iRedMail Debian Wheezylle

Asenna iRedMail Debian Wheezylle

Käytätkö erilaista järjestelmää? Tämä opetusohjelma näyttää kuinka asennat ryhmätyöohjelman iRedMail uuteen Debian Wheezy -asennukseen. Sinun pitäisi käyttää tarjoilua

Jekyll-blogin luominen Ubuntuun 16.04

Jekyll-blogin luominen Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Jekyll on loistava vaihtoehto WordPressille bloggaamiseen tai sisällön jakamiseen. Se ei vaadi tietokantoja ja se on erittäin helppoa i

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Käytätkö erilaista järjestelmää? Jos ostat Debian-palvelimen, sinulla pitäisi aina olla viimeisimmät tietoturvakorjaukset ja -päivitykset riippumatta siitä, oletko nukkumassa vai ei.

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP ja siihen liittyvät paketit ovat yleisimmin käytettyjä komponentteja verkkopalvelimen käyttöönotossa. Tässä artikkelissa opimme asentamaan PHP 7.0 tai PHP 7.1 o

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

1. Virtualmin/Webmin Virtualmin on tehokas ja joustava web-hosting-ohjauspaneeli Linux- ja UNIX-järjestelmille, joka perustuu tunnettuun avoimen lähdekoodin verkkotietokantaan

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii on PHP-kehys, jonka avulla voit kehittää sovelluksia nopeammin ja helpommin. Yiin asentaminen Ubuntuun on yksinkertaista, kuten opit tarkalleen

Näytön käyttö Ubuntu 14.04:ssä

Näytön käyttö Ubuntu 14.04:ssä

Screen on sovellus, joka mahdollistaa usean pääteistuntojen käytön yhdessä ikkunassa. Tämän avulla voit simuloida useita pääteikkunoita, joissa se ma

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Tämä opetusohjelma selittää, kuinka DNS-palvelin määritetään Bind9:n avulla Debianissa tai Ubuntussa. Korvaa koko artikkelin ajan verkkotunnuksesi-nimi.com vastaavasti. klo th

Logrotaten käyttäminen lokitiedostojen hallintaan

Logrotaten käyttäminen lokitiedostojen hallintaan

Johdanto Logrotate on Linux-apuohjelma, joka yksinkertaistaa lokitiedostojen hallintaa. Se toimii yleensä kerran päivässä cron-työn kautta ja hallitsee lokipohjaa

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Asenna Red5 Media Server Ubuntu 16.04:ään

Asenna Red5 Media Server Ubuntu 16.04:ään

Käytätkö erilaista järjestelmää? Red5 on Java-kielellä toteutettu avoimen lähdekoodin mediapalvelin, jonka avulla voit ajaa Flash-monikäyttäjäsovelluksia, kuten suoratoistoa.

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Tässä artikkelissa näemme, kuinka Nginx-päälinja voidaan kääntää ja asentaa virallisista Nginx-lähteistä PageSpeed-moduulilla, jonka avulla voit

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja