사용 중인 포트가 netstat 출력에 표시되지 않습니다.

사용 중인 포트가 netstat 출력에 표시되지 않습니다.

어떤 상황에서 프로세스에서 사용하는 포트가 netstat -a출력에 표시되지 않습니까?

jenkins내 컴퓨터에서 실행 중 입니다 . 포트 8080에서 수신 대기 중입니다. 동일한 포트에 바인딩하려는 다른 프로세스를 시작하려고 했지만 포트가 이미 사용 중이라는 오류로 인해 실패했습니다.

이제 이 작업을 수행하면 netstat -a | grep 8080출력에 나타나지 않습니다. jenkins8080에 성공적으로 바인딩한 후 프로세스를 중지했습니다 . 무슨 일이 일어나고 있는지 단서가 있나요?

CentOS를 실행 중입니다.

답변1

Ubuntu 14.04에서도 비슷한 상황이 발생했습니다. 실제로 jenkins 기본 포트(8080)는 /etc/services의 "http-alt" 이름에 매핑됩니다. 이것을 쉽게 확인할 수 있습니다

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

답변2

어떤 상황에서는 프로세스에서 사용하는 포트가 netstat -a 출력에 표시되지 않습니다.

모든 것이 잘 작동한다면 절대 그렇지 않습니다. 위에서 언급한 것처럼 포트 번호를 에 나열된 서비스 이름으로 바꿀 수 있습니다 /etc/services.

사용하면 netstat -na서비스 포트가 서비스 이름으로 변환되지 않습니다.

답변3

포트 443에서는 서비스가 제대로 실행되고 있지만 netstat에는 443 포트가 전혀 없는 문제가 있습니다. 마지막으로 iptables나열할 수 있는 몇 가지 전달 규칙을 찾았습니다.

iptables -t nat -L -n -v

답변4

나는 항상 다음을 사용합니다.

netstat -tupna

이렇게 하면 아무것도 놓치지 않을 것입니다.

관련 정보