테스트 사이트 - 개발 중인 베타 버전입니다

제 사이트의 API를 호출하는 서버의 아이피를 알아내는 법 채택완료

대한사랑 1년 전 조회 1,923

ssh로 제 사이트의 API를 호출하는 서버의 아이피를 알아내는 법을 알고 싶습니다

 

고수님들 자세하고 쉽게 설명 부탁드립니다

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

다음을 참고해 보세요

</p>

<p><?php</p>

<p>// SSH 요청을 받는 서버의 IP 주소를 가져오는 함수

function getSSHServerIP() {

    // SSH 로그 파일 경로 설정

    $logFile = '/var/log/auth.log'; // 또는 access.log SSH 로그 파일 경로에 따라 변경할 수 있음</p>

<p>    // 로그 파일이 존재하고 읽을 수 있는지 확인

    if (file_exists($logFile) && is_readable($logFile)) {

        // 로그 파일을 한 줄씩 읽어들임

        $lines = file($logFile);</p>

<p>        // 로그 파일의 각 줄을 확인하여 SSH 접속 기록 찾기

        foreach ($lines as $line) {

            // SSH 접속 로그를 찾으면 IP 주소를 추출하여 반환

            if (strpos($line, 'sshd') !== false && strpos($line, 'Accepted password for') !== false) {

                // 정규식을 사용하여 IP 주소 추출

                if (preg_match('/(?:[0-9]{1,3}\.){3}[0-9]{1,3}/', $line, $matches)) {

                    return $matches[0];

                }

            }

        }

    }</p>

<p>    // SSH 로그 파일을 읽을 수 없거나 SSH 접속 기록을 찾지 못한 경우

    return 'SSH 서버 IP를 찾을 수 없습니다';

}</p>

<p>// SSH 서버의 IP 주소를 출력

echo "SSH 서버 IP: " . getSSHServerIP();

?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

대한사랑
1년 전
답변 너무 고맙습니다

제 이해할 수 있는 실력이 안돼서

조금 더 쉽게 알 수 있는 방법이 없을까요?
웹메이킹
1년 전
간단히 설명 드리자면 다음과 같습니다.

웹 서버 로그 확인: 만약 웹 서버가 요청을 기록하고 있다면, SSH 요청을 받는 서버의 IP 주소가 그 로그에 기록될 수 있으므로 로그파일을 확인해 보세요.
로그 파일은 일반적으로 /var/log 디렉토리에 있습니다.
access.log나 auth.log 등의 파일을 확인해 보세요.
grep 명령어를 사용하여 SSH 관련 로그를 필터링할 수 있습니다.

공개된 SSH 키 또는 호스트 키 검색: 보안 설정을 실수하여 SSH 키를 공개로 노출했다면, 해당 키를 통해 서버의 IP 주소를 확인할 수 있습니다. GitHub 등의 코드 호스팅 플랫폼에서 검색해보세요.

도메인 검색: SSH 서버가 특정 도메인에 매핑되어 있다면, 해당 도메인의 DNS 레코드를 조회하여 IP 주소를 확인할 수 있습니다. 이 방법은 dig나 nslookup과 같은 도구를 사용할 수 있습니다.

직접 서버를 운영중이지 않으시다면 네크워크 관리자 및 서버관리자에게 도움을 받으시는 것도 해결하시는데 도움이 되지 않을까 합니다.
대한사랑
1년 전
너무 고맙습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인