리눅스 tcpdump: Difference between revisions
From IT Wiki
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
</pre> | </pre> | ||
== 주요 옵션 == | == 주요 옵션 및 사용법 == | ||
* -i : 인터페이스를 | * -i : 인터페이스를 지정 | ||
* -nn : 출력시 호스트/서비스명이 아닌 IP주소와 Port번호로 | * -nn : 출력시 호스트/서비스명이 아닌 IP주소와 Port번호로 출력 | ||
* -v, -vv, -vvv : 패킷을 헤더부까지 자세하게, 더 자세하게 | * -v, -vv, -vvv : 패킷을 헤더부까지 자세하게, 더 자세하게 출력 | ||
* IP주소는 192.168.0.1/24와 같이 CIDR 포맷으로 지정 가능 | |||
== BPF == | == BPF == | ||
Line 18: | Line 19: | ||
== 사용 예시 == | == 사용 예시 == | ||
* tcpdump -i eth0 - | * tcpdump -i eth0 : 인터페이스 eth0 을 보여줌 | ||
* tcpdump -i | * tcpdump -w tcpdump.log : 결과를 파일로 저장, txt 가 아닌 bin 형식으로 저장됨 | ||
* tcpdump -r tcpdump.log : 저장한 파일을 읽음 | |||
* 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 가 아닌 패킷 덤프 |
Revision as of 19:36, 26 December 2020
- 네트워크 인터페이스를 거치는 패킷을 캡쳐해주는 도구(패킷 스니퍼)
사용법
# 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 -w tcpdump.log : 결과를 파일로 저장, txt 가 아닌 bin 형식으로 저장됨
- tcpdump -r tcpdump.log : 저장한 파일을 읽음
- 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 가 아닌 패킷 덤프