본문 바로가기
IT/네트워크

Tcpdump 사용법 및 파일 저장 방법, 기본옵션 설명

by 미니송 2019. 11. 5.


Tcpdump 사용법 파일 저장 방법


tcpdump는 네트워크에 돌아다니는 패킷을 캡처할 수 있는 도구입니다. 네트워크를 공부한다면 가장 기본이라고 볼 수 있으며 많이 사용하게 될 것입니다. tcpudmp를 사용하다 보면 옵션에서 많은 기능이 있다는 것을 확인할 수 있습니다. 그 중에서 자주 사용하는 기능은 tcpdump로 패킷을 캡처한 후 파일로 저장하는 것입니다. 물론 사용법은 간단합니다. 하지만 주의해서 사용할 필요가 있습니다. 특히나 확장자나 경로와 같은 부분을 신경써서 써주어야 나중에 패킷캡처 파일을 활용할 때 정상적으로 보입니다.



Tcpdump 기본 사용 방법 및 옵션 설명

우선 tcpdump의 기본적인 옵션들은 아래의 포스팅에서 확인할 수 있습니다. tcpdump를 활용하기 위하여 필요한 옵션들이니 한 번 보면 좋을 것 같습니다.




Tcpdump 저장하는 방법

tcpudmp를 사용하여 저장하기 위해서는 -w 옵션을 사용하면 됩니다. write의 약자이며 쓰기기능을 사용하는 것입니다.


# tcpdump -i eth1 -w packet.pcap


이런식으로 옵션을 사용하면 저장이 가능합니다. 앞에 붙은 -i 옵션은 인터페이스를 지정하는 옵션입니다.

-w 옵션을 사용하면 현재 흐르는 패킷을 확인할 수는 없고 pcap파일이 저장된 후 확인하여야합니다.

(필요시 tcpdump를 2개 사용하여 패킷캡처를 하는 것이 좋습니다.)


1. 인터페이스를 확인 후 패킷 캡처를 해야한다.

2. -w 옵션과 확장자 pcap이 제대로 적혔는지 확인한다.

3. tcpdump를 종료하여야 패킷이 저장된다.(Ctrl + c)


위의 명령어를 사용한다면 다음과 같습니다.



칼리 리눅스에서 테스트로 tcpdump를 사용하였습니다. 앞에서의 명령어와 같이 사용하였으며 위의 사진에서 ls 명령어를 통해서 디렉토리를 확인하였을때 packet.pcap이라는 파일이 없지만 #tcpdump -i eth0 -w packet.pcap 명령어를 실행후에 확인시 pcaket.pcap이 생성되었습니다. 이런 방식으로 패킷을 캡처해서 저장해주시면 됩니다. 또한 종료를 해주어야 파일로 저장이 되니 주의하시기 바랍니다.


따라서 이렇게 사용되는 -w 옵션은 자신이 현재 있는 디렉토리에 저장됩니다. 현재 폴더에 저장되는 것인데 이것은 뭐 리눅스를 사용하시는 분들이라면 충분히 이해하실 것이라고 생각됩니다. 또한 원하는 위치에 저장하고 싶을 경우에는 파일명 앞에 경로를 지정해주면 됩니다.


# tcpdump -i eth1 -w /usr/packet.pcap


이런식으로 앞에 /usr/ 과 같이 경로를 지정해주면 그 디렉토리 안에 pcap파일이 저장됩니다.



명령어를 실행한 모습입니다. 원래의 /usr 디렉토리에는 packet.pcap이라는 파일이 없습니다. 하지만 위의 명령어를 통해서 디렉토리를 지정한 후 패킷을 캡처하면 파일이 생성되는 것을 볼 수 있습니다. 이렇게 tcpdump를 사용하여 네트워크에 있는 트래픽을 볼 수 있습니다. 또한 요즘에는 pcap라이브러리를 이용한 네트워크 패킷 캡처 프로그램을 만들기도 합니다.


pcap 파일?


pcap 파일이란 Packet capture의 약자입니다. 이 pcap은 네트워크 트래픽을 캡처하기 위한 API로 구성되어 있으며 설치를 필요로 합니다. 윈도우에서는 winpcap 리눅스 시스템에서는 libpcap으로 불리고 있습니다. 네트워크 트래픽 분석을 위해서 필수적이며 찾아보면 많은 자료가 나올 것입니다. 특히나 wireshark(패킷캡처프로그램)에서 사용하는 것도 이 pcap라이브러리를 사용하고 있습니다. 따라서 이러한 pcap파일로 저장하면 트래픽분석도구와 같은 툴에서 자신이 저장한 트래픽을 확인할 수 있습니다.




pcap파일 보기 

pcap파일을 보기 위해서는 우선 wireshark와 같은 툴을 이용하면 됩니다. 기본적으로 wireshark는 현재 네트워크에 흐르는 트래픽을 캡처하여 볼 수 있지만 이미 캡처된 pcap파일을 열어서 확인할 수 있습니다. 또한 wireshark가 아닌 tcpdump를 이용하여 볼 수도 있습니다. 하지만 tcpdump로 트래픽을 보기에는 불편함이 있으니 wireshark와 같이 그래픽으로 표현해주는 툴을 사용하시는 것이 좋습니다.=


tcpdump에서 pcap파일을 확인할 수 있는 명령어는


#tcpdump -qns 0 -X -r test.pcap(pcap 파일명)


이렇게 사용할 수 있습니다. 물론 표현되는 것은 보기 힘든편이지만 급하다면 유용하게 사용할 수 있습니다.



위의 명령어를 사용하여 pcap파일을 확인한다면 다음과 같이 출발지, 목적지, 프로토콜, 시간, 길이 등을 확인할 수 있으며 옵션에 따라서 밑에 있는 Hex값도 확인할 수 있습니다. tcpdump만 해도 많은 명령어가 있으며 모든 쓰임을 알기엔 부족한 것 같습니다. tcpdump에 추가할 내용이 있다면 다음 포스팅에서 더 추가하도록 하겠습니다.

댓글