소켓 프로그래밍 (Socket Programming)
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

소켓 프로그래밍 (Socket Programming)에 대한 보고서 자료입니다.

목차

<소켓 프로그래밍>

hw1 socket programming

1. Socket Programming

2. Wireshark--Wireshark는 네트워크 패킷을 분석하는 도구이다. 네트워크 패킷 분석기란 네트워크 패킷을 캡쳐 하고, 이 패킷 데이터를 가능한 자세하게 보여주는 것이다. 또한 wireshark는 공개된 오픈 소스이므로 누구나 공짜로 사용할 수 있다.

DNS 사용 목적

본문내용

nger을 나타내는 echo클라이언트 서버를 실행했을때의 패킷을 wireshark를 통해 나타내었다.
b) 교재의 HTTP, DNS 를 수행하고 이과정의 패킷전송을 wireshark 으로 분석하라.
HTTP(Hypertext Transfer protocol)란?
- 웹 상에서 클라이언트와 서버가 서로 대화하기 위한 통신 규약이다.
Ex) A라는 사람이 오른손을 들었을 때 \'안녕하세요\'라고 약속하면 A, B가
오른손을 들었을 때는 ‘안녕하세요’라는 규약 즉 프로토콜이 생기는 것이다.
- 웹 서버는 클라이언트의 요청이 들어오면 자원과 헤더정보를 분석하여 요청한 자원의 데이터와 헤더를 포함하여 클라이언트에게 응답한다.
DNS(Domain Name System)란?
- 도메인 이름에 대한 IP주소를 알려주거나 IP주소에 대한 도메인 이름을 알려주는 일을 한다.
다음 분석에 앞서 기본 설정을 한다.
층-ipconfig를 통해 현재의 내 주소 아이피와 게이트웨이등을 확인.
1) Request line (method / URL / version)
: Response status Code 및 Protocol 정보
: GET /nexearch_e.js? sMetab_lve&age=2060&dummy=80609 HTTP/1.1
# Method : 페이지 요청 방법
- GET : 페이지를 단순히 가져오기 위한 기능
(URL 메타 문자를 이용하면 정보를 전송하는 용도로도 사용할 수 있음)
- POST : 웹 페이지에 정보를 전송하기 위한 기능
- HEAD : 웹 페이지의 응답 헤더만을 요청하는 기능
- PUT : 페이지를 웹 서버에 생성하는 기능
(보안상의 이유로 대부분의 서버에서 막혀있음)
- DELETE : 요청한 페이지를 웹 서버에서 제거하는 기능
(보안상의 이유로 대부분의 서버에서 막혀있음)
- OPTIONS : 서버에서 사용 가능한 메소드의 종류를 확인하는 기능
(보안상의 이유로 대부분의 서버에서 막혀있음)
# URL : 파일의 위치
- /static/www/up/2012/naver_homepage.png (그림파일 인 것 같음)
# Version : HTTP 버전
- HTTP 1.1 : (Multiple objects/ 지속적으로 연결을 열어둠)
2) Request Header lines
: Web Browser infomation, language, encoding type, request server 등 추가정보
: Accept : image/png, image/svg+xml, image/*;q=0.8, \"/\";q=0.5\\r\\n
… (노란색 네모부분)
- Accept : 처리할 수 있는 데이터 타입
- Referer : 어떤 사이트를 경유했는지를 알려주는 도메인 혹은 URL 정보
- Accept-Languge : 사용 언어
- User-Agent : 사용자 웹 브라우저 종류 및 버전 정보
- Accept-Encoding :
- Host : 사용자가 요청한 도메인 정보(URL)
- DNT :
- Connection : 지속 연결의 사용 여부
- Cookie : HTTP 프로토콜 자체가 세션을 유지하지 않은 State-Less(접속상태를 유지하지 않는) 방식이기 때문에 로그인 인증을 위한 사용자 정보를 기억하려고 만든 인위적인 값
3) Blank lines (\\r\\n)
: heade line과 body line를 구분하기 위한 공백 라인
4) Request Body lines
: Request에 필요한 내용을 갖음. 일반적으로 HTML Form Tag 안에 입력된 값들인 parameter 정보를 의미함
다음은 http가 나타나는 상태코드
- 1xx : Informational
- 2xx : Successful
- 3xx : Redirection
- 4xx : Client Error
- 5xx : Server Error
DNS패킷 분석.
DNS 사용 목적
문자로 된 호스트 이름(www.google.com) 을 숫자로 된 IP 주소로 결정
DNS 서버간의 정보를 전송
IP 주소와 관련된 호스트 이름을 식별
(만약 DNS 가 고장 난다면 호스트들은 서로의 위치를 알아 낼 수 없음)
1) Transaction ID
: DNS 쿼리와 응답에 연관된다. 사용자는 이 필드에서 DNS에 관련된 모든 것을 보기 위한 값을 필터링 (dns.idm == 0xf685)
2) Flags
: 쿼리 특성을 정의하는 수많은 필드로 구성됨
- Response(Query) : 쿼리/응답 비트는 요청(0) 인지 응답(1)인지 표시
0 … …. .… …. : 요청
- OPcode : 쿼리의 유형을 지정 (일반적으로 요청에 대해 0000을 포함)
.000 0... …. …. : 일반적 요청
- Truncation : 응답이 길어서 잘렸는지 알려줌
(패킷이 잘리는 것은 자주 볼 수 없음)
…. ..0. …. …. : 패킷이 잘리지 않음
- Recursion Desired : 재귀쿼리의 사용을 알려줌
(대부분의 DNS는 재귀 쿼리를 사용함)
…. ...1 …. …. : 패킷이 잘림
(- Recursion Available : 응답에서 정의된 재귀가 사용가능 한지를 표시)
- Resesrved : 이 필드는 0으로 설정됨
…. .... .0.. …. : 항상 0
- Response Code : 응답에서 오류가 존재하는지 표시
3) Questions : 1
: 질문의 숫자 표시 (일반적으로 한 피켓당 한 개의 질문)
4) Answer RRs : 0
: Answer RRs 수 표시
5) Authority RRs : 0
: Authority RRs 응답 수 표시
6) Additional RRs : 0
: Additional RRs 응답 수 표시
7) Queries
- Name : 결정 중인 이름 포함
(형식은 이름에서 영문자 바이트의 숫자를 표시하기 위해 숫자 구분문자를 이용하는 가변길이이다. - 3www9naver3com0)
publi.lemonde.fr
- Type : 쿼리의 유형 나타냄
A (host address)
- Class : TCP / IP 통신에 대한 인터넷 클래스 주소 표시
IN (0x0001)
  • 가격6,300
  • 페이지수23페이지
  • 등록일2015.08.27
  • 저작시기2014.7
  • 파일형식한글(hwp)
  • 자료번호#979845
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니