A hálózatépítésben a port érdekes tulajdonság. Ez lehetővé teszi a hálózati forgalom számára a célalkalmazás vagy szolgáltatás azonosítását. Minden folyamat / szolgáltatás megkapja egyedi portját. Egy port mindig társul a hoszt IP-címéhez és a protokollhoz.
Ez egy kedvenc metaforám annak leírására, hogy mi a kikötő. Képzelj el egy rakományt megrakó hajót, amely távoli szárazföldre fog utazni. Milyen információkra van szükség a cél megfelelő eléréséhez? Az egyszerűség kedvéért tegyük fel, hogy szüksége van az országra (az IP címre) és a kikötő a hajó kiköt.
Ebben az útmutatóban olvassa el, hogyan sorolja fel a nyitott portokat a Linux rendszeren.
Portok Linuxon
A portok a kommunikáció végpontjaként működnek. Ez egy 16 bites szám (0 és 65535 között). Míg a kínálat nagy, a könnyű használat érdekében a portokat három kategóriába sorolják. Minden kategória a port értékének tartományaként van jelölve:
- 0–1023: Ezek a „jól ismert” portok, más néven „rendszer” portok, amelyeket a hálózati szolgáltatások széles választékát kínáló rendszerfolyamatok számára tartanak fenn. A „jól ismert” porthoz való kötéshez a folyamatnak felülfelhasználói jogosultsággal kell rendelkeznie.
- 1024–49151: Ezeket a „regisztrált” portokat, más néven „felhasználói” portokat, amelyeket az IANA meghatározott szolgáltatásokra jelöl ki. Kérésre egy folyamat hozzáférhet hozzájuk. A legtöbb rendszer esetében nem igényel superuser jogosultságot ezeknek a portoknak a használatához.
- 49152–65535: Ezek a „dinamikus” portok, más néven „privát” portok. Ezeket a portokat nem lehet regisztrálni az IANA-nál. Ezek a portok nyitottak privát vagy testreszabott szolgáltatások használatára, és automatikusan kimenő portokként is kioszthatók (az IP által használt rövid életű portok).
Linux alatt a nyitott portok ellenőrzésének több módja van. Alapértelmezés szerint minden port zárva marad, hacsak egy alkalmazás nem használja. Ha egy port nyitva van, akkor azt egy szolgáltatáshoz / folyamathoz kell rendelni.
Sorolja fel a nyitott portokat
Könnyebb felismerni, hogy mely portok vannak használatban, nem pedig azok, amelyek nyitva vannak. Ezért a következő szakasz metódusokat tartalmaz a jelenleg használt összes port felsorolására. A Linuxban több eszköz is rendelkezésre áll a feladathoz. Legtöbbjük bármilyen Linux disztribúcióba van beépítve.
A jelenleg nyitott portok megtanulása különféle esetekben hasznos lehet. Konfigurálhat egy dedikált portot egy bizonyos alkalmazáshoz. A nyitott port szintén erősen jelezheti a hálózat behatolását.
A következő módszereket mutatjuk be az Ubuntu 20-on.04.1 LTS.
Sorolja fel az / etc / services protokollokat és nyitott portokat
Az / etc / services fájl információkat tartalmaz a jelenleg futó szolgáltatásokról. Nagy fájl, annyira készen áll a túlterhelésre.
$ cat / etc / services | Kevésbé
Sorolja fel a nyitott portokat a netstat segítségével
A netstat eszköz egy segédprogram TCP hálózati kapcsolatok, útválasztási táblák és különféle hálózati interfészek megjelenítésére. Hálózati protokoll statisztikákat is kínál. A netstat használatával felsorolhatjuk a rendszer összes nyitott portját.
Futtassa a következő netstat parancsot:
$ netstat -atu
Gyorsan osszuk meg az összes zászlót, amelyet ebben a parancsban használtunk.
- a: Azt mondja a netstatnak, hogy mutassa meg az összes foglalatot
- t: Megadja a netstatnak, hogy sorolja fel a TCP portokat
- u: Megadja a netstatnak, hogy sorolja fel az UDP portokat
Itt van a netstat parancs egy másik változata:
$ netstat -lntu
A parancsban két új zászlót használnak. Mit jelentenek?
- l: Azt mondja a netstatnak, hogy csak a hallgatási aljzatokat nyomtassa ki
- n: Azt mondja a netstatnak, hogy mutassa meg a portszámot
A portot használó folyamat PID-jének megjelenítéséhez használja a „-p” jelzőt:
$ netstat -lntup
Sorolja fel a nyitott portokat az ss használatával
Az ss eszköz segédprogram a socket vizsgálatához. Használata hasonló a netstat-hoz.
A nyitott portok felsorolásához futtassa a következő ss parancsot:
$ ss -lntu
A zászlók hasonlóak a netstat-hoz. Az általuk leírt funkciók szintén meglehetősen hasonlóak.
- l: Mondja az ss-nek, hogy jelenítse meg a hallgatási aljzatokat
- n: Azt mondja az ss-nek, hogy ne próbálja feloldani a szolgáltatásneveket
- t: Mondja az ss-nek, hogy jelenítse meg a TCP foglalatokat
- u: Azt mondja az ss-nek, hogy jelenítse meg az UDP aljzatokat
Sorolja fel a nyitott portokat az lsof használatával
Az lsof parancs a nyitott fájlok felsorolása. Ugyanakkor a nyitott portok megjelenítésére is használható.
Futtassa a következő lsof parancsot:
$ lsof -i
Egy adott protokoll nyitott portjainak megszerzése (TCP, UDP stb.), majd definiálja az „-i” zászló után, használja:
$ lsof -i
Sorolja fel a nyitott portokat az nmap segítségével
Az nmap eszköz egy hatékony eszköz a hálózat feltárására és a biztonság / port szkennelésre. Jelenteni tudja a rendszer összes nyitott portját.
A nyitott TCP-portok felsorolásához futtassa a következő nmap parancsot. Itt a gazdagép IP-címe:
$ sudo nmap -sT -p- localhost
Itt a parancs argumentum két része van.
- -utca: Ez a szakasz megadja az nmap számára a TCP-portok keresését.
- -o- : Ez azt mondja az nmap-nak, hogy vizsgálja meg az összes 65535 portot. Ha nem használják, akkor az nmap alapértelmezés szerint csak 1000 portot keres.
Ha fel kell sorolnia a nyitott UDP portokat, akkor futtassa a következő nmap parancsot:
$ sudo nmap -sU -p- localhost
A nyitott TCP és UDP portok beszerzéséhez használja a következő parancsot:
$ sudo nmap -n -PN -sT -sU -p- localhostSorolja fel a nyitott portokat a netcat segítségével
A netcat eszköz egy parancssori segédprogram az adatok hálózati kapcsolaton keresztüli olvasásához és írásához a TCP és az UDP protokollon keresztül. Ez az eszköz a nyitott portok listázására is használható. Teszteket hajthat végre egy adott porton vagy egy porttartományon.
A következő netcat parancs a portot 1-től 1000-ig vizsgálja. A netcat parancs alapértelmezés szerint a TCP protokollon végzi a beolvasást:
$ nc -z -v localhost 1-1000
Kiterjeszthető a lehetséges portok teljes listájára is:
$ nc -z -v localhost 1-65535
Gyorsan osszuk meg a zászlókat.
- z: Megadja a netcat-nak, hogy csak nyitott portokat keressen adatküldés nélkül
- v: Mondja a netcat-nak, hogy bőbeszédű módban fusson
Ha csak a nyitott portokat szeretné megkapni a listából, szűrje a kimenetet a grep paranccsal a „sikeres” kifejezésre.
$ nc -z -v localhost 0-65535 2> & 1 | a grepnek sikerültHa az UDP protokollon szeretné végrehajtani a beolvasást, adja hozzá az „-u” jelölőt.
$ nc -z -v -u localhost 0-65535 2> & 1 | a grepnek sikerültVégső gondolatok
Mint bemutattuk, rengeteg módja van a nyílt portok keresésének a Linuxon. Azt javaslom, hogy próbálja ki az összes módszert, mielőtt eldöntené, melyiket sajátítsa el. Ha rendszeresen használ egy bizonyos eszközt, például a netcat vagy az nmap, akkor a kapcsolódó módszerek elsajátítása lesz a legelőnyösebb.
Boldog számítástechnika!