간단히 만들어본 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 |