15%

Alexhost ви дава желания

Извършете проучването и спечелете награди

25.12.2024

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

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

Мониторингът на отворени и слушащи портове в Linux система е съществена практика за поддържане на системна сигурност, извършване на мрежова диагностика и ефективно управление на вашата сървърна инфраструктура. Чрез редовна проверка на това кои портове са отворени и кои услуги ги използват, можете да идентифицирате потенциални рискове за сигурността, да откриете опити за неразрешен достъп и да се уверите, че вашата система не е изложена на ненужни уязвимости.

Разбирането на това кои услуги са свързани с конкретни портове също помага за откриване на неправилни конфигурации или неочаквано поведение, като например неизвестни процеси, които слушат на чувствителни портове. Тази информация значително намалява риска от пробив в сигурността, като ви позволява да затворите неизползвани портове или да осигурите активните.

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

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

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

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

Проверка на портовете с 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

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

sudo netstat -tuln | grep ":80"

Тази команда показва всички услуги, които слушат на порт 80.

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

Какво е ss?

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

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

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

ss -tuln

  • -t: Показване на TCP сокети
  • -u: Показване на UDP сокети
  • -l: Показване на слушащи сокети
  • -n: Показване на числови адреси

Изходът предоставя ясна представа за всички слушащи портове и техните състояния.

Разширено използване на ss

Командата ss предлага разширени опции за филтриране за по-подробен анализ.

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

ss -tl

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

ss -ul

Показване на слушащи портове с асоциирани идентификатори на процеси

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

ss -tulnp

Опцията -p показва името на процеса и PID, свързани с всеки слушащ порт, което е полезно за диагностика.

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

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

  • Производителност: ss е по-бърз и по-ефективен от netstat, особено на натоварени системи.
  • Наличност: ss е включен по подразбиране в повечето съвременни Linux дистрибуции, докато netstat може да изисква ръчна инсталация.
  • Опции за филтриране: ss предоставя по-напреднали възможности за филтриране и показване.

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

  • На по-стари Linux системи.
  • Ако вече сте запознати с синтаксиса на netstat.

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

  • Когато е необходима по-добра производителност.
  • За разширен анализ на мрежата и филтриране.

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

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

Използване на lsof

lsof изброява отворените файлове, включително мрежови сокети. За да проверите кой процес използва порт 80:

sudo lsof -i :80

Тази команда показва процесите, свързани с порт 80.

Използване на nmap

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

sudo nmap -sT localhost

Това сканира TCP портовете на локалната машина.

Заключение

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

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

15%

Alexhost ви дава желания

Извършете проучването и спечелете награди