코드

특정 포트 오픈 확인 예제3 - php

T8.CO.KR 2026. 9. 26. 19:55

예) t8.co.kr에서 TCP 21, 22, 25, 80, 110, 143, 443, 3306 포트가 열려 있는지 확인한다.

<!DOCTYPE HTML>
<html>
<head>
<title>원격 포트 확인</title>
</head>
<body>
<form method="post">
<input type="text" name="address" placeholder="주소를 입력하시오.">
<input type="submit" value="scan">
</form>
<?php
if(!empty($_POST['address'])) {
  $ports = array(21, 22, 25, 80, 110, 143, 443, 3306);
  $results = array();
  foreach($ports as $port) {
    if($pf = @fsockopen($_POST['address'], $port, $err, $err_string, 1)) {
      $results[$port] = true;
      fclose($pf);
    } else {
      $results[$port] = false;
    }
  }
  foreach($results as $port=>$val) {
    $prot = getservbyport($port,"tcp");
      echo "TCP $port ($prot): ";
    if($val) {
      echo "<span style=\"color:green\">Open</span><br>";
    } else {
      echo "<span style=\"color:red\">Closed</span><br>";
    }
  }
}
?>
</body>
</html>