Az LSOF parancssori eszköz rendkívül előnyös a rendszergazdák és fejlesztők számára, mivel lehetővé teszi számukra:
- Határozza meg azokat a folyamatokat, amelyek jelenleg egy adott fájlt vagy portot használnak, ami különösen fontos portütközés esetén
- Érzékeli a törölt, de még mindig megnyitott fájlokat olyan folyamatok által, amelyek szükségtelen helyfelhasználáshoz vezethetnek; az LSOF parancs az ilyen esetek azonosítására és kezelésére szolgál
- Hatékonyan segít a hibák, például a „port már használatban” hibaelhárításában
- Kövesse nyomon a hálózati tevékenységet és nyissa meg a hálózati kapcsolatokat megfigyelési célból
- Vizsgálja meg a fájlhozzáférési mintákat, hozzájárulva a potenciális biztonsági rések azonosításához
Ebből az oktatóanyagból megtudhatja, hogyan használhatja az LSOF parancsot a valós idejű portok figyelésére.
Az LSOF parancs alapvető szintaxisa
Az LSOF parancs szintaxisa a következő:
$ lsof [ lehetőségek ] [ neveket ]
Az opciók az LSOF paranccsal használt jelzők. A nevek a fájlneveket, a PID-ket (folyamatazonosítókat), a felhasználóneveket vagy a hálózati fájlokat (IPv4, IPv6) jelentik. A megadott beállításoktól függően az LSOF parancs megjeleníti az ezeknek a neveknek megfelelő megnyitott fájlok listáját.
A portok valós idejű monitorozása az LSOF paranccsal
Az LSOF alapértelmezés szerint sok Linux rendszerben megtalálható. Manuálisan kell letöltenie és telepítenie az elérhető csomagok egyikét, ha az nincs telepítve. A rendszeren az LSOF telepítésének ellenőrzéséhez használja a következő parancsot a telepített verzió megjelenítéséhez:
$ lsof -ban ben
Fontos megjegyezni, hogy az LSOF parancs megfelelő jogosultságokkal történő használatához a folyamatokkal és a hálózati kapcsolatokkal kapcsolatos egyes információk magasabb szintű szuperfelhasználói jogosultságokat igényelhetnek, és előfordulhat, hogy a „sudo” parancsot kell használnia a parancs adminisztrátori jogokkal történő futtatásához.
Sorolja fel a hálózati fájlokat
Amikor az LSOF parancsot az „-i” opcióval futtatja, az információkat jeleníti meg azokról a folyamatokról, amelyek hálózati kapcsolattal rendelkeznek, például figyelő socketekkel vagy létrehozott kapcsolatokkal.
$ lsof –iAz előző parancs információkat jelenít meg a folyamatnévről (COMMAND), a folyamatazonosítóról (PID), a felhasználóról (USER), a fájlleíróról (FD), a kapcsolat típusáról (TYPE), a helyi és távoli címekről, valamint a kapcsolat állapotáról. A következő kimenetet kell látnod:
Sorolja fel a TCP kapcsolatokat
A kimenetet meghatározott kritériumok alapján szűrheti, például az adott típusú kapcsolatok vagy portok alapján. Például használhatja az „lsof -i tcp” parancsot, hogy csak a TCP-kapcsolathoz tartozó folyamatokat listázza ki.
$ lsof -én tcp: 1 - 1024Az előző parancs kiszűri azon folyamatok információit, amelyek nyitott TCP-kapcsolattal rendelkeznek a megadott 1-től 1024-ig terjedő porttartományon belül. Ez hasznos lehet annak azonosításához, hogy mely folyamatok használják a közös szolgáltatásokhoz társított jól ismert portokat.
Egy adott port figyelése valós időben
Az LSOF használatával valós időben figyelhet meg egy adott portot. Például figyelni szeretné a „HTTP”-hez kapcsolódó folyamatokat a 80-as porton, amely 3 másodpercenként frissül. Ehhez valós időben figyelje a 80-as portot a következő paranccsal:
$ lsof -én : 80 -r3
Kövesse valós időben az SSHD 22-es portot
A 22-es porton futó összes SSHD-kapcsolat figyeléséhez futtassa a következő parancsot:
$ sudo lsof -én : 22 -r3Ez a parancs folyamatosan figyeli és 3 másodpercenként megjeleníti a valós idejű információkat a 22-es porton lévő hálózati kapcsolatokról. Ez különösen hasznos a változások, például az új SSH-kapcsolatok vagy megszakítások nyomon követéséhez, mivel azok valós időben történnek.
Kövesse nyomon a porttartományt valós időben
Az 1-től 1024-ig terjedő porttartományban nyitott TCP-kapcsolatokkal rendelkező folyamatok információinak valós idejű figyeléséhez használja a következő parancsot:
$ lsof -én tcp: 1 - 1024 -r3
Valós időben figyelje az összes portot
Az LSOF paranccsal valós időben figyelheti az összes hálózati kapcsolatot. Például azt szeretné, hogy folyamatosan figyelje és 5 másodpercenként jelenítse meg a valós idejű információkat a hálózati kapcsolatokról.
$ lsof -én -r5A következő kimenet valós időben 5 másodpercenként tartalmazza a folyamatok és a hozzájuk tartozó hálózati aljzatok részleteit:
Hasonlóképpen, csak a „létrehozott” kapcsolatokat figyelheti meg az LSOF paranccsal:
$ lsof -én -ÉS -r10
Következtetés
Ebben az oktatóanyagban megtanultuk, hogyan lehet valós időben figyelni a portokat az LSOF paranccsal. Ez a parancs segíthet a rendszergazdáknak és más Linux-felhasználóknak a hálózati kapcsolatok megfigyelésében, beleértve az összes aktív vagy nyitott portot. Reméljük, hogy ez az útmutató segít megérteni, hogyan használhatja az LSOF parancsot különböző opciókkal, és hogyan figyelheti a különböző portokat és folyamatokat valós időben.