연동 Application을 검증하다 보면 network packet 분석이 필요한 경우가 종종 있다. 범용 Protocol을 활용한 Application의 경우 Protocol 규격에 적법하게 Packet을 주고 받는지, 혹은 연동 Interface 문서에 정의된 API 규격에 맞게 Request / Response Message를 주고 받는지 등.. 그리고 때로 예상과 다르게 동작하는 Server 또는 Client의 검증 중 원인 분석을 위해서도 wireshark는 종종 유용하게 쓰인다.
wireshark를 활용하면서 가장 활용을 많이 하는 기능 중에 하나가 display filter 기능이다. tcpdump 를 활용하여 client <-> server간 주고받은 packet을 file로 저장(확장자 .pcap)한 후, windows PC의 wireshark에서 pcap 파일을 확인한다. tcpdump로 packet을 저장할 때 사용한 option에 따라 상황은 다르겠지만 일반적으로 dump 속에는 내가 확인하고자 하는 packet 외에도 훨씬 다양한 packet들이 포함되어 있을 수 있다. (tcpdump 사용법 및 옵션은 링크 참고) 이런 불필요한 packet을 제외한 특정 Protocol과 관련된 packet만, 혹은 특정 port를 통해 주고받은 packet만 filtering하는 방법에 대해 간략히 소개해보려고 한다.
* 더 상세한 내용에 대해서는 공식 홈페이지 링크를 참고하세요.
Display Filter 영역 확인하기
주요 Protocol로 Filtering 확인하기
HTTP
http
http.response.code==400
DICOM
dicom
그 외, 지원되는 Protocol List 확인하기
- tcp
- udp
- hl7
- h.264
- ip
- 그 외 다양한 Protocol 목록은 "View" - "Internals" - "Supported Protocols" 에서 확인할 수 있음
특정 IP, Port로 Filtering 확인하기
IP Filtering
ip.addr==0.0.0.0
Port Filtering
tcp.port==80
<상세 filtering list 확인하기>
AND / OR 등의 연산자를 포함하여 Filtering 확인하기
ip와 port를 and 조건으로 filtering
tcp.port==80 and ip.addr==0.0.0.0
2개의 protocol을 or 조건으로 filtering
http or dicom
그 외, 사용 가능한 연산자 목록 확인하기
비교 연산자
출처 : wireshark 공식 홈페이지 (링크)
논리 연산자
출처 : wireshark 공식 홈페이지 (링크)
'Engineering > Network' 카테고리의 다른 글
[tcpdump] 덤프 파일 사이즈가 커서 wireshark로 열리지 않는 경우를 대비하여 pcap 파일 분할하여 저장하기 (0) | 2024.01.10 |
---|---|
iptables 활용하여 Connection timeout, Response timeout 테스트 하기 (0) | 2022.04.04 |
iptables 로 일부 문자(string)가 포함된 packet만 차단하기 (string match) (0) | 2022.03.28 |
docker 사용 시, iptables 로 방화벽 설정하기 (DOCKER-USER Chain) (0) | 2021.11.29 |
[tcpdump] 네트워크 패킷 캡쳐하기 (자주 사용하는 옵션 정리) (0) | 2021.07.25 |
댓글