본문 바로가기

Network15

HTTP 서버 1. 헤더 파일과 필요 요소들 sockaddr_in 구조체와 socket이 각각 2개씩 필요하다. 윈속 초기화 2. socket() sockSvr 소켓을 AF_INET(IPv4), 소켓과 소켓이 일대일로 계속 연결되게 유지해주는 연결지향으로 설정해준다. 생성된 소켓은 아직 주소와 포트가 연결되지 않았다. 여기서 AF_INET과 PF_INET의 차이점은 프로토콜 체계 (Protocol Familly)를 설정하느냐, 주소 체계 (Address Familly)를 설정하느냐에 따라 달라진다고 한다. SOCKET() 함수의 프로토콜 패밀리에 AF_INET을 넣어도 되지만 PF_INET이 바람직하고, STRUCTADDR_IN 구조체에 주소 체계를 넣을 때 PF_INET을 넣어도 되지만 AF_INET을 넣는게 바람직.. 2020. 3. 9.
Socket Programming Socket 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점 대부분의 네트워크 소켓은 인터넷 소켓 인터넷 프로토콜 (TCP, UDP, raw IP), 로컬 IP 주소, 로컬 포트, 원격 IP 주소, 원격 포트로 구성 UDP 프로토콜을 사용하는 경우와 TCP 프로토콜을 사용하는 경우로 분류 클라이언트와 서버가 통신하기 위해 필요함 HTTP도 TCP/UDP 위 계층에서 돌아가기 때문에 소켓 프로그래밍을 해야 하므로 Socket과 HTTP는 이분법적인 개념이 아니다. 동작 과정은 다음과 같다. 통신을 초기화하는 측을 클라이언트, 세션을 시작하기 위해 접속을 기다리는 측을 서버라고 한다. 서버와 클라이언트 모두 socket단계에서 소켓을 생성한다. 서버는 bind 단계에서 소켓을 서버의 로컬 IP 주소, .. 2020. 3. 2.
DDOS KISA HTTP Traffic Flooding 공격 HTTP : 인터넷에서 브라우저와 웹서버 간에 문서를 전송하기 위해 사용되는 통신규약 - header : 보낼 메시지의 형식 - body : 실제 보낼 메시지의 내용 HTTP 메시지는 TCP의 Payload에 저장되어 최소 1개 이상의 패킷으로 분할되어 전송된다. HTTP 메시지는 클라이언트가 요구하는 목적에 맞는 지시자를 이용하여 구성할 수 있다. * 지시자의 종류 - GET : URL에 해당하는 자료를 제공해 줄 것을 요청. 웹서버에 저장된 정보를 단순히 요청하기 위해 사용 - POST : 클라이언트에서 웹서버로 데이터를 전송할 때 사용. 클라이언트가 서버로 전송할 데이터의 크기를 설정할 수 있음 - HEAD : GET과 같은 요청이지만 자료에 대한 정보만.. 2020. 2. 24.