Порты используются при выполнении программы
Как я могу узнать, какие порты использует программа для своего выполнения?
Я использую сервер Ubuntu 14.04 и программу "SMcli". Но программа показывает при каждом выполнении "Сетевые ошибки были обнаружены при подключении к системе хранения". Но до того, как мы сменили место, все работало нормально.
Теперь мне нужно знать, какие порты использует эта программа. Затем я могу посмотреть, какие порты слушает целевой объект.
2 ответа
Попробуй использовать netstat -tunap
или же netstat -tunlp
до запуска программы и после запуска программы.
Если ваша программа 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