Linux on varustettu lukuisilla verkkoapuohjelmilla, joista valita. tcpdump on yksi sellaisista tehokkaista verkkotyökaluista, joka voi siepata ja analysoida verkkoliikennettä, jos sinun on tehtävä verkkovirheiden vianmääritys Linuxissa.
Tutustutaanpa tcpdump-komentoon ja tutkitaan kuinka sitä käytetään verkkoliikenteen sieppaamiseen.
Asenna tcpdump Linuxiin
tcpdump tulee yleensä esiasennettuna kaikki valtavirran Linux-jakelut ja turvallisuuteen perustuvia vaihtoehtoja. Joten sinun pitäisi pystyä käyttämään sitä heti kirjoittamalla tcpdump kanssa sudo etuliite.
Jos et pysty suorittamaan tcpdump-komentoa ja olet jumissa "tcpdump: komentoa ei löydy" -virhe, opetellaan asentamaan tcpdump Linux-koneellesi.
Asenna tcpdump käynnistämällä pääte ja suorittamalla tällä hetkellä käyttämääsi Linux-distroa vastaava komento:
Suorita Debian/Ubuntu-johdannaisissa:
sudo apt-saada asenna tcpdump
Päällä Arch-pohjaiset järjestelmät, juosta:
sudo pacman -S tcpdump
Asenna tcpdump-apuohjelma Fedoraan, CentOS: ään ja RHELiin antamalla seuraava komento:
sudo dnf Asentaa tcpdump
Huomaa, että jos sinua pyydetään asentamaan libcap, Kirjoita Joo tai Y koska se on ydinriippuvuus, jota ilman tcpdump kieltäytyy käynnistymästä. Tämän pitäisi asentaa tcpdump-apuohjelma ja ratkaista "komentoa ei löydy" -virhe.
Nyt kun tcpdump on asennettu järjestelmääsi, tutkitaan sen tarjoamia vaihtoehtoja ja toimintoja.
Verkkoliikenteen sieppaus tcpdumpilla
tcpdump tarjoaa paljon lippuja suorituskyvyn muokkaamiseen, mutta se voidaan suorittaa myös itsenäisenä komennona. Kuitenkin tcpdump: n suorittaminen ilman lippuja tai argumentteja jättäisi sen täyden potentiaalin huomiotta. On aina parempi käyttää muutamia lippuja säätämään suoritusta ja tulosta tarvittaessa.
Kirjoita tämä komento seurataksesi verkkolähetyksiä tcpdumpilla:
sudo tcpdump
Nyt tcpdump alkaa automaattisesti kaapata verkkopaketteja, kunnes keskeytyssignaali lähetetään mukana Ctrl + Z katkaista prosessi manuaalisesti. Voit rajoittaa kaapattujen pakettien kokonaismäärää käyttämällä -c lippu ja kirjoita haluamasi pakettien raja sen viereen:
sudo tcpdump -c 5
Jos et ymmärrä tulosta juuri nyt, sinun on tehtävä se tutustu tcpdump-tulostusmuotoon ensimmäinen.
Tarkista käytettävissä olevat verkkoliitännät tcpdumpilla
Oletuksena tcpdump kaappaa liikenteen mistä tahansa käytettävissä olevista verkkoliitännöistä. Jos käytössäsi on useita aktiivisia verkkoliitäntöjä, sinun kannattaa ehkä määrittää verkkoliitäntä, josta tcpdump kaappaa paketit. Jos haluat käynnistää tcpdump-ohjelman tietyssä käyttöliittymässä, sinun on ensin opittava käyttöliittymän nimi.
Näin luettelet kaikki käytettävissä olevat verkkoliitännät tcpdumpilla:
sudo tcpdump -D
Tai voit lisätä --list-rajapinnat lippu komentoon:
sudo tcpdump --lista-rajapinnat
Palautettu tulos sisältää luettelon kaikista aktiivisista verkkoliitännöistä, joita tcpdump voi kuunnella. Määritä tcpdump sieppaamaan lähetykset tietystä verkkoliittymästä kirjoittamalla tämä komento:
sudo tcpdump -i käyttöliittymätunnus
Tai voit lisätä --käyttöliittymä lippu komentoon:
sudo tcpdump --käyttöliittymäinterface_id
Nyt kun olemme keränneet muutaman paketin, tutkitaan niitä tarkasti ja opitaan, kuinka voit muokata tulostetta luettavammaksi.
Tcpdump-suodattimien tutkiminen
tcpdump pystyy kaappaamaan valtavan määrän liikennettä yhdellä kertaa. Tällainen tiedon ylikuormitus voi viedä sinut raiteilleen tutkittaessa tai vianmäärityksessä tiettyyn isäntään tai verkkoprotokollaan liittyviä ongelmia.
Tässä kohtaa tcpdump-suodattimet tulevat peliin. Voit liittää tcpdump-komennon tietyillä lipuilla suodattaaksesi verkkoliikenteen ja kaapataksesi tiettyjä paketteja. Voit sitten tallentaa nämä paketit ja analysoida ne myöhemmin päästäksesi verkkoon liittyvien ongelmien alkuun. Opitaan käyttämään suodattimia tcpdumpissa.
Suodata paketit käytössä olevan verkkoprotokollan perusteella
Suodattaaksesi tietyn protokollan kautta lähetetyt paketit, kirjoita protokollan nimi komennolla tcpdump, jolloin se kaappaa vain määritetyn verkkoprotokollan kautta kulkevat paketit.
Jos esimerkiksi haluat kaapata ICMP-pohjaisia paketteja, sinun on yksinkertaisesti liitettävä icmp tcpdump-komennon lopussa. Prosessi on sama, jos haluat kaapata vain UDP- tai TCP-paketteja.
sudo tcpdump -c 5 icmp
Tämä komento palauttaa lähdön vain, jos tietoja vaihdetaan ICMP-protokollan kautta.
Suodata paketit isännän perusteella
Voit määrittää tcpdump-sovelluksen kaappaamaan yksittäiseen isäntään liittyvät paketit -sovelluksella isäntä parametri. Tämä on erityisen hyödyllistä, kun kaikki verkkosi järjestelmät toimivat yhtä lukuun ottamatta. Tämän suodattimen avulla voit suorittaa kohdennettuja tutkimuksia ja nopeuttaa yleistä vianetsintätyönkulkua, koska tarpeettomat tiedot eivät häiritse sinua.
Jos haluat kaapata tiettyyn isäntään liittyviä paketteja, määritä isännän verkko-osoite -painikkeella isäntä parametri:
sudotcpdump-c 5 isäntä 192.168.2.1
Samoin kuin verkkoprotokollasuodatin, tämä komento palauttaa lähdön vain, jos jokin meneillään oleva lähetys liittyy määritettyyn isäntään.
Suodata paketit aktiivisen portin perusteella
tcpdump on varustettu parametrilla, jonka avulla voit suodattaa verkkoliikennettä ja siepata vain paketit, jotka lähetetään tiettyyn porttiin tai jostain portista.
Jos haluat kaapata tietystä portista tulevat paketit, liitä portti merkitse tcpdump-komentoon ja määritä portin numero sen viereen. Voit esimerkiksi kaapata saapuvan tai lähtevän HTTP-liikenteen määrittämällä portin 80:
sudo tcpdump -c 5 portti 80
tcpdump kuuntelee porttia 80 odottaen HTTP-lähetyksiä. Kun se havaitsee HTTP-paketit verkossa, se kaappaa ne.
Yhdistä suodattimet yhteen tarkennettua lajittelua varten
Aiemmissa osissa käsiteltiin, kuinka voit suodattaa liikennettä portin, protokollan tai isännän perusteella, mutta entä jos halusit kaapata liikennettä tietyn isännän yhdestä portista käyttämällä tiettyä verkkoa protokollaa? No, olet onnekas, koska tämä on mahdollista, mikä johtuu kyvystä käyttää loogisia operaattoreita tcpdump-komennon kanssa.
Voit kaapata paketteja yksittäisestä isännästä portin 443 avulla käyttämällä tätä komentoa:
sudotcpdump-c 5 isäntä 192.168.2.1japortti 443
Tarkista siepattujen pakettien sisältö
Oletusarvoisesti tcpdump näyttää paketin otsikot lähdössä. Vaikka se on useimmissa tapauksissa enemmän kuin tarpeeksi, saatat joskus haluta tai joutua tutkimaan kaapattuja tietoja syvemmälle. Voit välittää tietyt parametrit tcpdump-komennolla tarkastaaksesi siepatun paketin sisällön.
Näin voit tarkastella pakettien sisältöä:
sudo tcpdump -c 5 -x
Tämä komento palauttaa siepatun paketin sisällön heksadesimaaliversion. Jos haluat tarkastella tietojen ASCII-muotoa, voit välittää -A parametri kanssa:
sudo tcpdump -A
Tallenna tcpdump-tulostus tiedostoon
Kuten melkein kaikki muutkin Linuxin komentorivityökalut, voit tallentaa tcpdumpin tuottaman tulosteen tiedostoon, johon viitataan myöhemmin.
Tämä voidaan tehdä lisäämällä -w lippu komennolle. Suorituksen jälkeen tcpdump tallentaa kaapatut tiedot a .pcap tiedosto, jota voidaan myöhemmin analysoida tcpdumpilla tai muilla verkonvalvontatyökaluilla, kuten Wireshark.
Kirjoita tämä komento tallentaaksesi tcpdump-komennon tulosteen tiedostoon:
sudotcpdump-wkaapata.pcap
Lukemaan a .pcap tiedoston kanssa, voit käyttää tcpdump-tiedostoa -r parametri:
sudotcpdump-rkaapata.pcap
Linuxin mukana tulee lukuisia verkkotyökaluja, jotka voivat ratkaista kaikki verkkoongelmat, kunhan se liittyy ohjelmistoon. Muutaman Linuxin parhaiden verkkotyökalujen käytön tunteminen on varmasti hyödyllistä, olitpa järjestelmänvalvoja, joka hallitsee verkkoja elantonsa vuoksi, tai vain jokapäiväinen Linux-käyttäjä.
Koska todellinen luettelo käytettävissä olevista verkkokomentoista voi olla liian laaja käsiteltäviksi, tässä on luettelo tärkeimmistä Linux-verkkotyökaluista, jotka sinun pitäisi tietää.