Tshark 를 이용한 네트워크 트래픽 분석 및 내보내기
이 단계에서는 다양한 형식으로 네트워크 트래픽을 내보내고 tshark 를 사용하여 기본적인 트래픽 분석을 수행하는 방법에 중점을 둡니다. 이러한 기술은 캡처된 데이터를 동료와 공유하거나 다른 도구에서 사용할 수 있으므로 매우 중요합니다. 이 섹션이 끝나면 다양한 파일 형식을 처리하고 네트워크 트래픽에서 귀중한 정보를 추출할 수 있습니다.
캡처 파일 형식 이해
잘 알려진 네트워크 프로토콜 분석기인 Wireshark 는 여러 캡처 파일 형식을 지원합니다. 각 형식에는 고유한 특성이 있으며, 이는 나중에 데이터를 사용하는 방법을 결정하므로 이해하는 것이 중요합니다.
- pcapng: Wireshark 에서 사용하는 기본 형식입니다. 여러 인터페이스를 지원하고 고급 기능이 있습니다. 복잡한 네트워크 시나리오를 캡처해야 할 때 좋은 선택입니다.
- pcap: 클래식 형식입니다. 이전 도구와 호환되지만 pcapng 에 비해 기능이 적습니다. 레거시 시스템으로 작업해야 하는 경우 이 형식이 적합할 수 있습니다.
- csv: 쉼표로 구분된 값. 이 형식은 추가 분석을 위해 데이터를 스프레드시트로 가져오려는 경우 매우 유용합니다.
- json: JavaScript Object Notation. 프로그래밍 언어로 쉽게 구문 분석할 수 있으므로 프로그래밍 방식의 분석에 이상적입니다.
- text: 사람이 읽을 수 있는 일반 텍스트 형식입니다. 특별한 도구 없이 데이터를 빠르게 보려는 경우 유용합니다.
다양한 파일 형식으로 내보내기
캡처 파일의 형식을 변경하려면 tshark 에서 -F 옵션을 사용할 수 있습니다. 일반적인 명령 구조는 다음과 같습니다.
tshark -r <input_file> -F <format> -w <output_file>
여기서 -r은 입력 파일을 지정하고, -F는 출력 형식을 설정하고, -w는 출력 파일을 정의합니다.
예를 들어 캡처를 pcap 형식으로 내보내 보겠습니다.
tshark -r /home/labex/project/capture.pcapng -F pcap -w /home/labex/project/export.pcap
이 명령이 성공적으로 실행되면 화면에 아무런 출력도 표시되지 않습니다. 내보내기가 성공했는지 확인하려면 ls 명령을 사용하여 내보낸 파일의 세부 정보를 나열할 수 있습니다.
ls -l /home/labex/project/export.pcap
다음과 유사한 출력이 표시되어야 합니다.
-rw-r--r-- 1 labex labex 22468 Jan 27 12:45 /home/labex/project/export.pcap
프로토콜 통계 분석
Tshark 는 파일을 내보내는 데 유용할 뿐만 아니라 캡처된 트래픽에 대한 다양한 통계를 생성하는 데에도 유용합니다. 이러한 통계 분석 옵션 중 일부를 살펴보겠습니다.
프로토콜 계층 구조 통계
캡처에서 다양한 프로토콜이 어떻게 분산되어 있는지 확인하려면 다음 명령을 사용할 수 있습니다.
tshark -r /home/labex/project/capture.pcapng -z io,phs
-z 옵션은 통계 유형을 지정하는 데 사용됩니다. 이 경우 io,phs는 프로토콜 계층 구조 통계를 나타냅니다. 출력에는 프로토콜 계층 구조와 각 프로토콜의 패킷 비율이 표시됩니다.
Protocol Hierarchy Statistics
|
+ Ethernet
+ Internet Protocol Version 4
+ Transmission Control Protocol
+ Transport Layer Security
+ Hypertext Transfer Protocol Secure
+ User Datagram Protocol
+ Domain Name System
대화 통계
네트워크의 엔드포인트 간의 대화를 분석하려면 다음 명령을 사용할 수 있습니다.
tshark -r /home/labex/project/capture.pcapng -z conv,tcp
이 명령은 TCP 대화에 중점을 둡니다. 관련된 엔드포인트, 교환된 패킷 수 및 전송된 총 바이트와 같은 통계를 표시합니다.
TCP Conversations
| <- | | -> | | Total | Relative | Duration |
| Frames Bytes | | Frames Bytes | | Frames Bytes | Start | |
192.168.1.100:43210 <-> 93.184.216.34:443 24 18765 18 4532 42 23297 0.000000000 8.2345
HTTP 요청 통계
캡처에 HTTP 트래픽이 포함된 경우 다음 명령을 사용하여 HTTP 요청을 분석할 수 있습니다.
tshark -r /home/labex/project/capture.pcapng -z http,tree
이 명령은 URI 별로 HTTP 요청을 구성하고 각 URI 에 대한 요청 수를 표시합니다.
HTTP/Requests:
/index.html 1 requests
/images/logo.png 2 requests
다양한 텍스트 형식으로 내보내기
이진 형식 외에도 tshark 는 분석하기 쉬운 텍스트 형식으로 데이터를 내보낼 수도 있습니다.
CSV 로 내보내기
캡처에서 특정 필드를 CSV 파일로 내보내려면 다음 명령을 사용할 수 있습니다.
tshark -r /home/labex/project/capture.pcapng -T fields -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport -E header=y -E separator=, > /home/labex/project/tcp_summary.csv
여기서 -T fields는 특정 필드를 내보내려는 것을 지정합니다. -e 옵션은 프레임 번호, 소스 및 대상 IP, 소스 및 대상 TCP 포트와 같이 내보내려는 필드를 정의하는 데 사용됩니다. -E header=y는 CSV 파일에 헤더를 추가하고 -E separator=,는 구분 기호를 쉼표로 설정합니다.
CSV 내보내기 검사
데이터를 CSV 파일로 내보낸 후 head 명령을 사용하여 파일의 처음 몇 줄을 빠르게 볼 수 있습니다.
head -5 /home/labex/project/tcp_summary.csv
출력은 다음과 같습니다.
frame.number,ip.src,ip.dst,tcp.srcport,tcp.dstport
1,192.168.1.100,93.184.216.34,43210,443
2,93.184.216.34,192.168.1.100,443,43210
3,192.168.1.100,93.184.216.34,43210,443
...