
어떤 상황에서 프로세스에서 사용하는 포트가 netstat -a
출력에 표시되지 않습니까?
jenkins
내 컴퓨터에서 실행 중 입니다 . 포트 8080에서 수신 대기 중입니다. 동일한 포트에 바인딩하려는 다른 프로세스를 시작하려고 했지만 포트가 이미 사용 중이라는 오류로 인해 실패했습니다.
이제 이 작업을 수행하면 netstat -a | grep 8080
출력에 나타나지 않습니다. jenkins
8080에 성공적으로 바인딩한 후 프로세스를 중지했습니다 . 무슨 일이 일어나고 있는지 단서가 있나요?
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
이렇게 하면 아무것도 놓치지 않을 것입니다.