정보 없이 어떤 웹 서버가 설치되어 있는지 어떻게 확인할 수 있나요? [폐쇄]

정보 없이 어떤 웹 서버가 설치되어 있는지 어떻게 확인할 수 있나요? [폐쇄]

나는 최근에 개발자 중 한 명이 클라이언트에 문제를 일으키고 있었기 때문에 프로젝트를 맡았습니다. 그런데 문서가 부족해서(웃음), 웹사이트 파일이 어디에 저장되어 있는지, 어떤 웹서버가 설치되어 있는지 전혀 모르겠어요.

질문:

Linux에 설치된 웹 서버를 보는 방법은 무엇입니까?

Linux에서는 웹 서버가 파일 디렉터리에서 가리키는 위치를 어떻게 찾나요? (첫 번째 질문에 대한 답변에 따라 달라질 수 있습니다.)

** Linode에서 호스팅됨

답변1

기본적인 접근 방식은 netstat -tnlp제공해야 하는 브라우저 포트에 추가 grep을 사용하는 것입니다. 일반적으로 다음과 같습니다.

netstat -tnlp | grep 80
netstat -tnlp | grep 443

여기에는 해당 포트를 소유하는 프로세스의 PID와 이름이 나열되어야 합니다. 그러면 어떤 서버인지 알 수 있습니다. 그런 다음 해당 서버 애플리케이션에 대한 구성 파일(예 /etc/httpd: .

답변2

그와 같은 일은 없다이것Linux의 웹 서버. 작업을 수행할 수 있는 여러 가지 서버가 있습니다. 가장 일반적인 것은 아마도 Apache httpd와 nginx일 것입니다.

일반적으로 먼저 그것이 무엇인지 알아낸 다음 구성을 살펴봐야 합니다.

어떤 웹 서버가 설치되어 있는지 확인하는 한 가지 방법은 netstat어떤 포트가 HTTP 트래픽에 일반적으로 사용되는 포트를 수신하는지 확인하는 것입니다. 가장 일반적인 포트는 80(암호화되지 않은 경우) 및 443(암호화된/HTTPS의 경우)입니다. 그러나 앞에 프록시가 있는 경우 모든 포트를 사용할 수 있으며, 이 경우 8080 및 8443이 일반적인 선택입니다.

또 다른 옵션은 배포판의 패키지 시스템을 활용하는 것입니다. 사용되는 도구는 사용 중인 배포판에 따라 크게 달라집니다. 데비안에서는 dpkg -l | grep -i web몇 가지 패키지를 출력할 수 있지만 관련 패키지는 친절하고 설명에서 선택하기 쉬워야 합니다.

이 특별한 경우에는 두 가지 일반적인 선택 사항이 시스템에 구성되어 있는지 확인하는 것이 합리적일 수 있습니다. 대부분의 경우 Apache httpd는 /etc/apache(아마도 /etc/apache2) 에 구성되어 있고 nginx는 일반적으로 /etc/nginx.

Apache httpd의 경우 관련 설정은 일반적으로 DocumentRootnginx에 대해 가장 일반적 root이지만 둘 다 거의 모든 작업을 수행하도록 구성할 수 있습니다(Apache httpd는 ModRewrite를 지원하는데, 이는 Turing 완전하다고 하며 이론적으로 모든 작업을 수행할 수 있음). 필요가 조금 어려울 수 있습니다.

답변3

Linux에 설치된 웹 서버를 보는 방법은 무엇입니까?

서버에 완전히 액세스할 수 있다고 가정하면(sudoer/wheel 또는 루트) 먼저 웹 서버에 대해 열려 있는 포트가 있는지 확인해야 합니다. 일반적으로 80, 443이지만 프로세스 목록에서 웹 서버 서비스 이름을 확인하여 필터링할 수 있습니다. (nginx / apache / httpd) netstat, ps, grep, find 도구가 도움이 될 것입니다.

nginx -V httpd -V

이 명령은 개별 사이트 구성을 찾는 데 사용할 수 있는 기본 구성 파일 위치를 제공합니다.

https://www.linode.com/docs/web-servers/nginx/how-to-configure-nginx/ https://www.linode.com/docs/web-servers/apache/ 당신에게 도움이 될 수도 있습니다.

위치 또는 경로는 패키지 설치 방법 및 설치 프로그램에 전달된 옵션이나 컴파일 중에 달라집니다. 최악의 시나리오는 파일 시스템 전체에서 find 명령을 실행하여 이름 인덱스 또는 기본값이 있는 파일을 검색하는 것입니다.

답변4

웹 서버가 표준 포트에서 실행 중인 경우 "netstat -tulpen |grep 80"을 참조하세요. 어떤 서비스가 실행되고 있는지 알려주어야 합니다. 이제 구성을 확인할 수 있으며 일반적으로 /etc/servicename에서 찾을 수 있습니다. 예를 들어 아파치 구성은 /etc/apache2/에서 찾을 수 있습니다. 거기에서 파일이 어디에 있는지 묻는 메시지가 나타납니다. 다른 포트를 사용하는 다른 서비스가 있을 수 있습니다. netstat 출력을 다시 확인하세요. 단, 포트 80으로 제한되지는 않습니다.

하지만 그러지 마세요. 당신은 분명히 이 시스템을 스스로 운영하기에는 충분한 지식이 없습니다. 조만간 악의적인 행위자에 의해 장악될 것입니다(아마도 더 빠를 것입니다). 당신은 책임을 질 것입니다. 당신의 상사도 마찬가지일 것이다. 이로 인해 바람직하지 않은 결과가 발생할 수 있습니다. 무엇을 하는지 아는 사람에게 물어보세요. 제발.

(크로스 포스트: stackexchange의 답변 복사)

관련 정보