제 사이트의 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();
?>
답변을 작성하시기 전에 로그인 해주세요.