8080 출력에 대해 netstat를 grep할 때 Tomcat이 표시되지 않는 이유는 무엇입니까?

8080 출력에 대해 netstat를 grep할 때 Tomcat이 표시되지 않는 이유는 무엇입니까?

Tomcat이 실행 중인지 확인하기 위해 다음을 수행하고 있습니다.

$ whoami
voops
voops@esavo00:~/apache-tomcat-7.0.57/bin#
$ ps -ef | grep -i tomcat | grep -v grep
voops     8973     1  0 Apr22 ?        00:00:40 /usr/local/jdk1.7.0_67/bin/java -Djava.util.logging.config.file=/home/voops/apache-tomcat-7.0.57/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/voops/apache-tomcat-7.0.57/endorsed -classpath /home/voops/apache-tomcat-7.0.57/bin/bootstrap.jar:/home/voops/apache-tomcat-7.0.57/bin/tomcat-juli.jar -Dcatalina.base=/home/voops/apache-tomcat-7.0.57 -Dcatalina.home=/home/voops/apache-tomcat-7.0.57 -Djava.io.tmpdir=/home/voops/apache-tomcat-7.0.57/temp org.apache.catalina.startup.Bootstrap start

위 내용에 대한 나의 이해는 tomcat이 현재 로그인된 사용자(voops)가 소유한 프로세스로 실행되고 있다는 것입니다. 그런 다음 다음을 수행합니다.

$ netstat -a | grep 8080

..하지만 grep은 없습니다.

server.xml파일은 다음 요소를 선언합니다.

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

이것이 netstat -an | grep 8080보여주는 것은:

$ netstat -an | grep 8080
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN
tcp        1      0 131.176.161.23:44535        131.176.161.23:8080         CLOSE_WAIT
tcp        1      0 131.176.161.23:54600        131.176.161.23:8080         CLOSE_WAIT
tcp        1      0 131.176.161.23:51667        131.176.161.23:8080         CLOSE_WAIT
tcp        1      0 131.176.161.23:50348        131.176.161.23:8080         CLOSE_WAIT         
...  5 more lines similar to the one above

답변1

질문에 대한 의견이 충분히 명확하지 않은 경우 해당 의견에 언급되지 않은 몇 가지 팁과 함께 여기에 답변을 추가합니다.

"8080 출력에 대해 netstat을 grep할 때 Tomcat이 표시되지 않는 이유는 무엇입니까?"
짧은 대답:
포트 번호 8080이 grep 패턴과 일치하지 않는 http_alt 문자열로 변환되기 때문입니다.

세부정보:
에서https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers, 포트 8080이 공식임을 알 수 있습니다"HTTP 대안(http_alt) - 일반적으로 웹 프록시 및 캐싱 서버와 함께 사용되거나 루트가 아닌 사용자로 웹 서버를 실행할 때 사용됩니다.".
기본적 netstat으로 기본적으로 포트 8080을 표시하는 "http-alt"가 사용됩니다.

를 사용하면 netstat -n포트 번호(예: http-alt의 경우 8080)가 표시되고 이를 grep할 수 있습니다. -p를 사용하여 netstat를 실행하면 수신 프로세스의 프로세스 ID가 표시됩니다.

따라서 Tomcat 항목을 보려면 netstat -pa | grep http-alt또는 를 사용하십시오.netstat -pan | grep :8080

또는 lsof -P | grep :8080이를 사용하면 포트 8080에서 수신 대기 중인 소켓의 프로세스 ID와 프로세스 이름도 표시됩니다. 여기서 -P는 차단된 포트 번호를 문자열(예: http-alt의 경우 8080)로 변환합니다.

또 다른 옵션은 nmap $SERVER또는 입니다 namp localhost. Tomcat이 제대로 실행되면 8080을 포함한 모든 열린 포트가 표시됩니다.

관련 정보