1.1 주석처리하기 파이썬 프로그램에서는 주석을 달 때 #을 사용한다. 즉, # 이후의 코드는 실행하지 않는다. 굳이 길게 설명하지 않도록 한다. #(샵)은 주석말고도 여러 가지가 있는데, 아래 [표 1-1] 처럼 실행 파일과 소스코드 인코딩을 명시하는 데 사용할 수 있다. #!/usr/bin/python # coding: latin-1 [표 1-1] [표 1-1]은 리눅스 환경에서 실행 파일 경로와 인코딩을 명시한 예이다. 소스 인코딩의 경우 두 번째 줄처럼 coding 지시자를 이용해 지정할 수 있고, 지정되어 있지 않은 경우에는 아스키가 기본 소스코드 인코딩으로 설정된다. 아래 [표 1-2] 와 같이 소스코드 인코딩은 -*-을 이용해서도 지정할 수 있다. # -*- coding: utf-8 -*- ..
1.1 Hello world 출력 파이썬에서 문자열 출력은 간단하다. 다음(그림 1-1)과 같이 print("hello world")만 입력하면 된다. [그림 1-2] 코드도 같은 결과를 출력한다. 해당 코드는 이 프로그램이 나중에 모듈로 사용될 경우에 실행할 것이냐 말것이냐를 고려한다고 한다. 즉, if __name__=="__main__": 블록 안에 들어 있는 코드는 이 코드가 메인으로 실행됐을 때만 실행된다고 한다. 다른 프로그램에서 이 모듈을 불러들였을 때는 실행되지 않는다는 의미라는데...일단 pass... 1.2 들여쓰기 들여쓰기는 파이썬의 특징 중 하나이다. 가독성을 높이기 위해 사용하지만 잘못 사용하면 오류가 너무 자주 일어나게 된다. 코드블럭1 코드블럭2 코드블럭1 코드블럭2 [표 1-..
파이썬을 이용하여 바이러스 토탈 탐지명을 조회 해보자 #- * -coding: utf - 8 - * - from urllib import request from urllib import parse from urllib.request import urlopen from urllib.request import urlopen import json import time # 모듈선언 VT_KEY = 'api key' #바이러스토탈 api키, 가입 후 제공받을 수 있음 1 분에 4 개 제한 HOST = 'www.virustotal.com' SCAN_URL = 'https://www.virustotal.com/vtapi/v2/file/scan' REPORT_URL = 'https://www.virustotal.com..
파이썬을 이용한 Ping 테스트(ver 3.x) # -*- coding: utf-8 -*- import subprocess import re ip = ["8.8.8.8"] p = re.compile('[=]\s(\d+)[m][s]') while True: cmd = 'ping '+ ip[0] # ping을 3번 수행 try: for x in subprocess.check_output(cmd).splitlines(): p1 = p.findall(str(x)) print(ip[0], 'Ping Ok','최소 응답시간: '+p1[0],'최대 응답시간: '+p1[1],'평균 응답시간: '+p1[2]) except subprocess.CalledProcessError: print(i, 'Ping Check')
파이썬을 이용한 패킷생성 코드로 진단이나 취약점 Test에 사용하자(ver 3.x) import urllib.parse import urllib.request import urllib.request, ssl from bs4 import BeautifulSoup import request # SSL 통신을 위한 설정 ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE hdr = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', 'Accept': 'text/html, application..
1. 토폴로지(Topology) 신호를 전달하는 매체를 통해 네트워크가 배열되어 있는 형태를 말하며, 대표적인 토폴로지로는 star, bus, ring 등이 있다. (1) Star Topology(성형) 전송되는 데이터를 중앙에서 제어를 해주는 방식 중앙의 시스템에 모든 호스트들이 연결되는 형식으로 중앙의 시스템과 개별 호스트는 point-to-point 방식으로 연결된다. Star Topology 특징 모든 호스트들이 중앙으로 집중된다는 장점 때문에 호스트의 관리가 쉬워진다. 네트워크에 새로운 호스트의 추가 및 확장이 쉬워진다. 스타 토폴로지를 사용하기 위해서는 중앙으로 회선을 모아 줄 수 있는 허브나 스위치 같은 장비가 꼭 필요하다. 모든 호스트들이 중앙 시스템과 개별적으로 설치가 되기 때문에 케이블..
1.1 파이썬이란? 파이썬은 1991년 귀도 반 로썸(Guido van Rossum)이 발표한 인터프리터 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 프로그램인 "Montry Python's Flying Circus"에서 따왔으며, 파이썬의 사전적인 의미를 나타내는 뱀을 아이콘으로 사용하고 있다. 1.2 파이썬의 특징 - 가독성 : 문법이 간결하고 가독성이 좋다 / 코드블럭을 들여쓰기로 구분한다. - 풍부한 라이브러리 : 많은 라이브러리가 기본으로 포함되어 있으며, 확장성도 좋음. - 접착성 : C로 구현되어 있는 모듈을 쉽게 만들어 붙일 수 있다. - 무료 : 파이썬 소프트웨어 재단에서 관리하고 있으며, 라이센스는 Python Software Foundation License를 따른다. - 유..
(2) 메시지교환 기법 전송되는 데이터를 일련의 메시지 단위로 교환을 해준다. 각 중간의 교환 노드들은 수신된 데이터를 자신의 버퍼에 먼저 저장을 해놓았다가 회선의 상태를 파악해 적당한 때에 전송을 해준다. 전자메일이 대표적 메시지 교환의 특징 데이터의 전송 전에 Call Setup 과정을 거치지 않고 곧 바로 데이터를 전송할 수 있다. 교환되는 메시지는 파일단위의 형태로 이루어진다. 중간 교환 노드들은 메시지를 전부 다 받은 후 그 다음 노드로 전송을 한다. 메시지를 전부 받은 후 전달을 하기 때문에 Store and Forward(축적 전송)이라고 한다. 메시지 교환의 장점 송신측과 수신측이 동시에 통신 가능상태에 있지 않아도 된다. 메시지를 교환노드에서 축적한 후 전송을 하기 때문에 혼잡상황을 피할..
1. 통신망의 개요 통신망이란 생산된 정보가 여러 노드를 거쳐 목적지까지 갈 수 있도록 구축된 네트워크를 말한다. 통신망의 종류 (1) 기능에 의한 분류 PSTN(Public Switched Telephone Network) 오로지 음성 통신망을 위한 망을 말하며, 통신 사업자에 의해 구축되며 현존하는 전화 네트워크를 말함 PSDN(Public Switched Data Network) 목적은 전화통신을 위해 만들었지만 그 일부를 따로 떼서 데이터 통신 용도로만 사용하는 네트워크를 말함 ISDN(Integrated Service Digital Network) 일반 전화선을 사용하지만, 음성과 데이터를 동신에 전송할 수 있는 종합정보통신망이라 말함 (2) 거리에 의한 분류 LAN(Local Area Netw..
1. Token Passing 토큰이라는 특수한 패킷을 획득한 노드만이 데이터를 전송할 수 있는 방법 (1) Token Ring(토큰 링) 토폴로지가 원형으로 구축된 네트워크에서 사용하는 토큰 전달 액세스 방식으로 원형으로 설계된 케이블을 따라 한 컴퓨터에서 다른 컴퓨터로 토큰을 전달하는 방법 주로 사용되는 전송 매체로는 Thinnet cable, Thicknet cable을 주로 사용하고, 접속하기 위한 장치로는 BNC T커넥터를 사용한다. Token이라는 특수한 패킷이 원형을 따라서 한쪽 방향으로만 순차적으로 전송이 됨으로써 한 컴퓨터가 데이터를 전송하기 위해서는 빈 토큰이 자신에게 전달될 때까지 기다려야 한다. 만약 전송할 데이터가 있을 때 자신에게 빈 토큰이 전달된다면 즉시 토큰에 데이터를 실어 ..