>컴퓨터 튜토리얼 >컴퓨터 지식 >Tcpdump가 패킷을 캡처하고 분석하는 방법

Tcpdump가 패킷을 캡처하고 분석하는 방법

WBOY
WBOY앞으로
2024-03-20 19:36:18936검색

Tcpdump가 패킷을 캡처하고 분석하는 방법

Tcpdump는 Linux 시스템 및 macOS에서 네트워크 트래픽 분석에 주로 사용되는 강력한 네트워크 분석 도구입니다. 네트워크 관리자는 tcpdump를 통해 네트워크 트래픽을 캡처 및 분석하여 네트워크 스니핑을 수행하고 TCP/IP 패킷을 모니터링할 수 있습니다. 네트워크 트래픽을 효율적으로 캡처하기 위해 "libpcap"이라는 라이브러리를 사용합니다. 네트워크 관리자가 네트워크 문제를 식별하고 해결하는 데 도움을 주는 것 외에도 tcpdump는 정기적으로 네트워크 활동을 모니터링하고 네트워크 보안을 확인하는 데도 도움이 됩니다. 캡처된 데이터는 "pcap"이라는 파일에 저장되며, 이는 TCP/IP 패킷 분석 도구(예: Wireshark) 또는 기타 명령줄 도구를 사용하여 추가로 분석되어 네트워크 트래픽 및 네트워크 통신에 대한 통찰력을 얻을 수 있습니다.

이 가이드에서는 Linux 시스템에 TCPDUMP를 설치하는 방법과 TCPDUMP를 사용하여 TCP/IP 패킷을 캡처하고 분석하는 방법을 보여줍니다.

Tcpdump 설치 방법

많은 Linux 배포판에는 tcpdump가 사전 설치되어 있습니다. tcpdump가 시스템에 아직 설치되어 있지 않은 경우 Linux 시스템에 쉽게 설치할 수 있습니다. Ubuntu 22.04 시스템에서는 간단한 명령을 사용하여 tcpdump를 설치할 수 있습니다.

$sudo apt install tcpump

Fedora/CentOS에 tcpump를 설치하려면 다음 명령을 사용하세요:

$sudo DNF 설치 tcpump

Tcpdump 명령을 사용하여 패킷을 캡처하는 방법

터미널을 실행하고 sudo 권한으로 tcpdump를 실행하여 패킷을 캡처하려면 "Ctrl + Alt + t"를 눌러 터미널을 엽니다. tcpdump는 TCP/IP 패킷 캡처를 위한 다양한 옵션과 필터를 제공하는 강력한 도구입니다. 현재 또는 기본 네트워크 인터페이스에서 모든 트래픽 패킷을 캡처하려면 추가 옵션 없이 간단한 "tcpdump" 명령을 사용하면 됩니다. 이렇게 하면 네트워크 트래픽을 모니터링하고 패킷의 내용과 원본을 분석할 수 있습니다. 중요한 정보를 공개하거나 개인정보를 침해하지 않도록 tcpdump를 사용할 때는 캡처된 패킷을 주의해서 처리해야 합니다.

tcpdump

주어진 명령은 시스템의 기본 네트워크 인터페이스에서 패킷을 캡처합니다.

이 명령 실행이 끝나면 캡처되고 필터링된 모든 패킷 수가 터미널에 표시됩니다.

출력을 이해해 봅시다.

Tcpdump는 TCP/IP 패킷 헤더 분석을 지원합니다. 각 패킷에 대해 한 줄을 표시하며 "Ctrl + C"를 눌러 중지할 때까지 명령이 계속 실행됩니다.

