Calin Crisan - Cat ai mama cui sa-i spui
Cuprins:
- Ce este portul de ascultare
- Verificați porturile de ascultare cu
netstat
- Verificați porturile de ascultare cu
ss
- Verificați porturile de ascultare cu
lsof
- Concluzie
Atunci când depanați conectivitatea de rețea sau problemele specifice aplicației, unul dintre primele lucruri de verificat ar trebui să fie ce porturi sunt de fapt utilizate în sistemul dvs. și ce aplicație ascultă pe un anumit port.
Acest articol explică cum să aflați ce servicii ascultă porturile care utilizează comenzile
netstat
,
ss
și
lsof
. Instrucțiunile sunt aplicabile pentru toate sistemele de operare bazate pe Linux și Unix, cum ar fi macOS.
Ce este portul de ascultare
Portul de rețea este identificat prin numărul său, adresa IP asociată și tipul protocolului de comunicare, cum ar fi TCP sau UDP.
Portul de ascultare este un port de rețea pe care ascultă o aplicație sau un proces, care acționează ca un punct de comunicare.
Fiecare port de ascultare poate fi deschis sau închis (filtrat) folosind un firewall. În termeni generali, un port deschis este un port de rețea care acceptă pachete primite din locații îndepărtate.
Nu puteți avea două servicii care ascultă același port pe aceeași adresă IP.
De exemplu, dacă executați un server web Apache care ascultă porturile
80
și
443
și încercați să instalați Nginx, ulterior, nu se va începe, deoarece porturile HTTP și HTTPS sunt deja utilizate.
Verificați porturile de ascultare cu
netstat
netstat
este un instrument de linie de comandă care poate furniza informații despre conexiunile de rețea.
Pentru a enumera toate porturile TCP sau UDP care sunt ascultate, inclusiv serviciile care utilizează porturile și starea socket-ului, folosiți următoarea comandă:
sudo netstat -tunlp
Opțiunile utilizate în această comandă au următorul sens:
-
-t
- Afișează porturile TCP.-u
- Afișează porturile UDP.-n
- Afișează adrese numerice în loc să rezolve gazdele.-l
- Afișați doar porturi de ascultare.-p
- Afișează PID și numele procesului ascultătorului. Aceste informații sunt afișate numai dacă executați comanda ca utilizator root sau sudo.
Rezultatul va arăta astfel:
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
Coloanele importante în cazul nostru sunt:
-
Proto
- Protocolul utilizat de priză.Local Address
-Local Address
IP și numărul de port pe care îl ascultă procesul.PID/Program name
- PID și numele procesului.
sudo netstat -tnlp | grep:22
Rezultatul arată că pe acest port port 22 este folosit de serverul SSH:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
Dacă ieșirea este goală, înseamnă că nimic nu ascultă în port.
De asemenea, puteți filtra lista pe baza unor criterii, de exemplu, PID, protocol, stare și așa mai departe.
netstat
este învechit și înlocuit cu
ss
și
ip
, dar este încă una dintre cele mai utilizate comenzi pentru a verifica conexiunile de rețea.
Verificați porturile de ascultare cu
ss
ss
este
netstat
nou. Ii lipsesc unele caracteristici
netstat
, dar expune mai multe stări TCP și este ceva mai rapid. Opțiunile de comandă sunt în mare parte aceleași, astfel încât trecerea de la
netstat
la
ss
nu este dificilă.
Pentru a obține o listă cu toate porturile de ascultare cu
ss
tastați:
sudo ss -tunlp
Producția este aproape aceeași cu cea raportată de
netstat
:
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))
Verificați porturile de ascultare cu
lsof
lsof
este o utilitate puternică pentru linia de comandă care oferă informații despre fișierele deschise de procese.
În Linux, totul este un fișier. Vă puteți gândi la un socket ca la un fișier care scrie în rețea.
Pentru a obține o listă cu toate porturile TCP ascultate cu tip
lsof
:
sudo lsof -nP -iTCP -sTCP:LISTEN
Opțiunile utilizate sunt următoarele:
-
-n
- Nu convertiți numerele de port în nume de port.-p
- Nu rezolvați numele de gazdă, afișați adrese numerice.-iTCP -sTCP:LISTEN
- Afișați numai fișierele de rețea cu starea TCP LISTEN.
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)
Majoritatea numelor de coloane de ieșire sunt explicative:
-
COMMAND
,PID
,USER
- Numele, pid-ul și utilizatorul care rulează programul asociat portului.NAME
- Numărul portului.
Pentru a afla ce proces ascultă într-un anumit port, de exemplu, portul
3306
ai utiliza:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
Rezultatul arată că portul
3306
este folosit de serverul MySQL:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
Pentru mai multe informații, vizitați pagina omului lsof și citiți despre toate celelalte opțiuni puternice ale acestui instrument.
Concluzie
V-am arătat mai multe comenzi pe care le puteți utiliza pentru a verifica ce porturi sunt utilizate în sistemul dvs. și cum să găsiți ce proces ascultă pe un port specific.
TerminalCumpărătorii de web savvy sunt mereu în căutarea cupoanelor care le pot economisi bani pe tehnologie. Dar toate codurile de cupon nu sunt create egale, iar cele mai bune dintre ele nu sunt distribuite masei. Iată cum este culesul ofertelor insiderilor - oferte care sunt destinate familiei, prietenilor, angajaților sau afiliaților dvs. și care pot reduce în mod semnificativ costul PC-urilor și al altor produse electronice.

Majoritatea vânzătorilor importanți au oferte cu oferte privilegiate sau exclusive, adesea rambursabile pe zone speciale ale site-urilor lor Web. Unele dintre aceste site-uri sunt mai accesibile decât altele: Magazinul de angajați și afiliați din Programul de achiziție al membrilor Dell nu pare să necesite nici o dovadă că sunteți un angajat sau afiliat, în timp ce Programul de achiziții al contractorului Lenovo va fi vândut oricui cu cuponul potrivit cod, ușor de găsit pe site-urile web deal. Î
48% Dintre suedezii sunt împotriva legii viitoare, în comparație cu 32% în favoarea acesteia, scrie suedezul Svenska Dagbladet, care a comandat raportul. o corelare clară între vârstă, sex și opoziție; 74% dintre bărbații cu vârste cuprinse între 15 și 29 ani sunt împotriva legii. Cele mai puțin negative sunt persoanele de peste 65 de ani; în acest grup, 27% sunt împotriva legii.

Există o mișcare de rădăcini împotriva legii, în special pe Web. De exemplu, grupul Facebook Stoppa IPRED (Stop IPRED) a avut peste 81 000 de membri în momentul votării, potrivit fondatorilor săi.
Cum se verifică (scanează) dacă există porturi deschise în linux

Acest articol descrie câteva abordări pentru a afla ce porturi sunt deschise către exterior pe sistemul dvs. Linux.