Yritätkö kaapata datapaketteja analysoidaksesi verkon liikennettä? Ehkä olet palvelimen järjestelmänvalvoja, joka on törmännyt ongelmaan ja haluaa seurata lähetettyjä tietoja verkossa. Tilanteesta riippumatta tcpdump Linux -apuohjelma on mitä tarvitset.
Tässä artikkelissa keskustellaan yksityiskohtaisesti tcpdump -komennosta sekä joitain oppaita tcpdumpin asentamisesta ja käytöstä Linux-järjestelmässäsi.
Mikä on tcpdump-komento?
Tcpdump on tehokas verkonvalvontatyökalu, jonka avulla käyttäjä voi suodattaa paketteja ja liikennettä verkossa tehokkaasti. Saat yksityiskohtaista tietoa TCP / IP: stä ja verkossa lähetetyistä paketeista. Tcpdump on komentorivin apuohjelma, mikä tarkoittaa, että voit käyttää sitä Linux-palvelimilla ilman näyttöä.
Järjestelmänvalvojat voivat myös integroida tcpdump-apuohjelman cron automatisoida erilaisia tehtäviä, kuten kirjaaminen. Koska sen lukuisat ominaisuudet tekevät siitä melko monipuolisen, tcpdump toimii sekä vianmäärityksen että turvatyökaluna.
Kuinka asentaa tcpdump Linuxiin
Vaikka useimmiten löydät tcpdumpin esiasennettuna järjestelmääsi, jotkut Linux-jakelut eivät toimiteta paketin mukana. Siksi sinun on ehkä asennettava apuohjelma järjestelmään manuaalisesti.
Voit tarkistaa, onko tcpdump asennettu järjestelmään, käyttämällä mikä komento.
mikä tcpdump
Jos tulos näyttää hakemistopolun (/usr/bin/tcpdump), sitten järjestelmäsi on asentanut paketin. Jos ei, voit tehdä sen helposti käyttämällä järjestelmän oletuspakettien hallintaa.
Asenna tcpdump Debian-pohjaisiin jakeluihin, kuten Ubuntu:
sudo apt-get install tcpdump
Myös tcpdumpin asentaminen CentOSiin on helppoa.
sudo yum asenna tcpdump
Arch-pohjaisiin jakeluihin:
sudo pacman -S tcpdump
Asentaminen Fedoraan:
sudo dnf asenna tcpdump
Huomaa, että tcpdump-paketti vaatii libcap riippuvuutena, joten varmista, että asennat sen myös järjestelmään.
Tcpdump-esimerkkejä verkkopakettien sieppaamisesta Linuxissa
Nyt kun tcpdump on asennettu onnistuneesti Linux-koneellesi, on aika tarkkailla joitain paketteja. Koska tcpdump vaatii pääkäyttäjän oikeudet suurimman osan toimintojen suorittamiseen, sinun on lisättävä sudo komentoihisi.
1. Luettelo kaikista verkkoliitännöistä
Voit tarkistaa, mitkä verkkoliitännät ovat siepattavissa, käyttämällä -D lippu tcpdump-komennolla.
tcpdump -D
Läpäiseminen --list-rajapinnat lippu argumenttina palauttaa saman tuloksen.
tcpdump --list-interface
Lähtö on luettelo kaikista järjestelmässäsi olevista verkkoliitännöistä.
Saatuaan luettelon verkkoliitännöistä on aika seurata verkkoasi kaappaamalla paketteja järjestelmään. Vaikka voit määrittää, mitä käyttöliittymää haluat käyttää, minkä tahansa argumentti komentaa tcpdump kaappaamaan verkkopaketit millä tahansa aktiivisella käyttöliittymällä.
tcpdump - käyttöliittymä mikä tahansa
Järjestelmä näyttää seuraavan lähdön.
Liittyvät: Mikä on avoimen järjestelmän yhteenliittämismalli?
2. Tcpdump-tulostusmuoto
Kolmannelta riviltä alkaen lähtöjen kukin rivi tarkoittaa tiettyä pakettia, jonka tcpdump on kaapannut. Näin yhden paketin lähtö näyttää.
17: 00: 25.369138 wlp0s20f3 Out IP localsystem.40310> kul01s10-in-f46.1e100.net.https: Flags [P.], s. 196: 568, ack 1, win 309, options [nop, nop, TS val 117964079 ecr 816509256], pituus 33
Muista, että kaikkia paketteja ei siepata tällä tavalla, mutta useimmat niistä seuraavat yleistä muotoa.
Tulos sisältää seuraavat tiedot.
- Vastaanotetun paketin aikaleima
- Liitännän nimi
- Pakettivirta
- Verkkoprotokollan nimi
- IP-osoite ja portin tiedot
- TCP-liput
- Paketin datan järjestysnumero
- Ack-tiedot
- Ikkunan koko
- Paketin pituus
Ensimmäinen kenttä (17:00:25.369138) näyttää aikaleiman, kun järjestelmäsi lähetti tai vastaanotti paketin. Tallennettu aika otetaan järjestelmän paikalliselta ajalta.
Toinen ja kolmas kenttä tarkoittavat käytettyä rajapintaa ja paketin kulkua. Yllä olevassa katkelmassa wlp0s20f3 on langattoman käyttöliittymän nimi ja Ulos on pakettivirta.
Neljäs kenttä sisältää tietoja verkkoprotokollan nimestä. Yleensä löydät kaksi protokollaa - IP ja IP6, jossa IP tarkoittaa IPV4: ää ja IP6 on IPV6: ta.
Seuraava kenttä sisältää IP-osoitteet tai lähde- ja kohdejärjestelmän nimen. IP-osoitteita seuraa portin numero.
Tuloksen kuudes kenttä koostuu TCP-lipuista. Tcpdump-lähdössä käytetään useita lippuja.
Lippunimi | Arvo | Kuvaus |
---|---|---|
SYN | S | Yhteys aloitettu |
FIN | F | Yhteys on valmis |
TYÖNTÄÄ | P | Tiedot työnnetään |
RST | R | Yhteys on nollattu |
ACK | . | Tunnustus |
Lähtö voi sisältää myös useiden TCP-lippujen yhdistelmän. Esimerkiksi, LIPPU [f.] tarkoittaa FIN-ACK-pakettia.
Siirryttäessä edelleen lähdekoodinpätkässä seuraava kenttä sisältää järjestysnumeron (196: 568) paketissa olevista tiedoista. Ensimmäisellä paketilla on aina positiivinen kokonaislukuarvo, ja seuraavat paketit käyttävät suhteellista järjestysnumeroa datavirran parantamiseksi.
Seuraava kenttä sisältää kuittausnumeron (ack 1) tai yksinkertainen Ack-numero. Lähettäjän koneeseen siepatulla paketilla on 1 kuittausnumero. Vastaanottimen päässä Ack-numero on seuraavan paketin arvo.
Tuloksen yhdeksäs kenttä sopii ikkunan kokoon (voittaa 309), joka on vastaanottavassa puskurissa käytettävissä olevien tavujen määrä. On useita muita kenttiä, jotka seuraavat ikkunan kokoa, mukaan lukien enimmäissegmentin koko (MSS).
Viimeinen kenttä (pituus 33) sisältää tcpdumpin kaappaaman kokonaispaketin pituuden.
3. Rajoita siepattujen pakettien määrää
Kun suoritat tcpdump -komennon ensimmäistä kertaa, saatat huomata, että järjestelmä jatkaa verkkopakettien sieppaamista, kunnes välität keskeytyssignaalin. Voit ohittaa tämän oletustoiminnon määrittämällä etukäteen kaapattavien pakettien määrän käyttämällä -c lippu.
tcpdump - käyttöliittymä mikä tahansa -c 10
Edellä mainittu komento sieppaa kymmenen pakettia mistä tahansa aktiivisesta verkkoliitännästä.
4. Suodata paketit kenttien perusteella
Kun selvität ongelman, ison tekstilohkon saaminen päätelaitteestasi ei tee siitä helpompaa. Siellä tcpdumpin suodatusominaisuus tulee esiin. Voit suodattaa paketit eri kenttien mukaan lukien isäntä, protokolla, portin numero ja paljon muuta.
Jos haluat kaapata vain TCP-paketteja, kirjoita:
tcpdump - käyttöliittymä mikä tahansa -c 5 tcp
Vastaavasti, jos haluat suodattaa lähdön portin numeron avulla:
tcpdump - käyttöliittymä mihin tahansa -c 5 -porttiin 50
Edellä mainittu komento noutaa vain määritetyn portin kautta lähetetyt paketit.
Saadaksesi tietyn isännän pakettitiedot:
tcpdump --interface any -c 5-isäntä 112.123.13.145
Jos haluat suodattaa tietyn isännän lähettämät tai vastaanottamat paketit, käytä src tai dst argumentti komennolla.
tcpdump --interface any -c 5 src 112.123.13.145
tcpdump - käyttöliittymä mikä tahansa -c 5 dst 112.123.13.145
Voit käyttää myös loogisia operaattoreita ja ja tai yhdistää kaksi tai useampaa lauseketta yhteen. Esimerkiksi lähde-IP: hen kuuluvien pakettien saamiseksi 112.123.13.145 ja käytä porttia 80:
tcpdump - käyttöliittymä mihin tahansa -c 10 src 112.123.13.145 ja portti 80
Kompleksilausekkeet voidaan ryhmitellä yhteen käyttämällä suluissa seuraavasti:
tcpdump - käyttöliittymä -c 10 "(src 112.123.13.145 tai src 234.231.23.234) ja (portti 45 tai portti 80)"
5. Tarkastele paketin sisältöä
Voit käyttää -A ja -x liputtaa tcpdump-komennolla analysoimaan verkkopaketin sisältöä. -A lippu tarkoittaa ASCII muoto ja -x tarkoittaa heksadesimaali muoto.
Seuraavan järjestelmän kaappaaman verkkopaketin sisällön tarkasteleminen:
tcpdump --liittymän mikä tahansa -c 1 -A
tcpdump --liittymän kaikki -c 1 -x
Liittyvät: Mikä on pakettihäviö ja kuinka korjata sen syy?
6. Tallenna sieppaustiedot tiedostoon
Jos haluat tallentaa sieppaustiedot viitetarkoituksiin, tcpdump auttaa sinua. Anna vain -w lippu oletuskomennolla, jolla kirjoitetaan lähtö tiedostoon sen sijaan, että se näytetään ruudulla.
tcpdump --interface kaikki -c 10 -w data.pcap
.pcap tiedostotunniste tarkoittaa pakettien sieppaaminen tiedot. Voit myös antaa edellä mainitun komennon yksityiskohtaisessa tilassa käyttämällä -v lippu.
tcpdump --interface kaikki -c 10 -w data.pcap -v
Voit lukea a .pcap tiedosto tcpdump, käytä -r lippu, jota seuraa tiedostopolku. -r tarkoittaa Lukea.
tcpdump -r data.pcap
Voit myös suodattaa verkkopaketit tiedostoon tallennetusta pakettidatasta.
tcpdump -r data.pcap-portti 80
Verkkoliikenteen seuraaminen Linuxissa
Jos sinulle on annettu Linux-palvelimen ylläpitotehtävä, tcpdump-komento on loistava työkalu sisällyttää arsenaaliin. Voit korjata verkkoon liittyvät ongelmat helposti kaappaamalla verkossa lähetetyt paketit reaaliajassa.
Mutta ennen kaikkea laitteesi on oltava yhteydessä Internetiin. Linux-aloittelijoille jopa yhteyden muodostaminen Wi-Fi-verkkoon komentorivin kautta voi olla hieman haastavaa. Mutta jos käytät oikeita työkaluja, se on helppoa.
Haluatko muodostaa yhteyden Wi-Fi-verkkoon Linux-komentorivin kautta? Tässä on mitä sinun tarvitsee tietää nmcli-komennosta.
Lue seuraava
- Linux
- Turvallisuus
- Verkon rikostekniset palvelut
Deepesh on MUO: n Linuxin nuorempi toimittaja. Hän on kirjoittanut tietosisältöä Internetissä yli 3 vuotta. Vapaa-ajallaan hän nauttii kirjoittamisesta, musiikin kuuntelusta ja kitaransoitosta.
Tilaa uutiskirjeemme
Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja erikoistarjouksia!
Vielä yksi askel !!!
Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.