port w użyciu nie jest wyświetlany w danych wyjściowych netstat


11

W jakich scenariuszach port używany przez proces nie pojawia się w netstat -adanych wyjściowych.

Pracuję jenkinsna moim komputerze. Nasłuchuje na porcie 8080. Próbuję uruchomić inny proces, który próbuje połączyć się z tym samym portem i kończy się niepowodzeniem z błędem, że port jest już w użyciu.

Teraz, gdy to robię netstat -a | grep 8080, nie pojawia się w wynikach. Po zatrzymaniu jenkinsprocesu powiodło się powiązanie z 8080. Jakieś wskazówki, co się dzieje?

Używam CentOS.


1
Spróbuj netstat -lp, pokazując procesy , które nasłuchują .
sr_

6
Spróbuj również netstat -an | grep 8080, w przypadku gdy 8080 znajduje się w twoim /etc/servicespliku i jest zastępowany jego symboliczną nazwą.
Flup

2
Innym podejściem byłoby zastosowanie lsof -i :8080
Valentin Bajrami

1
zarówno netstat -an, jak i lsof -i: 8080 działały .. Dzięki za pomoc !!!
rs

Twój port prawdopodobnie pojawia się według nazwy, a nie numeru. Uset netstat -an

Odpowiedzi:


4

Właśnie miałem podobny przypadek na Ubuntu 14.04. Rzeczywiście domyślny port Jenkins (8080) jest odwzorowany na nazwę „http-alt” w / etc / services. Możesz to łatwo sprawdzić za pomocą

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

Oprócz netstat możesz rozważyć użycie ss

ss -ntl | grep 8080

lub

ss -tl | grep http-alt

1

W jakich scenariuszach port używany przez proces nie pojawia się w wynikach netstat -a.

Jeśli wszystko działa poprawnie, nigdy. Jak wspomniano powyżej, numer portu można zastąpić nazwą usługi wymienioną w sekcji /etc/services.

Użycie netstat -nazapewnia, że ​​porty serwisowe nie są tłumaczone na nazwy usług.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.