Ethereal 컴퓨터 통신망
Ethereal이란? 호스트와호스트, 호스트와 네트워크, 네트워크와 네트워크사이에 위치해 패킷을 수집 분석한다. TCPDUMP 스니퍼(Sniffer)
Ethereal 설치 WinPcap 설치 (http://winpcap.polito.it)
Ethereal : 구성 [이더리얼 실행화면]
Ethereal : 구성 Capture -> Start 랜카드 종류 필터링 파일로 저장 화면 보여주는 옵션 이름 해석
Ethereal : 구성 캡처된 패킷 리스트 선택된 패킷의 계층구조 선택된 패킷의 실제내용
Ethereal : 실습(1) 실습 1. ICMP헤더 분석 CCL.KOREA.AC.KR로 Ping명령 수행시 ICMP : Ping 명령에 관한 프로토콜
Ethereal : 실습(1) Type:8 Code:0 Checksum:0x4a5c(correct) ICMP 메시지의 종류를 나타낸다.8은 RFC792에 기술되어 있듯이 Echo로서 ping 요청을 나타낸다. 이에 대한 응답 Type은 0으로서, Echo reply로 ping 응답이다. Code:0 메시지 타입별로 추가적인 코드를 제공하는데 사용된다. Checksum:0x4a5c(correct) ICMP 헤더의 손상여부를 체크 이상이 없기 때문에 correct Identifier:0x0200 Echo에 match되는 식별자 SequenceNumber:0x0100 Echo에 match되는 순서번호(reply에서와 같다.) Data:32byte 알파벳순서대로 ping 신호 보내면서 포함될 임의의 데이터의 크기 구분 ⇒패킷을 분석하면 먼저 requst를 보내면 reply를 보내는 순으로 교환하면서 오류 체크를 하는 것을 볼 수 있다.
Ethereal :실습(2) 실습 2. Http에서 연결시 핸드쉐이킹 확인하기 <핸드쉐이킹 순서> 근원지에서연결을위한요청신호를보낸다. 목적지에서연결요청신호확인메시지및연결요청신호를보낸다. 근원지에서목적지로부터의요청에대한확인신호를보내준다.
Ethereal :실습(2) 1. 근원지에서목적지로TCP연결설정을 하기위해신호를보냄
Ethereal :실습(2) Sourceport:1580 Destinationport:80 Sequencenumber:0 근원지 port로 믿을 수 있는 portgate 넘버 Destinationport:80 목적지 port로 WWW http 넘버 사용 Sequencenumber:0 근원지에서 송신할 데이터가 제일 처음 것임을 알려줌 Headerlength:28 데이터의 부분이 어디부터 시작되는지 헤더길이를 나타내어 줌Flags:0x0002SYN 플래그 비트만 1이 된 상태로, 수신측으로의 접속 연결을위한 SYN 신호 보냄 windowsize:65535 Window size 통지 Checksum:0x08d1 TCP 헤더 오류 검사
Ethereal :실습(2) 2. 목적지에서근원지로확인(ACK)신호및연결설정(SYN)신호전송
Ethereal :실습(2) Sourceport:80 Destinationport:1580 Sequencenumber:0 목적지에서 http포트에대한 번호를 보낸다. Destinationport:1580 처음 근원지의 포트로다시 보내주게 됨 Sequencenumber:0 목적지에서 근원지로다시 보내는 데이터가제일 처음 것이기에 0 Acknowledgment~:1 Flags에 ACK 비트가설정 되어 있을 때,다음에 받을 순서 번호 Headerlength:24 데이터의 부분이 어디부터 시작되는지 헤더길이를 나타내어 줌 Flags:0x0012 이전의 근원지로부터받은 신호에 대한 ACK신호를 보내주고, 다시연결설정 신호 전송 windowsize:512 Window size 통지 Checksum:0xd8d0 TCP 헤더 오류 검사
Ethereal :실습(2) 3. 근원지에서목적지로확인(ACK)신호를다시보내주게됨
Ethereal :실습(2) Sourceport:1580 Destinationport:80 Sequencenumber:1 근원지에서 목적지로다시 포트 번호 알려줌 Destinationport:80 목적지 포트가 http라는 것을 표시 Sequencenumber:1 근원지에서 보내는데이터가 두 번째니깐순서 번호가 1이 됨. Acknowledgment~:1 목적지의 순서번호 0에대한 ACK 신호로,다음에 받을 순서 번호 Headerlength:20 이전은 32byte 였으나,여기서는 옵션필드를안 썼으므로 기본 20. Flags:0x0010 이전 목적지로부터받은 신호에 대하여,연결설정 한다는 ACK신호를 재전송해 줌 windowsize:65535 RWIN값을 지닌다.(x4) Checksum:0xdad1 TCP 헤더 오류 검사
Ethereal : 과제 패킷 분석 CCL.KOREA.AC.KR 자료실에서 TcpClient.exe파일을 다운받음 163.152.155.216으로 접속 (학번, 이름)을 메시지로 보냄 접속종료 이 과정동안 Client단에서 주고받은 패킷을 분석함
Ethereal : 과제 얼마나 많은 패킷이 필터에 잡혔는가? Client에서 보내진 패킷의 수는? Server에서 받은 패킷 수는? TCP 연결을 세팅하는에 얼마나 많은 패킷이 쓰였는가? 데이터 보내는데는 얼마나 많은 패킷이 쓰였는가? TCP연결을 끊을땐 얼마나 많은 패킷이 쓰였는가? Client의 Ethernet주소는 무엇인가? Server의 Ethernet주소는 무엇인가?
Ethereal : 과제 Client에서 Server로 보낸 데이터 패킷중에 하나를 골라라 키보드로 입력시킨 message는 무엇인가? 프레임에 있는 에플리케이션 데이터의 바이트 수는 몇인가? TCP헤더의 바이트 수는 몇인가? IP헤더의 바이트 수는 몇인가? Ethernet헤더의 바이트 수는 몇인가? Frame의 총 바이트 수는 몇인가? 관련 그림 캡쳐하여 제출하시오.