PHP > Tip&Tech > [php] 간단한 포트 스캐너 만들기
 
PHP
Library
Tip&Tech
Q&A
 
PHP Function
phpschool
그누보드
Tip&Tech
  HOME > PHP > Tip&Tech
 
작성일 : 17-07-26 17:27
[php] 간단한 포트 스캐너 만들기
 글쓴이 : 덩벙이 (211.♡.155.10)
조회 : 167   추천 : 0   비추천 : 0  

포트 스캐너는 말그대로 상대방의 포트를 스캔하는 것을 말합니다. 해커들이 만들어 사용한다는 포트 스캐너입니다. 화면의 그림에서 "server name"에는 도메인 이름 또는 ipv4 나 ipv6 주소를 입력하고, 알고자 하는 서비스명 또는 "other port"에 적당한 포트를 입력하고 전송을 하면 그 결과 값이 출력됩니다. 결과적으로 파란색만 사용가능함을 표시합니다.


서버가 윈도우라면 기본적으로 php_sockets.dll 모듈이 비활성화 상태이므로 php.ini 를 수정해서 활성화해줘야 socket 함수를 사용할 수 있습니다.


예제 #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); 
    } 
 } 
 ?>


 
 

Total 2,770
번호 제   목 글쓴이 날짜 추천 비추천 조회
2770 PHP로 구현한 SEED128 + CBC + PKCS5 암호화 덩벙이 08-08 0 0 22
2769 세션 타임아웃 구현 덩벙이 06-22 0 0 23
2768 CURL 사용법 덩벙이 03-16 0 0 104
2767 이미지 파일에 문자 병합 (응용 도장이미지 만들기) 덩벙이 08-11 0 0 172
2766    이미지 파일에 문자 병합 (응용 도장이미지 만들기)2 덩벙이 08-11 0 0 173
2765 php GD 이미지 합치기와 텍스트 합치기 덩벙이 08-11 0 0 160
2764 xml 데이터 submit 하기 덩벙이 08-11 0 0 158
2763 php 세션 만료 (2) 덩벙이 08-09 0 0 172
2762 php 세션 (1) 덩벙이 08-09 0 0 194
2761 PHP 문자가 한글인지 확인 is hangul char() 덩벙이 07-28 0 0 169
2760    UTF-8 한글 덩벙이 07-28 0 0 164
2759    has_hangul() 한글을 포함하고 있는지 판별하는 함수 덩벙이 07-28 0 0 169
2758    PHP함수 chr, ord의 UTF-8 확장 커스텀 함수 utf8_chr() utf8_or… 덩벙이 07-28 0 0 165
2757 PHP 파일 다운로드 구현 (1) 덩벙이 07-28 0 0 182
2756    PHP 파일 다운로드 구현 2 (한글 파일명 지원) (2) 덩벙이 07-28 0 0 154
2755    •파일을 출력하는 PHP 함수 PHP readfile() 덩벙이 07-28 0 0 153
2754 Seed_crypto.php 덩벙이 07-26 0 0 153
2753 [php] 맥주소(mac address) 추출 및 검증 소스 덩벙이 07-26 0 0 195
2752 [php] 간단한 포트 스캐너 만들기 덩벙이 07-26 0 0 168
2751 [php] 소켓을 이용한 POST Request 덩벙이 07-26 0 0 235
 1  2  3  4  5  6  7  8  9  10    
 
개인홈페이지 덤벙닷컴은 프로그래머와 디자이너위한 IT커뮤니티 공간입니다.
Copyright ⓒ www.dumbung.com. All rights reserved.