$ tcpdump -i [device] -s [packet_size] -w [output filename] [network_filter]
주요 옵션
-i <device>
- 데이터를 수집할 네트워크 디바이스
- 지정하지 않을 경우 루프백을 제외한 디바이스 중 가장 낮은 번호의 디바이스를 대상으로 수집함
-s <packet_size>
- 수집할 패킷 데이터 크기
- 지정하지 않을 경우 68바이트가 기본값이며, 68바이트 이상 패킷인 경우 68바이트까지만 수집하고 나머지 데이터는 버린다
- 따라서 충분한 크기를 지정해야 한다.
-w <filename>
- 수집된 데이터를 저장할 파일명
- 비어있을 경우 화면에 출력
-c <count>
-C <filesize>
- 수집된 데이터를 저장하는 파일 크기를 바이트 단위로 지정한다
-w로 지정한 파일명 뒤에 순차번호로 숫자를 붙여서 저장함
-G <seconds>
- 지정한 초만큼 데이터를 나눠서 여러 파일에 저장한다
-w로 지정한 파일명 뒤에 시간 정보가 함께 붙어서 저장된다
-C 옵션과 함께 되어있으면 파일명에 시간 대신 순차번호를 붙여 저장한다.
-n / -nn
-n은 호스트 IP를 서버명으로 바꾸지 않음
-nn은 호스트IP와 포트명을 모두 이름으로 변환하지 않고 숫자로 노출
-S
- TCP 시퀀스 번호를 상대 번호가 아닌 절대 번호로 출력
-t
-tt / -ttt / -tttt / -ttttt
-tt: Epoch초형식을 사용
-ttt: 이전 패킷과 시간차를 마이크로초 단위로 출력
-tttt: 시,분,초 시간으로 출력
-ttttt: 첫 패킷 이후 경과 시간을 마이크로초 단위로 출력
-v / -vv / -vvv
- v가 추가될때마다 화면에 출력하는 패킷 정보를 더 자세하게 출력
-A
-x
필터
dst host <HOST>, src host <HOST>, host <HOST>
- 캡쳐할 호스트를 지정. dst, src 옵션을 추가하여 단방향 데이터만 수집할 수도 있음
dst port <PORT>, src port <PORT>, port <PORT>
ether dst <EHOST>, ether src <EHOST>, ether host <EHOST>
- 캡쳐할 이더넷 주소를 지정. MAC 주소로 캡쳐를 함
dst net <NET>, src net <NET>, net <NET>
- 캡쳐할 IP 네트워크를 지정. NET은 네트워크 주소