Hogyan lehet felsorolni a nyílt portokat Linuxon?

How List Open Ports Linux



A hálózatépítésben a port érdekes funkció. Ez a hálózati forgalom egy módja a célalkalmazás vagy szolgáltatás azonosítására. Minden folyamat/szolgáltatás egyedi portot kap. A port mindig hozzá lesz rendelve a gazdagép IP -címéhez a protokollal együtt.

Ez a kedvenc metaforám, hogy leírjam, mi az a kikötő. Képzeljünk el egy rakománnyal megrakott hajót, amely távoli földre utazik. Milyen információ szükséges a rendeltetési hely 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 nézze meg, hogyan sorolja fel a nyitott portokat Linuxon.



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). Bár a tartomány nagy, a könnyű használat érdekében a portokat három kategóriába sorolják. Minden kategória a portérték tartománya:



  • 0-1023: Ezek a jól ismert portok, más néven rendszerportok, amelyek a hálózati szolgáltatások széles skáláját kínáló rendszerfolyamatok számára vannak fenntartva. Egy jól ismert porthoz való kötéshez egy folyamatnak superuser jogosultsággal kell rendelkeznie.
  • 1024–49151: Ezek az IANA által meghatározott szolgáltatásokhoz kijelölt regisztrált portok, más néven felhasználói portok. Kérésre egy folyamat hozzáférhet hozzájuk. A legtöbb rendszer esetében ezeknek a portoknak a használatához nincs szükség szuperfelhasználói jogosultságokra.
  • 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 a privát vagy személyre szabott szolgáltatások használatára, és automatikusan kioszthatók ideiglenes portokként (az IP által használt rövid élettartamú portok).

Linux alatt többféleképpen ellenőrizheti a nyitott portokat. Alapértelmezés szerint minden port zárva marad, hacsak egy alkalmazás nem használja azt. Ha egy port nyitva van, akkor hozzá kell rendelni egy szolgáltatáshoz/folyamathoz.





Nyílt portok listája

Könnyebb azonosítani, hogy mely portok vannak használatban, nem pedig azok, amelyek nyitva vannak. Ezért a következő szakasz módszereket tartalmaz az összes használt port felsorolására. Linux alatt több eszköz áll rendelkezésre a feladathoz. Legtöbbjük bármely Linux disztribúcióba beépített.

A jelenleg nyitott portok megismerése hasznos lehet különböző esetekben. Lehetőség van egy dedikált port konfigurálására egy adott alkalmazáshoz. A nyitott port is erős jele lehet a hálózatba való behatolásnak.



A következő módszereket mutatjuk be az Ubuntu 20.04.1 LTS rendszeren.

Sorolja fel a /etc /services protokollokat és nyitott portokat

Az /etc /services fájl információkat tartalmaz az éppen futó szolgáltatásokról. Ez egy nagy fájl, így készen áll a túlterhelésre.

$macska /stb./szolgáltatásokat| Kevésbé

A nyitott portok listázása a netstat használatával

A netstat eszköz segédprogram a hálózati kapcsolatok megjelenítéséhez TCP, útválasztási táblák és különböző hálózati interfészek számára. 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 lebontjuk az összes zászlót, amelyet ebben a parancsban használtunk.

  • nak nek : Azt mondja a netstatnak, hogy jelenítse meg az összes socketet
  • t : A netstatnak felsorolja a TCP portokat
  • u : Megmondja 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?

  • az : Azt mondja a netstatnak, hogy csak a hallgatási aljzatokat nyomtassa ki
  • n : Azt mondja a netstatnak, hogy jelenítse meg a port számát

A portot használó folyamat PID -jének megjelenítéséhez használja a -p jelzőt:

$netstat -Intup

Sorolja fel a nyitott portokat az ss használatával

Az ss eszköz egy segédprogram a socket vizsgálatához. Használata hasonló a netstat -hoz.

A megnyitott portok listázásához futtassa a következő ss parancsot:

