본문 바로가기

Python

파이썬 포트 스캐너

간단히 만들어본 TCP 방식의 포트스캐너

[+] 단일 포트, 포트 범위 지정 가능


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from socket import *
from sys import argv
 
if(len(argv) < 3): 
        print "Usage : %s [TARGET] [PORT]" % argv[0]
        print "Usage : %s [TARGET] [START_PORT] [END_PORT]" % argv[0]
        exit()
 
 
 
def check_port(target,start,end):
 
        for i in range(start,end+1):
                s=socket(AF_INET,SOCK_STREAM)
                s.settimeout(0.1
 
                try:
                        s.connect((target,i))
                except:
                        print "%d port is close" % i 
                        s.close()
                        continue
    
                print "[+] %d port is open " % i 
    
 
                s.close()
        print "done."
        exit()
 
 
 
 
if(len(argv) == 3): # argc is 2
        check_port(argv[1],int(argv[2]),int(argv[2]))
 
else# argv is 3
        check_port(argv[1],int(argv[2]),int(argv[3]))
cs



settimeout 은 타임아웃 시간을 지정할 수 있다.

--> 연결이 안될 경우 닫힌 포트로 보고 다음 포트로 넘어간다.

'Python' 카테고리의 다른 글

scapy 이용 arp 패킷 보내기.  (0) 2015.05.01
네이버 실시간 검색어 파싱  (0) 2015.04.28
파이썬 게임 서버개발 - 1  (0) 2015.04.27
쓰레드를 이용한 소켓  (0) 2015.04.27
scapy - 패킷 제작  (0) 2015.04.27