본문 바로가기
DevOps

tcpdump 기본 사용법

by 향로 (기억보단 기록을) 2018. 7. 8.
반응형
  • CentOS/RHEL에서 설치하기
sudo yum install tcpdump

자주 사용하는 옵션

옵션 설명
-nn 출력 결과의 포트를 변환 없이 그대로 출력한다. 옵션을 적용하지 않으면 가장 대중적인 프로토콜로 보여준다. ex) 80 -> http, 443 -> https
-vvv

패킷의 모든 정보 (TTL 등을 보여준다. 단, 데이터는 볼 수 없다. Request Body, Response Body 등)

-A 패킷의 내용을 ASCII 형태로 출력한다. 데이터가 암호화 되지 않았다면, 데이터도 보여준다. (Request Body, Response Body 등)
-G 패킷 정보를 저장하는 파일을 일정 주기로 갱신한다. 기본 단위는 s (초)
-C 패킷 정보를 저장하는 파일을 일정 크기로 갱신한다. 기본 단위는 MB
-w 패킷 정보를 저장할 파일 (.pcap)을 지정한다. 와이어샤크 등으로 해당 파일을 분석할 수 있다.
-Z tcpdump를 실행시킬 권한을 설정해준다. 만약 패킷 저장을 위한 파일의 권한을 다른 사용자로 주고 싶다면 사용한다.
host 출발지, 목적지 관계 없이 해당 호스트 정보를 가진 패킷만 수집한다.
port 출발지, 목적지 관계 없이 해당 포트 정보를 가진 패킷만 수집한다.

자주 사용하는 조합

  • 3600초 (1시간) 단위로 https://github.com 과 주고 받는 패킷을 남기고 싶다면
sudo tcpdump -nn -vvv -A -G 3600 -w /home/ec2-user/dump_%Y%m%d-%H%M%S.pcap -Z ec2-user host github.com and port 443

만약 pcap 파일명에 타임스탬프 ( %Y%m%d-%H%M%S ) 를 추가하지 않으면 3600초 마다 파일에 새로운 내용으로 덮어쓰게 된다.

pcap 파일 보는 방법

  • 기본적으로 GUI가 지원되는 OS라면 와이어샤크를 이용하길 추천하지만, CLI만 된다면 아래 커맨드로도 확인 가능
tcpdump -qns 0 -A -r pcap파일위치


반응형