Перевірка відкритих і прослуховуючих портів у 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-toolsCentOS / 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, чи діагностуєте мережеву поведінку, ці інструменти надають видимість, необхідну для ефективного управління відкритими портами.
