Знати які порти використовуються в системі - це основне завдання будь-якого адміністратора. Починаючи від налаштування інтерфейсів і закінчуючи захистом від вторгнень та проходячи будь-яке усунення несправностей, яке ми можемо собі уявити, ми повинні мати можливість перевірити, чи надає порт якийсь сервіс у нашому середовищі.
Уявіть, у якій ситуації ви встановили послугу друку CUPS у вашій системі, і ви не знаєте, чи правильно служба запустилася та підняла відповідний порт 631 або додатковий 515. У цьому посібнику ми покажемо три основні команди для виявлення портів, що використовуються системою і який його статус.
Далі ми розглянемо 3 основні команди, які особливо корисні при адмініструванні будь-якої системи. Є про lsof, netstat та nmap, утиліти, які ми будемо запускати з консолі терміналу та з правами root.
Команда Lsof
Команда також є найпростішим з того, скільки ми вам позичимо, і, будучи вихідцем з Linux, базою, яку повинен знати кожен користувач. Щоб знати порти, відкриті в системі за допомогою цієї команди, потрібно ввести послідовність, подібну до наведеної нижче, яка він покаже вам різну інформацію де ми виділимо: назву програми (наприклад, sshd), розетка програми (у цьому випадку IP-адреса 10.86.128.138, пов’язана з портом 22, що є СЛУХАЮЧИМ), та ідентифікатор процесу (який буде 85379).
$ sudo lsof -i -P -n $ sudo lsof -i -P -n | grep LISTEN
Команда Netstat
Команда NetStat дещо відрізняється у своєму синтаксисі щодо попереднього, але представляє деякі параметри набагато легше запам’ятовувати завдяки простому мнемонічному слову. Відтепер не забувайте цього слова путона, що стосується наступних характеристик:
- p: Показує з'єднання для вказаного протоколу, який може бути TCP або UDP.
- u: Список усіх портів UDP.
- t: Список усіх портів TCP.
- o: Відображає таймерів.
- n: Показує номер порту.
- a: Відображає всі активні з'єднання в системі.
Таким чином, ввівши команду та відфільтрувавши її за допомогою труба ми можемо отримати інформацію про певний порт.
$ netstat -putona | grep numero-de-puerto
Команда Nmap
Nmap Це утиліта, яку ми дозволяє проводити безліч сканувань в нашій системі і один з них, один із відкритих портів в обладнанні. Для його виконання ми повинні ввести послідовність типу nmap -sX -OY, беручи X значення T або U для підключення TCP або UDP відповідно, а значення Y - IP-адресу нашої машини (або localhost коротше). Погляньте на наступний приклад.
</pre> $ sudo nmap -sU -O localhost $ sudo nmap -sT -O 192.168.0.1 <pre>
За допомогою цих трьох додатків у вас вже є достатньо інструментів для визначення відкритих портів вашої машини. Чи використовуєте ви ті самі інструменти чи знаєте будь-який інший спосіб перевірки відкритих портів системи?
Я нічого не розумію. Звичайно, я не фахівець, але це цікаво 🙂
Привіт, добрий день, як я можу побачити дані, що надходять через порт?
У мене є пристрій, який gprs надсилає мені рядки на порт 10005 мого ubuntu, і мені потрібно через термінал побачити рядки, які надходять до мене, чи можете ви підтримати мене? Дякую. slds
За допомогою команди netstat -putona я помічаю, що адреса 127.0.0.1 відображається у двох протоколах tcp та upd, в обох випадках порт 53. Це нормально чи правильно? Випадково у мене проблеми з робочим столом dnsmasq і zimbra, який не піднімається в Ubuntu 16.04.
При спробі запустити zimbra він показує мені: Сторінка 127.0.0.1 відхилила з'єднання.
Я ціную вашу допомогу у приєднанні до цієї спільноти.
Дуже добре.
Просто додайте: за допомогою ls ви можете знати шлях процесу, а також є інші команди, такі як ss або fuser, за допомогою яких ми можемо побачити, який процес використовує порт.
Побачено тут: https://www.sysadmit.com/2018/06/linux-que-proceso-usa-un-puerto.html
Відмінно, добре узагальнено та пояснено, я не забуваю про ПУТОНУ хе-хе. ;-D