Проверка на отворени и слушащи портове в Linux с помощта на netstat и ss ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
06.12.2024

Проверка на отворени и слушащи портове в Linux с помощта на netstat и ss

Наблюдението на отворените и слушащите портове в системата Linux е от съществено значение за сигурността, отстраняването на проблеми в мрежата и системната администрация. Знанието за това кои портове се използват и от кои услуги може да помогне за откриване на потенциални уязвимости или неоторизиран достъп. Два често използвани за тази цел инструмента са netstat и ss.

В тази статия ще разгледаме как да използваме командите netstat и ss за проверка на отворените и слушащите портове в Linux система.

1. Разбиране на портовете и техните типове

Преди да се потопим в инструментите, е важно да разберем основните типове портове, които може да срещнете:

  • Отворени портове: Това са портове, на които приложенията активно слушат за връзки.
  • Слушащи портове: Това са портове, към които дадена услуга или приложение се е свързало и активно очаква входящ мрежов трафик.
  • Общи протоколи:
    • TCP: Протокол за контрол на предаването (надежден, базиран на връзки).
    • UDP: Протокол за потребителски данни (без връзка, по-малко надежден, но по-бърз).

2. Проверка на портове с netstat

Какво представлява netstat?

netstat е класически инструмент за команден ред, който предоставя мрежова статистика и информация за мрежовите връзки, включително отворени и слушащи портове. Въпреки че е изоставен в полза на по-нови инструменти като ss, той все още се използва широко.

Инсталиране на netstat

netstat е част от пакета net-tools. В съвременните дистрибуции на Linux може да се наложи да го инсталирате ръчно:

  • Debian/Ubuntu:
    уеб/Уеб: sudo apt install net-tools
  • CentOS/RHEL:
    sudo yum install net-tools

Използване на netstat за проверка на отворени и слушащи портове

За да проверите всички слушащи портове на вашата система, включително TCP и UDP, използвайте следната команда:

sudo netstat -tuln
  • t: Покажете TCP портовете.
  • u: Показва UDP портове.
  • l: Показва само портове за слушане.
  • n: Показване на цифрови адреси вместо разрешаване на имена на хостове и услуги.

Примерен изход:

  • Локален адрес: IP адресът и портът, на който услугата слуша.
  • Чужд адрес: IP адресът и портът на отдалечения клиент (за активни връзки).
  • Състояние: Състоянието на връзката (напр. LISTEN за отворени портове).

Филтриране на определени портове или услуги с netstat

Можете да филтрирате изхода, за да се фокусирате върху конкретни портове или услуги. Например, за да проверите портове, свързани с HTTP (порт 80):

sudo netstat -tuln | grep ":80"

Това ще покаже всички услуги, които слушат на порт 80.

3. Проверка на портове с ss

Какво е ss?

ss е модерна програма, която замени netstat в много дистрибуции на Linux. Тя е по-бърза и по-ефективна от netstat, особено при работа с голям брой връзки. ss може да показва отворени портове, информация за мрежови гнезда и др.

Използване на ss за проверка на отворени и слушащи портове

Синтаксисът на ss е доста подобен на този на netstat. За да проверите всички слушащи TCP и UDP портове, използвайте:

ss -tuln
  • t: Показва TCP сокети.
  • u: Показва UDP сокети.
  • l: Показва само слушащи сокети.
  • n: Показване на цифрови адреси (не разрешават имена на хостове).

Примерен изход:

Този изход показва всички слушащи портове и техните състояния (подобно на netstat).

Разширена употреба на ss

ss предоставя по-разширени опции за филтриране и показване на връзки въз основа на различни критерии.

Показване само на слушащи TCP портове:

ss -tl

Показване само на UDP портове за слушане:

ss -ul

Показване на портове за слушане по идентификатор на процеса (PID):

За да видите кой процес е свързан с даден слушащ порт, използвайте:

ss -tulnp

Опцията p показва процеса, който използва порта, което е полезно за отстраняване на неизправности.

4. Сравняване на netstat и ss

И netstat, и ss служат за подобни цели, но има разлики, които си струва да се отбележат:

  • Бързина и ефективност: ss е по-бърз от netstat и консумира по-малко ресурси. Той може да обработва по-ефективно голям брой връзки.
  • Наличност: ss е включен по подразбиране в повечето съвременни дистрибуции на Linux, докато за netstat е необходимо инсталиране на пакета net-tools в някои системи.
  • Формат на изхода: И двете предоставят подробна информация за портовете и връзките, но ss има повече опции за филтриране и показване на специфична информация.

Кога да използвате netstat:

  • Когато работите с по-стари Linux системи.
  • Когато сте запознати със синтаксиса на netstat и не искате да превключвате.

Кога да използвате ss:

  • Когато се нуждаете от по-добра производителност, особено в системи с голям брой връзки.
  • За по-усъвършенствано филтриране и мрежов анализ.

5. Други инструменти за проверка на отворени портове

Освен netstat и ss има и други инструменти, които можете да използвате за проверка на отворените и слушащите портове в Linux:

lsof изброява отворени файлове, които могат да включват мрежови сокети. Можете да го използвате, за да проверите кой процес слуша на определен порт

sudo lsof -i :80

Това показва процесите, използващи порт 80.

nmap е инструмент за сканиране на мрежи, който може да се използва за проверка на отворени портове в системата.

sudo nmap -sT -O localhost

Тази команда сканира TCP портовете на локалния хост.

Заключение

Наблюдението на отворените и слушащите портове е важна задача за системните администратори, а инструменти като netstat и ss улесняват това. Въпреки че netstat все още се използва в по-старите системи, ss се превърна в предпочитан инструмент поради своята бързина и ефективност. Независимо дали отстранявате проблеми в мрежата или защитавате вашия Linux сървър, тези инструменти ще ви помогнат да следите активните услуги и да гарантирате, че портовете ви се управляват правилно.

Използвайте netstat, ако сте по-запознати с него, или преминете към ss за по-бързо и по-ефективно наблюдение на отворените и слушащите портове на вашата система.

Уведомете ме, ако имате нужда от допълнителни разяснения или помощ!

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills