Wireshark 인터페이스 구성
Wireshark 인터페이스는 아래와 같이 6개의 구역으로 나누어져 있습니다.
- Main Toolbar
- Filter Toolbar
- Packet List
- Packet Details
- Packet Bytes
- Status Bar
Main Toolbar
Wireshark에서 주로 많이 사용되는 기능들을 제공하는 툴바입니다. 제일 좌측은 실시간 패킷 캡처를 위한 기능들로 구성이 되어 있으며, 그 뒤로는 패킷 데이터 불러오기/저장과 패킷 검색 기능 이외에도 패킷 정보 창(Packet List/Details/Bytes)에 표시되는 글자 폰트를 조정할 수 있는 버튼들이 존재합니다.
'패킷 검색' 기능의 경우 특정 헥사 값(16진수 바이트 값)을 포함하는 패킷을 찾아내는 데에 유용합니다.
Filter Toolbar
특정 조건을 만족하는 패킷들만 추려 화면에 보여줄 수 있도록 필터 기능이 구현되어 있습니다. 흔히 특정 IP 주소 또는 port 번호를 사용 중인 네트워크 플로우를 찾아낸다던가, 프로토콜별로 패킷을 분리하는 작업을 할 때 유용한 탭입니다.
필터링 명령어는 보통 '프로토콜.필드정보 + 비교연산자 + 필드 값'의 형식을 따릅니다. 예를 들어, "ip.src eq 10.6.21.101" 라는 필터링 명령어는 source node의 IP 주소가 10.6.21.101인 패킷들만 골라서 시각화해달라는 요청을 의미합니다. 여기서 'eq'는 동치를 뜻하고요.
프로토콜 별로 셀 수 없이 많은 각종 정보를 제공하기에 다방면적으로 패킷 분석이 가능하다고 할 수 있는데요, 이 필터링 기능을 어떻게 활용할 수 있는지는 이후에도 쭉 다뤄볼까 합니다.
Packet List
패킷들을 수집된 순서에 맞춰 표시해둔 영역입니다. 각 행은 하나의 패킷에 대한 정보, 그리고 각 열은 패킷마다 추출하는 정보를 나타냅니다. Wireshark를 최초로 실행하게 되면 기본적으로 7개의 열, (No., Time, Source, Destination, Protocol, Length, Info)이 화면에 나타나는데요. 이 외의 정보들은 헤더 행 영역을 우클릭하여 새롭게 추가할 수 있습니다 (와이어샤크 사용법 #4 참고).
반대로, 헤더 행을 마우스 왼쪽으로 클릭할 경우 해당 열에 있는 정보를 기준으로 패킷 재배치가 가능합니다.
각각의 행은 연두색, 회색, 하늘색 등 다양한 색상으로 칠해져 있는 것을 볼 수 있을 텐데요. 이는 보통 프로토콜을 구분 짓기 위함이기도 하나, 일부 TCP 패킷들은 회색 (SYN) 또는 검은색 바탕(TCP analysis, 추후 언급 예정)을 가지기도 합니다.
Packet Details
프로토콜 스택을 표현해줄 뿐만 아니라, 각 프로토콜 레이어의 필드 정보를 상세하게 나타내 주는 창입니다. 특정 필드 정보를 클릭하면 아래 그림과 같이 해당 정보가 패킷 내에서 위치하는 지점을 확인할 수 있습니다.
필드 정보를 우클릭하여 동일한 필드 값을 가지는 패킷들을 필터링할 수 있으니 꿀팁으로 알아두시면 좋습니다.
Packet Bytes
패킷의 정보를 Hex 값인 상태 그대로 확인할 수 있는 영역입니다. 좌측에는 한 줄당 16개의 Hex 값들을 표시하고 있으며, 우측에는 이 값들을 아스키코드로 변환하여 보여주고 있습니다. 마우스를 바이트 값 위에 올려두면 같은 필드 정보를 공유하는 파란색 블록이 형성되며, 어떤 필드 영역이 선택되었는지는 아래 status bar에서 확인할 수 있습니다.
Status Bar
마지막으로 Status Bar는 Pcap 파일 (패킷 데이터 파일 형식) 정보나 수집된 패킷 개수, 그리고 저희가 눈으로 직접 확인하기 어려운 Expert Info 등을 포함하고 있습니다.