제 사이트의 API를 호출하는 서버의 아이피를 알아내는 법
본문
ssh로 제 사이트의 API를 호출하는 서버의 아이피를 알아내는 법을 알고 싶습니다
고수님들 자세하고 쉽게 설명 부탁드립니다
답변 1
다음을 참고해 보세요
<?php
// SSH 요청을 받는 서버의 IP 주소를 가져오는 함수
function getSSHServerIP() {
    // SSH 로그 파일 경로 설정
    $logFile = '/var/log/auth.log'; // 또는 access.log SSH 로그 파일 경로에 따라 변경할 수 있음
    // 로그 파일이 존재하고 읽을 수 있는지 확인
    if (file_exists($logFile) && is_readable($logFile)) {
        // 로그 파일을 한 줄씩 읽어들임
        $lines = file($logFile);
        // 로그 파일의 각 줄을 확인하여 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];
                }
            }
        }
    }
    // SSH 로그 파일을 읽을 수 없거나 SSH 접속 기록을 찾지 못한 경우
    return 'SSH 서버 IP를 찾을 수 없습니다';
}
// SSH 서버의 IP 주소를 출력
echo "SSH 서버 IP: " . getSSHServerIP();
?>
                답변을 작성하시기 전에 로그인 해주세요.