주요 정보
- 교육 과정명 : 클라우드기반 스마트융합보안 과정 16기
- 교육 회차 정보 : '23. 11. 15. 네트워크 보안 #03
강의자료[03. Wireshark Tools] - 전체 정리 완료, 추후 보완 예정.
Wireshark
- 와이어샤크를 이용해 패킷 분석을 할 때, 개별 패킷을 하나씩 확인하기보다, Statics를 사용해 그래프로 흐름을 확인하거나, 각 수치 확인(Conversation – naver resolution) 후 세세한 패킷을 확인하는게 더 효율적이다.
패킷 수집 방법(기초)
- 정지 버튼(붉은색 네모 아이콘)을 누른 후 CMD에서 ping 명령어 실행
- ping 명령어 종료 시, STOP 버튼(지느러미 모양 아이콘) 클릭
#_1 Wireshark 필터링
- Capture Filter, Display Filter 두 종류가 존재한다.
Capture Filter
- 수집 자체 제한 (1차 제한)
- 와이어샤크 첫 페이지에서 해당 북마크 + WiFi 선택 시, WiFi 패킷에서 북마크에서 지정한 종류의패킷만 가져와 보여준다.
- 와이어샤크 프로그램 실행 후 북마크 모양의 아이콘에서 Capture Filter 설정하거나, Capture Options에서 설정 가능하다.
Capture Options
- Capture – Option 을 지정해 자동으로 패킷을 캡쳐해 파일로 저장 가능하다.
- 파일 위치를 지정 가능하다. (패킷 수집 == Capture == Dump File )
- Output Format 지정 가능 (pcapng/pcap => packet capture ng / packet capture)
- ring buffer : 특정 시간 이후 덮어씌우기 위한 버퍼.
- Options에서 특정 조건 충족 시 Capture 자동 종료가능
Capture Options 지정 후 패킷 캡쳐하기
- Capture Options 으로 들어가 Start 누른다.
- Input, Catpure filter 확인한다.
- 캡쳐가 된 파일들을 확인할 수 있다. (파일마다 최대 용량 설정 시, 패킷 개수 이하여도 생성 될 수 있다.)
Capture Filter와 Display Filter 문법 차이
Capture Filter 문법으로 ARP 패킷 확인하기
- Capture – Options - Input – Capture filter for selected interfaces에서 지정
- IP 주소, MAC 주소 기반의 트래픽 수집 등 가능
- broadcast 북마크 지정, 이후 WiFi 인터페이스 선택 - Start
- 관리자 권한으로 CMD 생성 및 arp –d (기존 arp 삭제), 수초 내 자동으로 ARP 패킷을 보내고 받으면서 와이어샤크에서 브로드캐스트 패킷 확인 가능하다.
Display Filter 문법으로 ARP 패킷 확인하기
- 만약 디스플레이에서 사용하는 필드명을 모르겠으면, 해당 필드를 눌러보면 최하단에 필드명이 나온다.
- 송신자 IP가 172.16.16.128 인 패킷 검색
- ip.src == 172.16.16.128 이 패킷 12 개 중에서 5개가 검색되었다.
- 패킷을 선택해 Display Filter 로 사용가능하다.
- Prepare as a filter (디스플레이 필터로 사용, 수정 가능)
- Apply as a filter (디스플레이 필터로 사용, 수정가능하지만 바로 사용 시 사용 )
- 아래 그림처럼 특정 프로토콜이나, 프토토콜 내부의 인자들도 Display Filter 로 사용가능
Display Filter
- Capture Filter로 수집한 패킷 중, 다시 필터를 사용해 원하는 패킷만 보는 것(2차)
- UDP 패킷은 보고 싶지 않을 때?
Capture Filters에서 UDP 패킷 제외 해서 캡쳐 가능하다
1. [ + ] 버튼으로 Filter Name 임의 지정
2. [Filter Expression ] 에 설정한 패킷 종류만 필터링(설정한 패킷만 확인하겠다)
3. 저장
- Display Capture에서 북마크와 인터페이스를 선택해 필터링 방법, Dispaly Filter 기능으로 필터링 방법 두 가지가 존재한다.
- Display Filter 사용해 검색하는 방법
1. 직접 디스플레이 필터에 입력
2. 패킷 선택 후 원하는 항목을 선택해 Prepare as a filter 옵션 선택해 조합 가능
#_2 Conversation Filter
- Conversation 두 호스트 사이의 트래픽을 의미한다.
- 빠르게 데이터를 분석하기 위해 사용한다.
- 데이터 분석 방법으로는 Conversation, Stream Follow 두 가지가 있다.
Conversation Filter 위치와 사용 기초
- 해당 필터는 Statics – Conversations 에 존재한다.
- Conversation Settings에서 Name resolution 옵션을 사용하려면 preference 설정 필요
- Name resolution 옵션은 랜카드 회사, IP 주소의 도메인 주소 등을 확인가능 옵션이다
- Edit – Preferences - Name Resolution에서 MAC, transport, IP 에 대한 Resolve 옵션을 설정한다.
- 53번 포트를 사용하는 패킷 -> DNS 프로토콜이 사용하는 포트이므로, 해당 패킷은 DNS 프로토콜을 사용함을 알 수 있다.
- Conversations 에서는 Conversation Filter를 사용해 이미 필터링 하였다. 따라서 해당 패킷을 필터로 사용하기 위한 [ Apply as Filter ]으로 사용 가능하다
#_3 그외 기능들
Conversation vs end point
- Conversation : A 와 B, ... 간의 입출력 패킷
- end point : 특정 사이트 기준 관련 입출력 패킷
Conversation – Protocol
- 와이어 샤크에는 데이터 형태가 그대로 남아있어, 해당 이미지까지 가져올 수 있다.
- 우클릭으로 Display Filter 로 적용해 사용 가능
Statics Flow 기능
- 패킷을 추적해서 패킷의 흐름을 그래프로도 확인 가능하다
- Statics – Flow gragh
Follow 확인 기능
- HTTP 패킷 선택 후 FLOW – HTTP Stream 선택 시, 실제 전송하는 HTTP 파일을 볼 수 있다.
- 작업 과정을 볼 수 있다.
#_4 Tshark
- 패킷을 분석하기 위해서는 수집 단계가 선행되어야 한다.
- [ Tshark 설명 및 Tshark로 패킷 캡쳐 및 와이어샤크에서 열기 ]
- [ Tshark 옵션을 사용 패킷 캡쳐 ]
- 와이어샤크으로도 패킷 수집이 가능하다, 그러나 사용 수집 방식으로 인해 모든 패킷 수집 능력이 떨어진다. 이는 신뢰성과 연결되어, OS별 패킷 수집에서는 다른 툴을 사용한다.
- MS-Window에서는 TShark 사용한다.
#### 수집 및 분석 방식의 차이
- 통역식(인터프리터 방식)
1. 인터프리터 방식 : 수집과 분석 동시 진행
2. 통역식 분석 : ~A 에요 : ~A에요 => ~B 에요, :~B 에요
3. 라인별 분석 ==> 캡쳐율 낮음(수집률 낮다) ==> 수집 데이터 신뢰도 낮음
4. GUI 수집으로 성능 감소
- 번역식(컴파일 방식)
1. 번역식 분석 : ~A에요, ~B에요 => ~A에요, ~B에요.
2. 컴파일 방
3. TCPdump, TShark
- 따라서, 높은 신뢰성을 갖추기 위해 패킷의 분석은 와이어 샤크, 패킷의 수집 TCPdump, TShark로 진행
- Linux(TCPdump), MS-window(TShark) 문법 동일해서 호환 가능.
Wireshark 설치 폴더 확인
- Help – About Wireshark – Folders
- 관리자 권한으로 CMD 실행 – cd 명령어로 Global configuration으로 이동
인터페이스 번호 확인
- Wireshark 실행 시 나오는 선택 인터페이스 목록((Lan 카드 목록) 조회 명령어
- tshark –D
- 좌측에 나오는 번호들이 인터페이스 번호이다.
인터페이스 번호로 패킷 수집
- 인터페이스 번호를 선택한다.
- tshark –i 인터페이스번호
- Ctrl + C를 누르면 중단
- 이는 CMD 에서만 패킷을 캡쳐한 것이고, 분석하려면 별도로 저장해야 한다. (파일화 과정 필요)
패킷 수집 후 파일 저장
- tshark –i 5 –w 저장파일명.pcapng
- tshark –i 5 –w T1.pcapng 입력 시,
패킷 수집 과정에서의 Dispaly Filter 사용
- tshark –r “읽어올파일이름.pcapng” -Y “필터로사용할프로토콜이름.analysis.flags”
- tshark –r “T1.pcapng” -Y “tcp.analysis.flags” 로 입력한다.
접속한 호스트 목록 확인