CentOS가 열린 포트를 올바르게 나열하도록 하는 방법은 무엇입니까?

CentOS가 열린 포트를 올바르게 나열하도록 하는 방법은 무엇입니까?

저는 Docker 컨테이너 세트를 호스팅하는 CentOS 7 운영 체제를 사용하고 있습니다.

웹 브라우저를 사용하면 포트 80에서 서비스에 액세스하고 응답을 받을 수 있습니다. 약간의 로컬 지식은 응답이 Docker 컨테이너에서 나온다는 것을 이해하는 데 도움이 됩니다.

그러나 큰 문제가 있습니다. 운영 체제에서 포트 80이 열려 있음을 표시하는 방법을 찾을 수 없는 것 같습니다. 내가 시도한 내용은 다음과 같습니다(모두 root사용자 포함).

  • netstat -tulnp | grep 80목록아무것도 없다포트 80에서 수신
  • ss -nutlp | grep 80포트 80에서 수신 대기하지 않는 항목 나열
  • lsof -i -P | grep 80또한 포트 80에서 수신 대기하지 않는 항목도 나열되어 있습니다.
  • wget 127.0.0.1index.html을 성공적으로 얻었습니다.

심문하다루스트어바웃직접 통과는 docker ps실제로 내가 찾고 있는 대답이 아닙니다. 왜냐하면 우리는 운영 체제에 물어보고 포트 80에 대한 요청을 처리하는 프로세스를 확인할 수 있어야 하기 때문입니다. docker ps반환되기 때문에 이것도 도움이 되지 않습니다.일부PORTS 열에 다음 항목이 있는 컨테이너:

PORTS
80/tcp
8080/tcp
80/tcp

또 가기 싫다도커운영 체제를 조사하고 포트 80 처리를 담당하는 프로세스를 식별할 수 있는 방법이 있어야 하므로 답을 찾고 있습니다.

내 유일한 추측은도커이러한 네트워크 요청을 차단하려면 일종의 저수준 드라이버를 설치하십시오.

이 정보와 명령줄 명령을 배포하기 위해 CentOS를 얻는 방법에 대한 제안이 있으면 크게 감사하겠습니다!

답변1

Docker 호스트가 포트 80에서 수신 대기하고 있습니까? 포트 80에서 어떤 포트에 있든 리디렉션될 수 있습니다.내장된 방화벽 모니터링을 사용하세요.

IPTABLES를 실행 중인 경우 다음 명령을 사용하여 확인할 수 있습니다.

iptables -L -t nat

그러면 다음과 유사한 리디렉션이 무엇인지 알려주는 DOCKER라는 체인이 표시됩니다.

Chain DOCKER (2 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            
DNAT       tcp  --  anywhere             anywhere             tcp dpt:http-alt to:172.17.0.3:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:4433 to:172.17.0.3:443
DNAT       tcp  --  anywhere             anywhere             tcp dpt:1688 to:172.17.0.4:1688

관련 정보