리눅스 tcpdump: Difference between revisions

From IT Wiki
No edit summary
Line 13: Line 13:
==주요 옵션 및 사용법==
==주요 옵션 및 사용법==


*-i : 인터페이스를 지정
*-i: 인터페이스를 지정
*-nn : 출력시 호스트/서비스명이 아닌 IP주소와 Port번호로 출력
*-nn: 출력시 호스트/서비스명이 아닌 IP주소와 Port번호로 출력
*-v, -vv, -vvv : 패킷을 헤더부까지 자세하게, 더 자세하게 출력
*-v, -vv, -vvv: 패킷을 헤더부까지 자세하게, 더 자세하게 출력
*IP주소는 192.168.0.1/24와 같이 CIDR 포맷으로 지정 가능
*IP주소는 192.168.0.1/24와 같이 CIDR 포맷으로 지정 가능


Line 27: Line 27:
==사용 예시==
==사용 예시==


*'''tcpdump -i eth0''' : 인터페이스 eth0 을 보여줌
*'''tcpdump -i eth0''': 인터페이스 eth0을 보여줌
*'''tcpdump -i eth0 -c 10''' : 카운터 10개만 덤프
*'''tcpdump -i eth0 -c 10''': 10개만 덤프
*'''tcpdump -i eth0 tcp port 80''' : TCP 80 포트로 통신하는 패킷 덤프
*'''tcpdump -i eth0 tcp port 80''': TCP 80 포트로 통신하는 패킷 덤프
*'''tcpdump -i eth0 src 192.168.0.1''' : 출발지 IP가 192.168.0.1인 패킷 덤프
*'''tcpdump -i eth0 src 192.168.0.1:''' 출발지 IP가 192.168.0.1인 패킷 덤프
*'''tcpdump -i eth0 dst 192.168.0.1''' : 목적지 IP가 192.168.0.1인 패킷 덤프
*'''tcpdump -i eth0 dst 192.168.0.1''': 목적지 IP가 192.168.0.1인 패킷 덤프
*'''tcpdump -i eth0 src 192.168.0.1 and tcp port 80''' : 목적지 IP가 192.168.0.1이면서 TCP 80 포트인 패킷 보여줌
*'''tcpdump -i eth0 src 192.168.0.1 and tcp port 80''': 목적지 IP가 192.168.0.1이면서 TCP 80 포트인 패킷 보여줌
*'''tcpdump -i eth0 dst 192.168.0.1''' : 목적지IP가 192.168.0.1인 패킷 보여줌
*'''tcpdump -i eth0 dst 192.168.0.1''': 목적지IP가 192.168.0.1인 패킷 보여줌
*'''tcpdump host 192.168.0.1''' : 특정 호스트 IP로 들어오거가 나가는 양방향 패킷 모두 덤프
*'''tcpdump host 192.168.0.1''': 특정 호스트 IP로 들어오거가 나가는 양방향 패킷 모두 덤프
*'''tcpdump src 192.168.0.1''' : 특정 호스트 중에서 출발지가 192.168.0.1인 것만 덤프
*'''tcpdump src 192.168.0.1''': 특정 호스트 중에서 출발지가 192.168.0.1인 것만 덤프
*'''tcpdump dst 192.168.0.1''' : 특정 호스트 중에서 목적지가 192.168.0.1인 것만 덤프
*'''tcpdump dst 192.168.0.1''': 특정 호스트 중에서 목적지가 192.168.0.1인 것만 덤프
*'''tcpdump port 3389''' : 포트 양뱡항으로 3389이면 덤프
*'''tcpdump port 3389''': 포트 양뱡항으로 3389이면 덤프
*'''tcpdump src port 3389''' : 출발지 포트가 3389인 것만 덤프
*'''tcpdump src port 3389''': 출발지 포트가 3389인 것만 덤프
*'''tcpdump dst port 3389''' : 목적지 포트가 3389인 것만 덤프
*'''tcpdump dst port 3389''': 목적지 포트가 3389인 것만 덤프
*t'''cpdump udp and src port 53''' : UDP 이고 출발지 포트가 53이면 덤프
*t'''cpdump udp and src port 53''': UDP이고 출발지 포트가 53이면 덤프
*'''tcpdump src 192.168.0.1 and not dst port 22''' : 출발지 IP가 192.168.0.1이고 목적지 포트가 22 가 아닌 패킷 덤프
*'''tcpdump src 192.168.0.1 and not dst port 22''': 출발지 IP가 192.168.0.1이고 목적지 포트가 22 가 아닌 패킷 덤프
*'''tcpdump -w tcpdump.log''' : 결과를 파일로 저장(텍스트가 아닌 바이너리 형식으로 저장)
*'''tcpdump -w tcpdump.log''': 결과를 파일로 저장(텍스트가 아닌 바이너리 형식으로 저장)
*'''tcpdump -r tcpdump.log''' : 저장한 파일을 읽음
*'''tcpdump -r tcpdump.log''': 저장한 파일을 읽음

Revision as of 20:38, 24 November 2022


네트워크 인터페이스를 거치는 패킷을 캡쳐해주는 도구(패킷 스니퍼)

사용법

# tcpdump [옵션] [BPF]

주요 옵션 및 사용법

  • -i: 인터페이스를 지정
  • -nn: 출력시 호스트/서비스명이 아닌 IP주소와 Port번호로 출력
  • -v, -vv, -vvv: 패킷을 헤더부까지 자세하게, 더 자세하게 출력
  • IP주소는 192.168.0.1/24와 같이 CIDR 포맷으로 지정 가능

BPF

Berkely Packet Filter
  • 원하는 패킷만을 스니핑 하기 위한 룰 지정 부
  • 대부분의 패킷 스니퍼에서 표준으로 지원되는 형식

사용 예시

  • tcpdump -i eth0: 인터페이스 eth0을 보여줌
  • tcpdump -i eth0 -c 10: 10개만 덤프
  • tcpdump -i eth0 tcp port 80: TCP 80 포트로 통신하는 패킷 덤프
  • tcpdump -i eth0 src 192.168.0.1: 출발지 IP가 192.168.0.1인 패킷 덤프
  • tcpdump -i eth0 dst 192.168.0.1: 목적지 IP가 192.168.0.1인 패킷 덤프
  • tcpdump -i eth0 src 192.168.0.1 and tcp port 80: 목적지 IP가 192.168.0.1이면서 TCP 80 포트인 패킷 보여줌
  • tcpdump -i eth0 dst 192.168.0.1: 목적지IP가 192.168.0.1인 패킷 보여줌
  • tcpdump host 192.168.0.1: 특정 호스트 IP로 들어오거가 나가는 양방향 패킷 모두 덤프
  • tcpdump src 192.168.0.1: 특정 호스트 중에서 출발지가 192.168.0.1인 것만 덤프
  • tcpdump dst 192.168.0.1: 특정 호스트 중에서 목적지가 192.168.0.1인 것만 덤프
  • tcpdump port 3389: 포트 양뱡항으로 3389이면 덤프
  • tcpdump src port 3389: 출발지 포트가 3389인 것만 덤프
  • tcpdump dst port 3389: 목적지 포트가 3389인 것만 덤프
  • tcpdump udp and src port 53: UDP이고 출발지 포트가 53이면 덤프
  • tcpdump src 192.168.0.1 and not dst port 22: 출발지 IP가 192.168.0.1이고 목적지 포트가 22 가 아닌 패킷 덤프
  • tcpdump -w tcpdump.log: 결과를 파일로 저장(텍스트가 아닌 바이너리 형식으로 저장)
  • tcpdump -r tcpdump.log: 저장한 파일을 읽음