$ss-lntu

A zászlók hasonlóak a netstathoz. Az általuk leírt funkciók is nagyon hasonlóak.

  • az : Azt mondja az ss -nek, hogy jelenítse meg a hallgatási aljzatokat
  • n : Azt mondja az ss -nek, hogy ne próbálja meg feloldani a szolgáltatásneveket
  • t : Azt mondja az ss -nek, hogy jelenítse meg a TCP socketeket
  • u : Azt mondja az ss -nek, hogy jelenítse meg az UDP foglalatokat

Sorolja fel a nyitott portokat az lsof használatával

Az lsof parancs a megnyitott fájlok listázását tartalmazza. Azonban a nyitott portok megjelenítésére is használható.

Futtassa a következő lsof parancsot:

$lsof-én

Egy adott protokoll (TCP, UDP stb.) Nyitott portjainak lekéréséhez, majd az -i jelző után határozza meg, használja:

$lsof-én <jegyzőkönyv>

A nyitott portok listázása az nmap használatával

Az nmap eszköz hatékony eszköz a hálózatok felfedezéséhez és a biztonsági/portszkenneléshez. Jelentheti a rendszer összes nyitott portját.

A nyitott TCP -portok listázásához futtassa a következő nmap parancsot. Itt a gazdagép IP -címe:

$sudo nmap -utca -p-helyi kiszolgáló

Itt a parancs argumentum két része van.

  • -utca : Ez a szakasz utasítja az nmap -ot, hogy keresse meg a TCP -portokat.
  • -p- : Ez azt mondja az nmap -nak, hogy keresse meg az összes 65535 portot. Ha nem használja, akkor az nmap alapértelmezés szerint csak 1000 portot vizsgál.

Ha fel kell sorolnia a nyitott UDP portokat, akkor futtassa a következő nmap parancsot:

$sudo nmap -annak -p-helyi kiszolgáló

A nyitott TCP és UDP portok beszerzéséhez használja a következő parancsot:

$sudo nmap -n -PN -utca -annak -p-helyi kiszolgáló

Sorolja fel a nyitott portokat a netcat használatával

A netcat eszköz egy parancssori segédprogram az adatok olvasásához és írásához a hálózati kapcsolatok között a TCP és az UDP protokollon keresztül. Ez az eszköz a nyitott portok listázására is használható. Vizsgálatokat végezhet egy adott porton vagy egy sor porton.

A következő netcat parancs 1 -től 1000 -ig vizsgálja a portot. A netcat parancs alapértelmezés szerint elvégzi a vizsgálatot a TCP protokollon:

$nc-Val vel -vhelyi kiszolgáló1-1000

A lehetséges portok teljes listájára is kiterjeszthető:

$nc-Val vel -vhelyi kiszolgáló1-65535

Gyorsan bontsuk le a zászlókat.

  • Val vel : Azt mondja a netcatnek, hogy csak nyílt portokat keres, adatküldés nélkül
  • v : Azt mondja a netcatnek, hogy fusson részletes módban

Ha csak a nyitott portokat szeretné lekérni a listából, szűrje a kimenetet a grep paranccsal a sikeres kifejezésre.

$nc-Val vel -vhelyi kiszolgáló0-65535 2> &1 | markolatsikerült

Ha a vizsgálatot UDP protokollon kívánja végrehajtani, akkor adja hozzá a -u jelzőt.

$nc-Val vel -v -uhelyi kiszolgáló0-65535 2> &1 | markolatsikerült

Végső gondolatok

Amint azt bemutattuk, rengeteg módszer létezik a nyílt portok keresésére Linuxon. Javaslom, hogy próbálja ki az összes módszert, mielőtt eldönti, melyiket fogja elsajátítani. Ha rendszeresen használ egy bizonyos eszközt, például a netcat -ot vagy az nmap -ot, akkor a kapcsolódó módszerek elsajátítása lesz a legelőnyösebb.

Boldog számítástechnikát!