Порты используются при выполнении программы

Как узнать, какие порты использует программа при его выполнении?

Я использую сервер Ubuntu 14.04 и программу «SMcli». Но программа показывает при каждом выполнении «Сетевые ошибки были обнаружены при подключении к системе хранения». Но прежде чем мы изменили местоположение, все было нормально.

Теперь мне нужно знать, какие порты использует эта программа. Затем я могу посмотреть, какие порты прослушивает цель.

1
задан 29 April 2015 в 12:53

1 ответ

Если ваша программа nc (например), вы можете сделать:

sudo netstat -tulpn | grep "nc" | grep -Po "(?<=:)[^ ]+(?=.*:)"

или

sudo netstat -tulpn | grep "nc" | tr -s ' ' | cut -d' ' -f4 | cut -d: -f2

Здесь я рассмотрел только IPv4 и предположил, что вы имеют только один экземпляр службы. Если вам нужно рассмотреть любой из вышеперечисленных, то вам следует искать службу по имени, а затем решить, какой из них требуется:

sudo netstat -tulpn | grep "nc"

Заменить nc с именем службы, искать.

Пример:

$ sudo netstat -tulpn | grep "nc" | tr -s ' ' | cut -d' ' -f4 | cut -d: -f2
4567
$ sudo netstat -tulpn | grep "nc" | grep -Po "(?<=:)[^ ]+(?=.*:)"
4567
2
ответ дан 23 May 2018 в 20:52
  • 1
    Ничего себе, это тоже хороший ответ. Пробовал это, и это работало очень хорошо. Благодарю. :) – user3772108 30 April 2015 в 10:04
  • 2
    @ user3772108 Счастлив помочь :) – heemayl 30 April 2015 в 11:47

Другие вопросы по тегам:

Похожие вопросы: