Python Web Apps with Flask by Ezra Zigmond
Tartalomjegyzék:
- Mi az a Listening Port?
- Ellenőrizze a hallgatási portokat a
netstat
- Ellenőrizze a Hallgatási Portokat az
ss
- Ellenőrizze a hallgatási portokat az
lsof
- Következtetés
A hálózati kapcsolat vagy az alkalmazás-specifikus problémák elhárításakor az elsőként ellenőrizendő, hogy melyik portot használják a rendszerében, és mely alkalmazás hallgat egy adott porton.
Ez a cikk elmagyarázza, hogyan lehet megtudni, mely szolgáltatások figyelik a portokat, amelyek a
netstat
,
ss
és
lsof
parancsokat használják. Az utasítások alkalmazandók minden Linux és Unix alapú operációs rendszerre, például a macOS-ra.
Mi az a Listening Port?
A hálózati portot azonosítja annak száma, a kapcsolódó IP-cím és a kommunikációs protokoll típusa, például TCP vagy UDP.
A figyelőport egy hálózati port, amelyen egy alkalmazás vagy folyamat figyel, és amely kommunikációs végpontként működik.
Minden figyelőport nyitható vagy zárható (szűrhető) tűzfal segítségével. Általánosságban elmondható, hogy a nyitott port egy hálózati port, amely távoli helyekről fogadja a bejövő csomagokat.
Nem lehet két szolgáltatás, amely ugyanazt a portot ugyanazon IP-címen hallgatja.
Például, ha olyan Apache webszervert fut, amely meghallgatja a
80
és
443
portot, és megpróbálja telepíteni az Nginxet, akkor a későbbi nem indul el, mert a HTTP és a HTTPS portok már használatban vannak.
Ellenőrizze a hallgatási portokat a
netstat
netstat
egy olyan parancssori eszköz, amely információkat szolgáltat a hálózati kapcsolatokról.
Az összes meghallgatott TCP vagy UDP port felsorolására, ideértve a portokat használó szolgáltatásokat és a socket állapotát is, használja a következő parancsot:
sudo netstat -tunlp
A parancsban használt opciók jelentése a következő:
-
-t
- A TCP-portok megjelenítése.-u
- UDP portok megjelenítése.-n
- numerikus címek megjelenítése a gazdagépek feloldása helyett.-l
- Csak a hallgatási portok megjelenítése.-p
- Megjeleníti a hallgató folyamatának PID-jét és nevét. Ez az információ csak akkor jelenik meg, ha a parancsot root vagy sudo felhasználóként futtatja.
A kimenet így néz ki:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 929/master tcp6 0 0:::3306:::* LISTEN 534/mysqld tcp6 0 0:::80:::* LISTEN 515/apache2 tcp6 0 0:::22:::* LISTEN 445/sshd tcp6 0 0:::25:::* LISTEN 929/master tcp6 0 0:::33060:::* LISTEN 534/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 966/dhclient
Esetünkben a fontos oszlopok a következők:
-
Proto
- A foglalat által használt protokoll.Local Address
- Az az IP cím és portszám, amelyen a folyamat hallgat.PID/Program name
- A PID és a folyamat neve.
sudo netstat -tnlp | grep:22
A kimenet azt mutatja, hogy ezen a gépen a 22. portot az SSH szerver használja:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
Ha a kimenet üres, az azt jelenti, hogy semmi sem hallgatja a portot.
Szűrheti a listát is kritériumok alapján, például PID, protokoll, állapot és így tovább.
netstat
elavult,
ss
és
ip
helyett, de a leggyakrabban használt parancsok a hálózati kapcsolatok ellenőrzésére.
Ellenőrizze a Hallgatási Portokat az
ss
ss
új
netstat
. Hiányzik a
netstat
néhány funkciója, de több TCP állapotot tesz ki, és kissé gyorsabb. A parancs opciók többnyire megegyeznek, így a
netstat
ról az
ss
re való áttérés nem nehéz.
Az összes hallgató port listájának megtekintéséhez az
ss
írja be:
sudo ss -tunlp
A kimenet majdnem ugyanaz, mint amit a
netstat
jelentett:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd", pid=445, fd=3)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master", pid=929, fd=13)) LISTEN 0 128 *:3306 *:* users:(("mysqld", pid=534, fd=30)) LISTEN 0 128 *:80 *:* users:(("apache2", pid=765, fd=4), ("apache2", pid=764, fd=4), ("apache2", pid=515, fd=4)) LISTEN 0 128:22:* users:(("sshd", pid=445, fd=4)) LISTEN 0 100:25:* users:(("master", pid=929, fd=14)) LISTEN 0 70 *:33060 *:* users:(("mysqld", pid=534, fd=33))
Ellenőrizze a hallgatási portokat az
lsof
lsof
egy hatalmas parancssori segédprogram, amely információkat nyújt a folyamatok által megnyitott fájlokról.
Linux alatt minden fájl. Gondolhat egy aljzatra, mint egy fájlra, amely a hálózatra ír.
Az összes hallgató TCP-port listájának
lsof
típusú:
sudo lsof -nP -iTCP -sTCP:LISTEN
Az alkalmazott lehetőségek a következők:
-
-n
- Ne konvertálja a portszámokat portnevekre.-p
- Ne oldja meg a gazdaneveket, mutassa meg a numerikus címeket.-iTCP -sTCP:LISTEN
- Csak a LISTEN TCP állapotú hálózati fájlok megjelenítése.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) sshd 445 root 4u IPv6 16445 0t0 TCP *:22 (LISTEN) apache2 515 root 4u IPv6 16590 0t0 TCP *:80 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) mysqld 534 mysql 33u IPv6 19973 0t0 TCP *:33060 (LISTEN) apache2 764 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) apache2 765 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) master 929 root 13u IPv4 19637 0t0 TCP *:25 (LISTEN) master 929 root 14u IPv6 19638 0t0 TCP *:25 (LISTEN)
A legtöbb kimeneti oszlop neve magától értetődő:
-
COMMAND
,PID
,USER
- A név, a pid és a porthoz társított programot futtató felhasználó.NAME
- A port száma.
Ahhoz, hogy megtudja, milyen folyamat hallgat egy adott porton, például a
3306
porton:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
A kimenet azt mutatja, hogy a
3306
portot a MySQL szerver használja:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
További információkért látogasson el az lsof man oldalra, és olvassa el az eszköz összes többi hatékony opcióját.
Következtetés
Több parancsot mutattunk be, amelyek segítségével ellenőrizheti, hogy melyik port van használatban a rendszeren, és hogyan lehet megtalálni, hogy melyik folyamat figyel egy adott porton.
terminálHogyan lehet ellenőrizni a jelszavakat a csillagok alatt a Firefoxban és a krómban
Érdekes tipp a csillagok alatt lévő jelszó ellenőrzéséhez az Inspect Element használatával a Firefoxban és a Chrome-ban.
Mi a directx az ablakokban? hogyan lehet ellenőrizni a DirectX verziót?
A Guide Tech ismerteti a DirectX jelentőségét a Windows rendszerben egyszerű nyelven, és annak verziójának ellenőrzését a számítógépen.
Hogyan lehet ellenőrizni vagy tesztelni egy használt mac hardverét
Tudja meg, hogy a Mac hardverének mely lényeges elemeit kell ellenőriznie, ha a használt eszköz beszerzését tervezi.