TCP dump란?
- TCP dump란 대부분의 유닉스 계열에서 네트워크 카드를 통해 송수신 되는 패킷을 가로채고 표시해 주는 소프트웨어
- 해당 서버에서 네트워크를 통해 송수신되는 패킷들을 확인할 수 있는 명령어
사용법
- 기본 형식 : tcpdump [ 옵션 ][ BPF ]
- 주요 옵션
-i : 지정한 네트워크 인터페이스를 경유하는 패킷을 출력
-nn : 출력 시 호스트/서비스명이 아닌 IP주소와 Port 번호로 출력
-v, -vv, -vvv : 패킷을 헤더부까지 자세하게, 더 자세하게 출력
IP주소는 192.168.0.1/24 와 같이 CIDR 포맷으로 지정 가능
-c 숫자 : 지정한 수 만큼 출력
-w file : 출력한 패킷 정보를 파일로 만듦
-r file : w 옵션으로 만든 파일을 읽는다
✅ and의 && , or의 ||, not의 ! 모두 동작
- BPF
-> 원하는 패킷만을 스니핑하기 위한 룰 지정부
-> 대부분의 패킷 스니퍼에서 표준으로 지원되는 형식
사용 예시
- 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: 저장한 파일을 읽음
네트워크보안 ㄷㄷ