티스토리 뷰

Linux

네트워크 패킷 덤프 - tcpdump (1)

naleejang 2022. 12. 5. 15:02

오늘은 네트워크 패킷 덤프를 할 수 있는 tcpdump에 대해 글을 올려볼까? 한다. tcpdump는 평소에는 사실 크게 쓸일은 없지만, 가끔 통신이 안될때 서버측에서 데이터를 못 보내는건지 아니면 클라이언트 측에서 데이터를 못 받는건지 등을 확인할때 유용하게 쓰인다.

영어를 조금만 할 수 있다면 명령어 사용법을 help 나 또는 man 페이지를 확인하는것이 가장 좋은 방법이다. 해당 명령어는 어떤 경우에 사용할 수 있는지 그리고, 어떤 옵션들이 있으며, 옵션의 설명과 사용 예시까지 적절하게 설명을 해 준다. 그래서, 이번에는 tcpdump --help 와 man 페이지를 꼼꼼하게 읽어보고 정리를 해 보기로 했다.   

우선, tcpdump --help 명령어를 입력하면 아래와 같은 내용을 볼 수 있다. 딱히 어떻게 쓰는건지 이것만 봐서는 잘은 모르겠다. 그냥 드는 생각은 아~ tcpdump에는 많은 옵션들이 있구나!! 이 정도.. ㅎ

[nalee@rhel8 ~]$ tcpdump --help
tcpdump version 4.9.3
libpcap version 1.9.1 (with TPACKET_V3)
OpenSSL 1.1.1k  FIPS 25 Mar 2021
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
		[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
		[ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
		[ -Q in|out|inout ]
		[ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
		[ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
		[ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
		[ -Z user ] [ expression ]

그래서, 이번에는 man 페이지를 열어 보기 시작했다. man 페이지의 설명은 무려 852 라인으로 다 읽으려면 시간이 꽤 많이 걸린다. 게다가 읽는동안 모르는 단어들이 계속 나타나기 때문에 단어의 의미를 파악하면서 읽으려면 더 오랜 시간이 걸린다. 일단, 이번에는 tcpdump가 무슨일을 하고 몇개의 option이 있는지 대표적으로 사용되는 option들은 어떤 의미인지만 간단하게 정리해 보고자 한다.

man 페이지는 아래와 같이 총 9개의 섹션으로 구성되어 있다. 

  • NAME (해당 어플리케이션 이름을 의미함. 여기서는 tcpdump가 이름이다.)
  • SYNOPSIS (개요 라는 의미로 tcpdump --help 명령어를 수행했을때 나오는 사용법이 여기 설명되어 있다.)
  • DESCRIPTION (tcpdump의 사용용도와 어떤 옵션들을 많이 사용하지에 대한 정보를 기술한다.)
  • OPTIONS (tcpdump와 함께 사용할수 있는 옵션과 옵션 설명들이 기술되어 있다.)
  • EXAMPLES (tcpdump 사용 예제들이 기술되어 있다.)
  • OUTPUT FORMAT (tcpdump 명령어에 의해 출력된 결과물에 대한 포맷을 설명한다.)
  • SEE ALSO (함께 보면 좋은 명령어 등을 안내한다.)
  • AUTHORS (누가 tcpdump를 개발했고, 누구에 의해 운영유지보수되고 있는지 설명한다.)
  • BUGS (아마도 버그도 있나보다. bug에 대한 설명이 기술되어 있다.)

tcpdump man 페이지의 NAME 섹션에는 아래와 같이 쓰여져 있다. 한마디로 말해 tcpdump는 네트워크 트래픽을 덤프하기 위한 명령어이다. dump 에 대한 의미를 찾아보니 dump는 쓰레기, 쓰레기 더미, 툭툭 떨어뜨리다 라는 뜻을 가지고 있다. 아마도 네트워크 트래픽을 툭툭 파일에 떨어뜨리기 때문에 이렇게 이름을 만든게 아닌가 하는 생각이 든다.

NAME
       tcpdump - dump traffic on a network

Description을 보면 다음과 같이 설명되어 있다.

tcpdump 명령어는 명령어와 함께 쓰이는 [Expression] 에 해당되는 네트워크 인터페이스의 패킷을 찾아 출력한다.  타임스탬프가 표시되며, 기본적으로 시간, 분으로 출력된다. 또한 분석을 위해 파일로도 저장할 수 있는데 이때는 -w 또는 -r 옵션과 함께 사용할 수 있다. 또한, 이렇게 저장된 파일을 읽어들이기 위해서는 -V 옵션을 사용한다.

문서가 너무 길어지면 읽기가 지루해지므로, 오늘 포스팅을 여기에서 마무리하고자 한다. 다음 포스팅에서는 옵션에 대해 정리를 해보고자 한다.

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함