tcpdump에서 제공하는 모든 줄에는 다음 세부 정보가 포함되어 있습니다.

  • Unix 타임스탬프(예: 02:28:57.839523)
  • 스킴(IP)
  • 소스 호스트 이름 또는 IP 및 포트 번호
  • 대상 호스트 이름 또는 IP 및 포트 번호
  • TCP 플래그(예: 플래그 [F.])는 S(SYN), F(FIN), .(ACK), P(PUSH), R(PUSH)을 사용합니다.
  • 패킷에 있는 데이터의 시퀀스 번호(예: SEQ 5829:6820)
  • 확인 번호(예: (ACK 1016)
  • 수신 버퍼에서 사용 가능한 바이트와 TCP 옵션을 나타내는 창 크기(예: win 65535)
  • 데이터 페이로드의 길이(예: 길이 991)
시스템에 나열된 모든 네트워크 인터페이스를 나열하려면 "-D" 옵션과 함께 "tcpump" 명령을 사용하세요.

$sudo tcpump -D

또는

$tcpdump——목록—중단

이 명령은 Linux 시스템에 연결되어 있거나 실행 중인 모든 네트워크 인터페이스를 나열합니다.

지정된 네트워크 인터페이스에서 패킷 캡처

특정 인터페이스를 통과하는 TCP/IP 패킷을 캡처하려면 "tcpdump" 명령에 "-i" 플래그를 사용하고 네트워크 인터페이스 이름을 지정하세요.

$sudo tcpdump—저는요

주어진 명령은 "lo" 인터페이스에서 트래픽을 캡처합니다. 패킷 세부사항을 표시하려면 "-v" 플래그를 사용하십시오. 보다 포괄적인 세부 정보를 인쇄하려면 "tcpdump" 명령과 함께 "-vv" 플래그를 사용하십시오. 정기적인 사용과 분석은 강력하고 안전한 네트워크 환경을 유지하는 데 도움이 됩니다.

마찬가지로 다음 명령을 사용하여 모든 인터페이스에서 트래픽을 캡처할 수 있습니다.

$sudo tcpump -iany

특정 포트를 사용하여 패킷 캡처

인터페이스 이름과 포트 번호를 지정하여 패킷을 캡처하고 필터링할 수 있습니다. 예를 들어 포트 22를 사용하여 "enp0s3" 인터페이스를 통과하는 네트워크 패킷을 캡처하려면 다음 명령을 사용합니다.

$tcpdump—i enp0s3 포트 22

이전 명령은 "enp0s3" 인터페이스에서 흐르는 모든 패킷을 캡처합니다.

Tcpdump를 사용하여 제한된 패킷 캡처

"tcpdump" 명령과 함께 "-c" 플래그를 사용하여 지정된 수의 패킷을 캡처할 수 있습니다. 예를 들어 "enp0s3" 인터페이스에서 4개의 패킷을 캡처하려면 다음 명령을 사용합니다.

$tcpdump—i enp0s3—c 4

인터페이스 이름을 시스템 이름으로 바꾸세요.

네트워크 트래픽 캡처에 유용한 Tcpdump 명령

아래에는 네트워크 트래픽이나 패킷을 효율적으로 캡처하고 필터링하는 데 도움이 되는 몇 가지 유용한 "tcpump" 명령이 나열되어 있습니다.

"tcpump" 명령을 사용하면 정의된 대상 IP 또는 소스 IP가 있는 인터페이스에 대한 패킷을 캡처할 수 있습니다.

$tcpdump—i {인터페이스—이름} dst {대상—ip}

기본 크기인 262144바이트와 다른 65535바이트의 스냅샷 크기로 패킷을 캡처할 수 있습니다. 이전 버전의 tcpdump에서는 캡처 크기가 68 또는 96바이트로 제한되었습니다.

$tcpdump—i enp0s3—s 65535

캡처된 패킷을 파일로 저장하는 방법

추가 분석을 위해 캡처된 데이터를 파일에 저장하려는 경우 그렇게 할 수 있습니다. 지정된 인터페이스의 트래픽을 캡처하면 ".pcap" 파일에 저장됩니다. 다음 명령을 사용하여 캡처된 데이터를 파일에 저장합니다.

$tcpdump—i—s 65535—pcap

예를 들어 "enps03" 인터페이스가 있습니다. 캡처한 데이터를 다음 파일에 저장하세요:

$sudo tcpdump—i enps03—w pcap

향후에는 Wireshark 또는 기타 네트워크 분석 도구를 사용하여 캡처된 이 파일을 읽을 수 있습니다. 따라서 Wireshark를 사용하여 패킷을 분석하려면 "-w" 매개변수를 사용하여 ".pcap" 파일에 저장하세요.

결론

이 튜토리얼에서는 다양한 예를 통해 tcpump를 사용하여 패킷을 캡처하고 분석하는 방법을 보여줍니다. 또한 캡처된 트래픽을 Wireshark 및 기타 네트워크 분석 도구를 사용하여 보고 분석할 수 있는 ".pCap" 파일에 저장하는 방법도 배웠습니다.

위 내용은 Tcpdump가 패킷을 캡처하고 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 mryunwei.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제