2010-02-01 4 views
8

Я хотел бы узнать, какое приложение прослушивает порт на Linux-машине.Путь приложения и порт прослушивания

Существует несколько серверов, apache и то, что не на одной машине, и я хотел бы знать, какой сервер прослушивает порт, без необходимости просканировать файлы конфигурации каждого сервера.

Есть ли команда, которая указывает путь к исполняемому файлу и какой порт он прослушивает?

ответ

12

netstat -t -l -p отобразит прослушивающие порты и имя pid и имя процесса, которые создали сокет. Поскольку у вас есть pid, вы можете использовать ps PID, чтобы найти путь к исполняемому файлу.

+2

Запуск от корня на некоторых (всех?) Системы, чтобы получить полную информацию. – Duck

+0

Для полноты этой команды перечислены порты TCPIP. Используйте netstat -u -l -p для UDP. –

+0

Если вы ищете числовой порт, вам может потребоваться добавить параметр '-n'. 'netstat -t -l -p -n' не будет разрешать имена и будет показывать все в цифровом формате. – Serxipc

5

Также lsof -i:<port number> должно дать вам PID процесса, и вы можете использовать ps <pid> посмотреть на пути