Seongwon Lim

[Ubuntu] PCAP 파일을 JSON 파일로 변환하기 본문

Linux

[Ubuntu] PCAP 파일을 JSON 파일로 변환하기

limsw 2023. 1. 9. 16:26
반응형

서론

이번 글에서는 패킷 캡쳐(.pcap) 확장자 파일을 JSON 파일로 변환하는 방법에 대해서 다루어볼 예정이다.

 

개발 환경은 Ubuntu 22.04 LTS 이며, 와이어샤크(Wireshark) 에서 제공하는 명령어를 기반으로 이번 글을 다룰 예정이므로 와이어샤크가 설치되어 있지 않은 분들은 아래 글을 참고하면 좋을 것 같다.

 

 

[Ubuntu] Wireshark 설치 방법 - Ubuntu 22.04 LTS

서론 이번 글에서는 패킷 분석 툴인 와이어샤크(Wireshark)를 Ubuntu 환경에서 설치하고 실행하는 방법을 간단하게 다뤄보고자 한다. 와이어샤크를 이용하면 로컬 네트워크 내에서 발생하는 다양한

limsw.tistory.com

 

샘플 파일 다운받기

 

SampleCaptures

 

wiki.wireshark.org

해당 페이지에서 샘플 파일을 다운받을 수 있다. 해당 예제에서는 TCP 샘플 파일인 200722_win_scale_examples_anon.pcapng 파일을 사용했다.

다운 파일 확인하기

$ tcpdump -qns 0 -X -r [파일명]

tcpdump가 설치되어 있지 않은 경우 아래 명령어를 먼저 수행한다.
$ apt-get install tcpdump

 

명령어를 수행하면 다음과 같은 결과를 얻을 수 있을 것이다.

위 사진과 같이 Data Grid 형태로 파일 내용이 구성되어 있다. 이제 해당 형태를 JSON 형태로 변환해보자.

tshark 명령어를 통해 JSON 파일로 변환하기

tshark는 터미널과 같은 CLI(Command Line Interface) 환경에서 사용할 수 있는 Wireshark 패키지이다. 다양한 기능을 제공하고 있지만 해당 글에서는 파일 변환에 관한 내용만 다룬다.

 

tshark에서 제공하는 다양한 옵션이 궁금한 분들은 tshark -h 또는 tshark --help 명령어를 통해 다양한 옵션을 찾아볼 수 있다.

$ tshark -r [pcap 파일명] -T json > output.json

위 커맨드를 입력하면 output.json 파일이 생성된다. 그리고 해당 파일을 확인하면 다음과 같은 결과를 얻을 수 있다.

제일 마지막에 있는 패킷 정보를 캡쳐한 사진이다. 위와 같이 패킷 정보가 데이터 그리드 형태에서 JSON 형태로 바뀐 것을 확인할 수 있다.

번외

$ tshark -r [pcap 파일명] -T ek > output.json

-T 옵션 뒤에 json 대신에 ek를 입력하면 Elasticsearch에 Bulk 하기 위한 JSON 형태로 데이터가 저장된다.

Comments