치명적 파이썬(Violent Python) - 0x01 기초정리 두 번째 포스팅입니다.
만약 첫 번째 포스팅을 보시고 싶으시면 아래 링크를 클릭 하시면 됩니다.
치명적 파이썬 (Violent Python) – 0x01 기초정리 (1)
네트워크모듈(소켓프로그래밍)
소켓 모듈에서 제공하는 라이브러리를 통해 파이썬으로 네트워크에 연결할 수 있다.
아마 이 책을 앞으로 읽어 나가면서 가장 많이 사용 할 모듈 중 하나 일 거 같다.
참고 자료 : https://docs.python.org/2/library/socket.html
아래 예제는 간단히 서버와 연결 후 배너를 읽어 오는 프로그램 이다.
import socket socket.sedefaulttimeout(2) s = socket.socket() try: s.connect(("192.168.86.128",21)) ans = s.recv(1024) print ans except Exception e: print e ********Result******** 220 (vsFTPd 2.2.2)
함수
파이썬에서 함수를 선언 하기 위해서는 def()라는 키워드로 함수를 시작한다.
또한 다른 프로그래밍 언어와 마찬가지로 코드 블록화를 통해 효율적인 프로그래밍이 가능 해지고
함수 선언 방법은 다른 언어와 큰 차이가 없다.
import socket def retBanner(ip, port): socket.sedefaulttimeout(2) s = socket.socket() try: s.connect((ip,port)) ans = s.recv(1024) print return except Exception e: return def main(): ip = '192.168.86.128' port = 21 banner = retBanner(ip, port) if banner: print '[+]' + ip + ': ' + banner if __name__ == '__main__': main() ********Result******** [+] 192.168.86.128 : 220 (vsFTPd 2.2.2)
파일 입출력(I/O)
open 함수를 통해 파일을 읽어 올 수 있으며, readline(), strip()등의 메소드를 통해
읽어들인 텍스트를 재가공하거나, 조건에 부합될 경우 결과를 출력 할 수 있다.
def checkVulns(banner): f = open("vuln_banner.txt",'r') for line in f.readlines(): if line.strip('\n') in banner: print "[+] Server is vulnerable: "+banner.strip('\n')
OS 모듈, Sys 모듈은 다음에 따로 정리해서 포스팅 하겠습니다.^^
'기타' 카테고리의 다른 글
프리패치 슈퍼패치 (0) | 2015.04.06 |
---|---|
치명적 파이썬 (Violent Python) – 0x01 기초정리(1) (0) | 2014.10.26 |
Linux OD(Octal Dump)Command (0) | 2014.09.30 |
PE 분석을 할 때 도움되는 유틸리티 (1) - DumpBin (0) | 2014.08.15 |
댓글