tcpdump를 필요 시에 라이브하게 사용하는 경우가 일반적이지만,
어떤 작업을 걸어두고 여러 파일로 쪼개서 저장해야하는 경우도 생기게 된다.
그럴 때 사용할 수 있는 로테이션 관련 옵션 메모
1. -w [파일명]
파일명으로 저장
[root@localhost ~]# tcpdump -ne -i br0 -w test.pcap tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes ^C15 packets captured 18 packets received by filter 0 packets dropped by kernel [root@localhost ~]# ls -al test.pcap* -rw-r--r--. 1 tcpdump tcpdump 1715 3월 18 17:36 test.pcap [root@localhost ~]# |
br0 인터페이스에서 15개의 패킷 캡쳐해서 test.pcap으로 저장하였다.
파일 목록을 보면 test.pcap 저장됨을 확인할 수 있다.
2. -G [초]
로테이션 기준 시간(초단위)
[root@localhost ~]# tcpdump -ne -i br0 -w test.pcap -G 3 tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes ls ^C733 packets captured 744 packets received by filter 0 packets dropped by kernel [root@localhost ~]# |
[root@localhost ~]# watch -n 1 "ls -al --time-style=full test.pcap* >> rotate_log" |
[root@localhost ~]# cat rotate_log -rw-r--r--. 1 tcpdump tcpdump 4096 2022-03-18 17:49:05.311631129 +0900 test.pcap -rw-r--r--. 1 tcpdump tcpdump 8192 2022-03-18 17:49:06.313603752 +0900 test.pcap -rw-r--r--. 1 tcpdump tcpdump 16384 2022-03-18 17:49:08.317549001 +0900 test.pcap -rw-r--r--. 1 tcpdump tcpdump 0 2022-03-18 17:49:09.320521594 +0900 test.pcap -rw-r--r--. 1 tcpdump tcpdump 372736 2022-03-18 17:49:10.895478564 +0900 test.pcap -rw-r--r--. 1 tcpdump tcpdump 385024 2022-03-18 17:49:11.898451163 +0900 test.pcap -rw-r--r--. 1 tcpdump tcpdump 0 2022-03-18 17:49:12.900423784 +0900 test.pcap |
저장하는 파일명이 test.pcap이므로 로테이션되어 새로 저장되는 경우에는 덮어쓰기가 된다.
3초마다 새로 쓰는지 확인하기 위해 watch 명령어로 파일 수정시간과 파일크기를 확인해보면 동작하고 있음을 볼 수 있다.
-C [사이즈]
로테이션 기준 파일크기(약 1M*사이즈)
[root@localhost ~]# tcpdump -ne -i br0 -w test.pcap -C 1 tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes ^C31414 packets captured 31434 packets received by filter 0 packets dropped by kernel [root@localhost ~]# ls -al test.pcap* -rw-r--r--. 1 tcpdump tcpdump 1000091 3월 18 18:12 test.pcap -rw-r--r--. 1 tcpdump tcpdump 1000088 3월 18 18:12 test.pcap1 -rw-r--r--. 1 tcpdump tcpdump 1000054 3월 18 18:12 test.pcap2 -rw-r--r--. 1 tcpdump tcpdump 1000158 3월 18 18:12 test.pcap3 -rw-r--r--. 1 tcpdump tcpdump 1000186 3월 18 18:12 test.pcap4 -rw-r--r--. 1 tcpdump tcpdump 1000010 3월 18 18:12 test.pcap5 -rw-r--r--. 1 tcpdump tcpdump 1000276 3월 18 18:12 test.pcap6 -rw-r--r--. 1 tcpdump tcpdump 1000118 3월 18 18:12 test.pcap7 -rw-r--r--. 1 tcpdump tcpdump 1000254 3월 18 18:12 test.pcap8 -rw-r--r--. 1 tcpdump tcpdump 816494 3월 18 18:12 test.pcap9 [root@localhost ~]# |
오우 C 옵션은 알아서 번호붙여 로테이션 파일을 생성한다.
파일 크기를 보면 1M이지만 정확하지는 않다. tcpdump manpage를 보면 1,000,000이라고는 하지만 순간 유입량이 많은 경우 또는 패킷의 크기에 따라 저장되는 파일크기의 오차가 생기는 듯 하다.
-W [개수]
로테이션 시 저장하는 최대 파일 갯수
[root@localhost ~]# tcpdump -ne -i br0 -w test.pcap -C 1 -W 3 tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes ^C62854 packets captured 62857 packets received by filter 0 packets dropped by kernel [root@localhost ~]# ls -al test.pcap* -rw-r--r--. 1 tcpdump tcpdump 1000235 3월 18 18:15 test.pcap0 -rw-r--r--. 1 tcpdump tcpdump 717728 3월 18 18:15 test.pcap1 -rw-r--r--. 1 tcpdump tcpdump 1000438 3월 18 18:15 test.pcap2 [root@localhost ~]# |
C 옵션에서 추가로 W옵션을 사용해본다. 최대 파일 갯수를 지정하는 것으로 테스트 내용을 보면
캡쳐한 패킷량이 3배는 많은데 파일은 3개만 생겼다.
또한 파일 크기를 보면 파일 3개 양을 모두 캡쳐하고 끝난게 아니고 첫번째 파일부터 다시 덮어쓰기 하는 것을 알 수 있다.
끝
- 참조
'IT > Network' 카테고리의 다른 글
[ARP와 ARP Table 및 Cache] - 1. ARP란 (1) | 2024.02.16 |
---|---|
[L4 스위치] 펌킨네트웍스 AEN 시리즈 매뉴얼 (0) | 2021.08.12 |
[L4 스위치] SLB 구성에 관하여 <1. Inline Bridge 구성> (0) | 2020.07.28 |
[Cisco 스위치] 로그 타임스탬프 설정, 장비 시간 설정, NTP 설정 (0) | 2020.07.10 |
[Cisco 스위치] Mirroring 설정 (0) | 2020.05.09 |