글

파이썬(Python) 소캣 프로그래밍.

 이번에는 파이썬 소캣 프로그래밍에 대해서 알아보겠다. 그전에 소캣이 무엇인지를 먼저 알아보자. 1. 소켓이란? - 소켓(Socket)은   1982년 BSD(Berkeley Software Distribution)  UNIX 4.1에서 처음 소개되었으며   현재 널리 사용되는 것은  1986년의 BSD UNIX 4.3에서 개정된 것입니다 .   - 소켓은  소프트웨어로 작성된 추상적인 개념의 통신 접속점이라고 할 수 있는데 네트웍 응용 프로그램은 소켓을 통하여 통신망으로 데이터를 송수신하게 된다. 2. 소켓의 종류 - 소켓에는 여러가지 종류가 있다.  - 소켓을 생성할때 socket.socket(family,type) 을 쓰는데 이것은 전송방식을 결정하는 것 이다.  여기서 family에는 소켓 종류를 말하는데 종류는 AF_INET (IPv4 통신) 그리고 AF_PACKET(RAW 소켓)이 있다. 그리고 소켓 타입은 socket.SOCK_STREAM (TCP방식), socket.SOCK_DGRAM (UDP)방식이 있다.  - socket.SOCK_STREAM (TCP방식) 스트림 소켓은 양방향으로 바이트 스트림을 전송 할 수 있는 연결 지향형 소켓으로 양쪽 어플리케이션이 모두 데이터를 주고 받을 수 있다는것을 의미한다. 스트림소켓은 오류수정, 전송처리, 흐름제어등을 보장해 주며 송신된 순서에 따른 중복되지 않은 데이터를 수신하게 된다. 간단하게 이야기하면 TCP 소켓은 데이터을 송신하고 수신측이 데이터를 수신했나 확인을 하고 받았으면 다음 데이터를 보내주고, 받지 못했으면 재전송을 한다. -socket.SOCK_STREAM (UDP 방식) 데이터그램 소켓은 비 연결형 소켓으로 클라이언트에서 서버로 데이터를 전송할때 UDP를 사용한다. 전송이 빠르지만 확실한 전달은 보장하지 못하고 통신중에 데이터가 손상되거나 분실해도 재전송을 ...

CentOS6 & Python 3 설치 그리고 보안 설정.

이미지
Cent OS6 설치 & 네트워크 설정. 1. VM ware 에서 CentOS6 설치 후 VMware 설정에서 네트워크를 Bridged 로 설정해 준다. Figure 1.1 Virtual Machine Setting. - Bridged Network   :브릿지 네트워킹이란 호스트와 게스트의 네트워크를 연결하여 (브릿징 하여) 게스트 컴퓨터가 호스트 컴퓨터와 동등한 레벨의 네트워크를 사용 할 수 있게 하는 것을 말한다. 즉 그림처럼 (Figure 1.2) VMware 외부의 호스트 PC와 VMware 내부의 게스트 PC의 네트워크 어뎁터가 물리적으로 연결되어 있는 것 처럼 구성하는 것을 말한다. 그리하여 2개의 네트워크를 하나의 네트워크처럼 사용 할 수있게 된다. Figure 1.2 Bridged network 모식도. 2. CentOs 네트워크 설정. - CentOS를 최소 설치로 설정을 했다면 그림처럼(Figure 2.1) 인터넷과 연결이 되어있지 않을것이다. 그래서 Vi 에디터를 이용하여 네트워크 설정을 해줘야 한다. Figure 2.1 Network 가 동작하지 않을때. - Vi 에디터를 이용하여 그림처럼 (Figure 2.2) 네트워크 설정을 확인하고 변경해준다. (ONBOOT NO -> yes, NM_CONTROLLED YES->NO, BOOTPROTO = dhcp.) Figure 2.2 eth-0 - 네트워크 설정 후 service network restart를 하여 network 를 활성화 시켜준후 구글(8.8.8.8)으로 핑이 가능한지 해본다. Figure 2.3 ping 8.8.8.8 3. Python 설치. 3.1. 명령어를 이용해 "development-tools"를 설치해준다.    -# yum groupinstall "development-tools" 3.2. 명렁어를 이용하여 wget을 설치한다. ...