Lyhyesti kuvaillaan tietokoneverkon portit ja lisäksi puhumme siitä, kuinka voimme luetella kaikki avoimet portit Linuxissa.
Portti voidaan määritellä loogiseksi kokonaisuudeksi tietokoneverkon ja ohjelmiston termeillä.
Se toimii viestinnän päätepisteenä tietyn prosessin tai sovelluksen tunnistamiseksi Linux käyttöjärjestelmä . Portti on a 16-bittinen (o - 65535) numero, joka erottaa yksittäisen sovelluksen muista eri päätejärjestelmissä.
Kaksi kuuluisinta Internet-siirtoprotokollaa, User Datagram Protocol (UDP) ja Transmission Control Protocol (TCP) ja muut protokollat käyttävät porttinumeroita monille viestintäistunnoille (kohde- ja lähdeporttinumerot yhdessä kohde- ja lähde-IP-osoitteiden kanssa).
Protokollan, portin ja IP-osoitteen yhdistelmä, kuten TCP/UDP kutsutaan a pistorasia. Kaikilla palveluilla on oltava erityinen pistorasia.
bash-taulukot
Porttien luokat
Nämä portit on jaettu kolmeen luokkaan käytön helpottamiseksi, koska porttien valikoima on suuri. Kaikki luokat on merkitty portin arvoalueiksi:
0-1023: Nämä portit ovat tunnettu ja soitti 'Järjestelmä' portit. Ne on varattu järjestelmän prosesseille, jotka tarjoavat valtavan valikoiman verkkopalveluita. Prosessilla tulee olla pääkäyttäjän oikeudet sitoutua mihin tahansa 'tuttu' portti.
1024-49151: Nämä portit ovat 'rekisteröity' ja soitti 'Käyttäjä' portit. Ne on merkitty kautta IANA ainutlaatuisia palveluita varten. Prosessilla voi olla pyynnöstä heille todennus. Se ei tarvitse pääkäyttäjän oikeuksia käyttääkseen näitä portteja useimmissa järjestelmissä.
49152-65535: Nämä portit ovat 'Dynaaminen' ja soitti 'yksityinen' portit. Heihin ei voi rekisteröityä IANA. Tämän tyyppiset portit ovat avoimia käytettäväksi räätälöityjä ja yksityisiä palveluita varten, ja ne voidaan myös varata lyhytaikaisiksi portteiksi (tunnetaan ns. lyhytikäisiä IP:n käyttämät portit) automaattisesti.
Linuxissa on monia tapoja tarkistaa avoimet portit. Oletuksena portti sulkeutuu, ellei mikään sovellus käytä sitä. Prosessille tai palvelulle tulee määrittää portti, jos se on auki.
Avaa porttiluettelo
On helpompi tietää, mikä portti on käytössä sen sijaan, mikä portti on auki. Tästä syystä alla oleva osa tarjoaa menetelmiä kaikkien tällä hetkellä käytössä olevien porttien luetteloimiseksi.
Linuxissa on useita työkaluja tähän tehtävään. Suurin osa niistä saatavilla sisäänrakennettu Linux-jakelussa.
Tällä hetkellä avoinna olevan portin oppiminen voi olla hyödyllistä monissa tilanteissa. On mahdollista määrittää oma portti taatulle sovellukselle. Avoin portti voi olla voimakas tunkeutumisen merkki verkossa.
Menetelmiä käytetään Ubuntu 20.04 LTS jotka on mainittu alla.
Listaa avoimet portit ja protokollat /etc/services-tiedoston avulla
Tiedosto, ts. /etc/services sisältää tietoja käynnissä olevista palveluista (tällä hetkellä). Se on suuri tiedosto.
$cat /etc/services | less
Listaa avoimet portit netstatilla
The netstat työkalua voidaan kuvata apuohjelmaksi verkkoyhteyksien näyttämiseen reititystaulukoille, TCP:lle ja useille verkkoliittymille. Lisäksi se helpottaa verkkoprotokollan tilastoja. Voisimme luetella kaikki järjestelmän avoimet portit käyttämällä netstat-työkalua.
Voimme suorittaa alla olevan komennon:
$ netstat -atu
Selitetään nopeasti kunkin yllä olevassa komennossa käyttämämme lipun erittely:
1. a: Tämä lippu ilmoittaa netstatille kunkin pistorasian näyttämisestä.
2. t: Tämä lippu ilmoittaa netstatille TCP-porttien luetteloimisesta.
3. in: Tämä lippu ilmoittaa netstatille UDP-porttien luetteloimisesta.
The netstat komennolla on toinen muunnelma, joka mainitaan alla:
$ netstat -lntu
Kaksi lippua ovat uusia yllä olevassa komennossa, joka selitetään seuraavasti:
1. l: Tämä lippu ilmoittaa netstatille vain kuunteluliittimien tulostamisesta.
2. n: Tämä lippu ilmoittaa netstatille portin numeron näyttämisestä.
Voimme käyttää lippua, ts. '-p' näyttää prosessin PID, joka käyttää mitä tahansa porttia.
$ netstat -lntup
Tarkista avoimet portit paikallisesti
Netstat-komento on käytettävissä kaikissa tietokoneen käyttöjärjestelmissä verkkoyhteyksien valvontaa varten. Alla oleva komento käyttää netstatia näyttämään jokaisen kuunteluportin TCP-protokollalla:
netstat -lt
Määrittelemme lyhyesti yllä olevassa komennossa olevat liput:
1. -l: Siinä luetellaan kuunteluportit.
2. -t: Se määrittää TCP-protokollan.
Tulos on hyvin järjestetty sarakkeissa, joissa näkyy protokolla, ihmisystävällinen, lähetetyt ja vastaanotetut paketit, porttitila, etä- ja paikalliset IP-osoitteet.
Jos muokkaamme TCP-protokollaa UDP-protokollaa varten, tulos näyttää vain avoimet portit. Tulos näkyy kuvaamatta tilaa, koska se on ristiriidassa TCP-protokollan kanssa.
netstat -lu
Voimme jättää huomioimatta protokollien kuvauksen ja käyttää vain vaihtoehtoa --listen tai -l saadaksesi yksityiskohdat jokaisesta portista, joka kuuntelee vapaasti protokollaa:
netstat --listen
Yllä oleva vaihtoehto näyttää Unix-, UDP- ja TCP-socket-protokollien tiedot.
Jokainen yllä oleva esimerkki näyttää, kuinka tiedot tulostetaan kuunteluporttien kautta ilman valtuutettuja yhteyksiä. Alla olevat komennot näyttävät kuinka kuunteluportit ja valtuutetut yhteydet näytetään.
netstat -vatn
Missä:
1. -in: Sitä käytetään monisanaisuuksiin.
2. -a: Se näyttää aktiiviset yhteydet.
3. -t: Se näyttää tcp-yhteydet.
4. -n: Se näyttää portit (numeerinen arvo).
Oletetaan, että tunnistamme epäilyttävän prosessin järjestelmässämme ja haluamme tarkistaa siihen liittyvät portit. Voimme käyttää lsof-komentoa, jota käytetään prosesseihin liittyvien avoimien tiedostojen luetteloimiseen.
lsof -i 4 -a -p
Missä,
1. -i: Se luettelee Internetin kanssa yhteistyössä toimivat tiedostot 6 vaihtoehto on olemassa IPv6, ja 4 vaihtoehto ohjeet vain tulostamista varten IPv4.
2. -a: Se ohjeistaa tuloksen olevan Sinä annoit.
3. -p: Se määrittää prosessin PID-numeron, jonka haluamme tarkistaa.
Listaa avoimet portit ss:llä
The ss työkalu voidaan määrittää apuohjelmaksi pistorasian tutkimiseen. Tämän työkalun käyttö on sama kuin netstat komento.
binääripuun läpikulku
Voimme suorittaa alla olevan komennon avoimien porttien luetteloimiseksi:
$ ss -lntu
Yllä olevat liput ovat samat kuin netstat komento. Myös ss-työkalun kuvaamat toiminnot ovat melko samoja.
1. l: Tämä lippu ilmoittaa ss:lle kuunteluliitäntöjen näyttämiseksi.
2. n: Tämä lippu ilmoittaa ss:lle, ettei se yritä päätellä palvelunimiä.
3. t: Tämä lippu ilmoittaa ss:lle näytön TCP-vastakkeista.
4. in: Tämä lippu ilmoittaa ss:lle UDP-vastakkeiden näyttämisestä.
Listaa avoimet portit lsofilla
Lsof-komentoa voidaan käyttää avoimien tiedostojen luetteloimiseen. Mutta sitä voidaan käyttää myös avointen porttien näyttämiseen.
Voimme suorittaa seuraavan komennon:
$ lsof -i
Jos haluat saada tietyn protokollan avoimet portit (UDP, TCP jne.), määritä se sen jälkeen, kun käytät '-minä' lippu, voimme suorittaa seuraavan komennon:
$ lsof -i
Listaa avoimet portit nmapilla
Nmap-komento voidaan määritellä vahvaksi porttien/suojaustarkistuksen ja verkon tutkimiseen. Se voi myös raportoida jokaisen järjestelmän avoimen portin.
Voimme suorittaa seuraavan komennon luetellaksesi avoimet TCP-portit.
$ sudo nmap -sT -p- localhost
Tässä yllä mainitussa komennossa on kaksi osaa:
1. -sT: Se ilmoittaa nmap-työkalulle skannausta varten TCP portit.
2. -p-: Se ilmoittaa nmap-työkalulle jokaisen skannauksen tekemiseksi 65535 portit. Nmap-työkalu skannaa 1000 portit oletuksena vain, jos niitä ei käytetä.
Jos tarvitsemme luettelon UDP:n avoimet portit, voimme suorittaa seuraavan komennon:
$ sudo nmap -sU -p- localhost
Voimme myös suorittaa seuraavan komennon saadakseen sekä UDP- että TCP-portit:
$ sudo nmap -n -PN -sT -sU -p- localhost
Listaa avoimet portit netcatilla
Netcat-työkalua voidaan kuvata komentorivityökaluksi tietojen lukemiseen ja kirjoittamiseen useissa verkkoyhteyksissä UDP- ja TCP-protokollia käyttäen. Sitä voidaan käyttää myös avointen porttien luetteloimiseen. Tämä työkalu voi suorittaa testejä tietyssä portissa tai useissa porteissa.
Alla olevaa netcat-komentoa käytetään portin skannaamiseen 1-1000. Oletusarvoisesti se toteuttaa skannauksen TCP-protokollan kautta:
$ nc -z -v localhost 1-1000
Se voidaan myös laajentaa kattamaan koko luettelo tietyistä porteista:
$ nc -z -v localhost 1-65535
Tehdäänpä nopeasti erittely näistä lipuista.
1. alkaen: Se ilmoittaa netcat-komennon vain avoimien porttien skannaamiseksi ilman tietojen siirtämistä.
2. in: Se ilmoittaa netcat-komennon suorittamisesta monisanaisessa tilassa.
mikä on hakemiston lähettäminen
Voimme suodattaa tuloksen termille grep:n avulla 'onnistui' saadakseen vain avoimet portit tämän luettelon läpi.
$ nc -z -v 127.0.0.1 20-80 | grep succeeded
Jos haluamme toteuttaa skannauksen UDP-protokollan kautta, Voimme sisällyttää '-sisään' lippu.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded