Как узнать, какая служба работает на конкретном порту в Linux?

Я пытаюсь запустить weblogic-сервер на моей машине linux, и я получаю следующую ошибку:

ERROR: transport error 202: bind failed: Address already in use ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 

Я думаю, что ошибка означает, что порт отладчика, который по умолчанию равен 8453, уже принадлежит некоторой другой службе. Как узнать, какая служба запущена в номере частичного порта?

PS: Я использовал команду netstat но это показывает все сервисы, занимающие все порты. Меня интересует только конкретный порт.

  • Как определить процесс, вызывающий запрос ARP?
  • Почему в выводе netstat не отображается мой IP-адрес клиента?
  • Как проверить, какой пользователь несет ответственность за использование определенного порта?
  • Почему netstat не показывает мне порты?
  • Правило Iptables допускает только один порт и блокирует другие
  • почему ss (8) понимает прослушивание портов UDP по-другому, чем netstat (8)?
  • Почему SSH показывает протокол как tcp6 * и * tcp в netstat?
  • Проблемы с VPN и шлюзом
  • 4 Solutions collect form web for “Как узнать, какая служба работает на конкретном порту в Linux?”

    Два пути:

    • lsof -i :port -S
    • netstat -a | grep port

    Вы можете сделать man lsof или man netstat для необходимой информации. Замените port на номер порта, который вы хотите найти.

    Вы можете использовать fuser или lsof то есть:

     fuser 8453/tcp lsof -i TCP:8453 

    Если вы хотите получить дополнительную информацию от fuser вы также можете использовать флаг -v , то есть: fuser -v 8453/tcp

    для чего это стоит … в зависимости от версии netstat (в частности, GNU netstat ), которую вы можете использовать, вы можете использовать

     netstat -punta | grep <port> 

    это покажет, что соединения в ESTABLISHED и LISTEN содержат UDP и TCP, и он будет игнорировать локальные сокеты UNIX. конечный результат – хороший, аккуратный, небольшой результирующий набор.

    флаг -p даст вам идентификатор процесса и имя процесса того, что использует этот порт

    флаг -u показывает udp

    флаг -n для числовых адресов

    флаг -t показывает tcp

    -a показывает прослушивающие и не прослушивающие сокеты

    На centos

     /usr/sbin/lsof -i tcp:8453 (lsof -i protocol:port) 

    На ubuntu

     /usr/bin/lsof -i tcp:8453 

    Или, узкие результаты netstat с использованием фильтров.

    Interesting Posts

    Как ограничить скорость соединения для IP-адресов «X-Forwarded-for»?

    Что происходит, когда ваш пароль истекает, и вы используете проверку подлинности ключа?

    Где Netbeans установлен на Ubuntu?

    Переименуйте имена файлов MP3 в шаблон

    Какова связь между системными вызовами, передачей сообщений и прерываниями?

    Создайте псевдоним, чтобы заменить строку без $ VARIABLE, в bash cli

    Скопировать выделение в буфер обмена в tmux

    Как фильтровать журналы с помощью rsyslog?

    Как переназначить новые значения для элементов массива?

    путаница настроек rsnapshot

    Не удалось подключиться к серверу samba

    Как выполнить итерацию команды с двумя разными переменными?

    Команда не найдена проблема в терминале Linux-Ubuntu

    Заменить "/ U + {4} /" с надлежащим символом Юникода в конвейере оболочки с флагом sed eval

    Создание зашифрованного файлового контейнера в качестве пользователя без полномочий root

    Linux и Unix - лучшая ОС в мире.