태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
블로그 이미지

HabonyphP eBook

PHP 소스 강좌, 데이터베이스, 레퍼런스 전자책 소개 등 수록. by 하보니



포트 스캐너 함수 만들기

포트 스캐너는 말 그대로 상대방의 포트를 스캔하는 것을 말합니다. 해커들이 만들어 사용한다는 포트 스캐너를 간단하게 만들어 보겠습니다. 서버가 윈도우라면 기본적으로 php_sockets.dll 모듈이 비활성화 상태이므로 php.ini 를 수정해서 활성화 해줘야 socket 함수를 사용할 수 있습니다.

 

ex #1)

<!DOCTYPE HTML SYSTEM "about:legacy-compat">
<form action="" method="POST">
Server Name: <input type="text" name="servername" size="30"

    value="" autofocus required placeholder="ex) example.com or ip address"

 />
<br />
Service :
<input type="checkbox" name="port[]" value="21" />ftp 
<input type="checkbox" name="port[]" value="23" />telnet 
<input type="checkbox" name="port[]" value="25" />smtp 
<input type="checkbox" name="port[]" value="80" />http 
<input type="text" name="port[]" value="" placeholder="other port" />
<br />
<input type="Submit" name="result" value=" "/>
</form>
<?php 
if(!empty($_POST['result']) && ($_SERVER['REQUEST_METHOD'] === 'POST')){ 
  ini_set("max_execution_time"120); 

  $servername preg_replace("/[^a-z0-9.-:]/i"""$_POST['servername']); 
  if(!empty($servername) && function_exists("socket_create")){ 
    if(is_array($_POST['port'])){ 
      $output = array(); 
      $socket = @socket_create(AF_INETSOCK_STREAM0); 

      foreach($_POST['port'] as $p){ 
        $num preg_replace("/[^0-9]/"""$p); 
        if($num){ 
          $result = @socket_connect($socket$servername$p); 
          if(!$result){ 
            $output[] = "<font color='red'>" $p "port service is not</font>\n"
          }else{ 
            $output[] = "<font color='blue'>" $p "port is the service</font>\n"
          } 
        } 
      } 
      @socket_close($socket); 
    } 
    echo '<pre>'
    print_r($output); 
  } 

?>

신고
Comment : 0 Trackback : 0
Top
prev 1 ... 9 10 11 12 13 14 15 16 17 ... 39 next