используемый порт не отображается в выводе netstat


11

В каких сценариях порт, используемый процессом, не отображается в netstat -aвыходных данных.

Я бегу jenkinsна своей машине. Он прослушивает порт 8080. Я пытаюсь запустить другой процесс, который пытается подключиться к тому же порту, и он завершается ошибкой, поскольку порт уже используется.

Теперь, когда я это сделаю netstat -a | grep 8080, это не будет отображаться на выходе. После остановки jenkinsмой процесс успешно привязан к 8080. Любые подсказки, что происходит?

Я использую CentOS.


1
Попробуйте netstat -lp, показывая вам процессы , которые слушают .
sr_

6
Попробуйте также netstat -an | grep 8080, если 8080 находится в вашем /etc/servicesфайле и заменяется его символическим именем.
Флюп

2
Другой подход будет использовать lsof -i :8080
Валентин Байрами

1
оба netstat -an и lsof -i: 8080 работали .. Спасибо за вашу помощь !!!
rs

Ваш порт, вероятно, отображается по имени, а не по номеру. Uset netstat -an

Ответы:


4

Просто был похожий случай на Ubuntu 14.04. Действительно порт по умолчанию jenkins (8080) сопоставлен с именем «http-alt» в / etc / services. Вы можете легко проверить это с

grep 8080 /etc/services
http-alt    8080/tcp    webcache    # WWW caching service
http-alt    8080/udp

В дополнение к netstat вы можете рассмотреть использование ss

ss -ntl | grep 8080

или

ss -tl | grep http-alt

1

В каких сценариях порт, используемый процессом, не отображается в выводе netstat -a.

Если все работает правильно, никогда. Как упоминалось выше, вы можете заменить номер своего порта на имя службы, как указано в /etc/services.

Использование netstat -naгарантирует, что сервисные порты не будут переведены в сервисные имена.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.