본문 바로가기
Computer Science/Computer Network

📡 Wireshark Lab #1

by HaningYa 2020. 9. 22.
728x90

네트워크 프로토콜에 대해 이해하는 가장 좋은 방법 방법은

실제로 동작하는 프로토콜을 가지고 놀아보는 것이다. 두 프로토콜 엔티티 사이에 교환되는 메시지를 관찬하고 세부적으로 프로토콜 operation과 특정 프로토콜이 어느 동작을 하게 만들고, 결과를 관찰해 보며 프로토콜에 대해 이해할 수 있다. 이 과정은 가상화된 시나리오를 통하거나 또는 실제 네트워크 환경 예를 들어 인터넷에서 해볼 수 있다.

이번 wireshark lab 에서는 다양한 네트워크 어플리케이션에서 다양한 시나리오를 통해 네트워크를 관찰한다. 

Packet Sniffer

basic tool for observing the messages exchanged between executing protocol entities.

이름에서 알 수 있듯이 패킷 스니퍼는 수/발신된 메시지를 "sniff" 하고 프로토콜 필드의 다양한 내용을 보여줄 수 있. 패킷 스니퍼 자체는 수동적이다. 수/발신되는 패킷을 감청하기는 하지만 프로그램 자체가 패킷을 보내진 않는다. 또한 패킷 스니퍼는 직접 패킷을 명시적으로 받지않고 패킷의 복제본을 받는다.

패킷 스니퍼 구조(출처: Wireshark intro)

패킷 스니퍼의 구조는 크게 두가지로 나눠진다. Packet capture library와 packet analyzer 이다. 

Packet capture library는 본인의 컴퓨터가 보내거나 받은 모든 링크 레이어 프레임의 복사본을 수신한다. 메시지들은 더 높은 레이어 프로토콜, 예를들어 HTTP, FTP, TCP, UDP, DNS, IP와 같이 링크 레이어 프레임에 캡슐화 되어 Ethernet cable과 같은 실제 물리적인 매체를 통해 전송된다. 위 그림에서 Ethernet cable을 통해 전송된다고 가정하면 모든 상위 레이어 프로토콜은 결국 이더넷 프레임 내에 캡슐화 되는 것이다. 이런 링크 레이어 프레임을 모두 캡쳐함으로서 모든 수/발신된 메시지들을 볼 수 있는 것이다.

packet analyzer의 경우 프로토콜 메시지 안에 있는 모든 필드의 내용을 보여준다. 그러기 위해서 packet analyzer는 프로토콜에 의해 교환되는 메시지의 구조를 이해하고 있어야 한다. 예를들어 HTTP 프로토콜의 필드를 알기 위해서 packet analyzer는 이더넷 프레임을 이해하고 IP 데이터 그램을 identify할 수 있어야 한다. (그래야 TCP 세그먼트를 IP 데이터 그램에서 추출할 수 있다.) 마지막으로 HTTP 프로토콜에서 예를들어 HTTP 메시지의 첫번째 바이트는 GET, POST, HEAD와 같은 문자열을 가지고 있는걸 아는 것이다.

 

Wireshark 시작하기

프로그램을 다운로드 후 설치한다.

 

Wireshark · Download

Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ AppResponse 11 • Full stack analysis – from packets to pages • Ric

www.wireshark.org

와이어 샤크 첫 화면
화면설명

  • command menu: File 메뉴는 캡쳐된 패킷을 저장하거나 이전에 캡쳐된 패킷 데이터를 열수 있다. 캡쳐 메뉴를 패킷캡쳐를 시작할 수 있다.
  • packet-listing window: 각각의 캡쳐된 패킷에 대해 한줄의 요약을 제공한다. 패킷넘버(와이어샤크가임의로지정), 캡쳐된 시간, 패킷 소스와 도착지, 프로토콜 타입과 프로토콜이 설명된 정보 등이 표시된다. 
  • packet-header detail window: packet-listing 에서 선택된 패킷에 대한 상세 정보를 제공한다.
  • packet-contents window: 캡쳐된 프레임의 모든 내용을 보여준다.
  • packet display filter field: 필터링 적용 가능

와이어샤크 사용해보기

이더넷에서 트래픽 발생중

이더넷을 더블 클릭하여 패킷 캡처를 시작한다.

패킷 캡쳐되는 중

캡처를 하면서 gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html 해당 주소로 이동해본다.

이동한뒤 캡처를 잠시 멈춘다.

해당 주소는 String 하나 있는 페이지 이다.
해당 페이지 패킷 스니핑 결과


과제

3개의 다른 프로토콜을 unfiltered packet listing window 에서 찾아 써라

UDP
TCP
TLSv1.2


HTTP GET 메시지가 전송 된 후 HTTP OK 응답이 수신 될 때 까지 얼마나 걸렸는지 작성하라

GET 메시지 전송
OK 응답 수신

GET 메시지 전송 시간: Arrival Time: Sep 21, 2020 23:50:15.074346000 대한민국 표준시

OK 응답 수신 시간: Arrival Time: Sep 21, 2020 23:50:15.103082000 대한민국 표준시

거의 0.03초 걸렸다.


gaia.cs.umass.edu의 Internet address가 무엇인가. 너의 컴퓨터의 internet address는 무엇인가

IP 섹션의 Source와 Destination을 보면 된다.

Source: 192.168.0.10

Destination: 128.119.245.12


2번 문제를 참고하여 두개의 HTTP message (GET and OK)를 출력해라. 수행하기 위해 Wireshark file 에서 Print를 선택하고 Selected Packet only 와  Print as displayed를 선택해라

GET 출력의 일부
OK 출력의 일부

728x90

'Computer Science > Computer Network' 카테고리의 다른 글

네트워크 기초 정리 노트  (0) 2021.01.24
[Computer Network] Protocol Architecture  (2) 2020.09.03
Computer Networks Intro  (0) 2020.09.01

댓글