[리눅스] tcpdump 사용법

반응형

tcpdump 명령어

개념

- 일반적으로 서버에서 네트워크로 송수신되는 패킷들의 헤더를 캡처하여 보여주는 툴

- 윈도우에서 사용되는 wireshark(와이어 샤크)와 비슷한 기능

- tcpdump로 캡처한 패킷들을 파일로 저장 후 wireshark로 분석 가능

- command Line에서 실행 후 바로 보거나 또는 txt 파일로도 저장 가능

 

사용 예시 (1)

# tcpdump -i eth0 // 인터페이스 eth0 보기
# tcpdump -w tcpdump.log // bin 형태의 파일로 결과 저장 (읽을 땐 -r 옵션)
# tcpdump -r tcpdump.log // bin 형태 파일 읽기
# tcpdump -i eth0 -c 5 // 5줄만 보여줌 (카운터)
# tcpdump -i eth0 tcp port 8080 // tcp 8080 port 통신 패킷 보기
# tcpdump -i eth0 src 192.168.0.15 // source ip가 192.168.0.15인 패킷 보기
# tcpdump -i eth0 dst 192.168.0.20 // destination ip가 192.168.0.20인 패킷 보기
# tcpdump net 192.168.100.1/24 // CIDR 포맷 형태로도 가능
# tcpdump tcp // tcp만
# tcpdump udp // udp만
# tcpdump port 3389 // port 3389인 양방향 패킷 보기
# tcpdump src port 3389 // src port 3389 패킷 보기
# tcpdump dst port 3389 // dst port 3389 패킷 보기
# tcpdump host 10.10.0.15 // host(10.10.0.15) ip의 양방향 패킷 보기

 

사용 예시 (2)

and, or 옵션으로 여러가지 조건 조합 가

# tcpdump -i eth0 src 10.10.0.100 and tcp port 8080 // src ip가 10.10.0.100이면서 tcp port 8080인 패킷 보기
# tcpdump -w tcpdump.log -i eth0 dst 10.10.0.100 and udp port 123 // dst ip가 10.10.0.100인 곳으로 udp port 123을 사용하는 패킷을 tcpdump.log 파일에 저장
# tcpdump udp and src port 53 // udp 이면서 src port가 53인 패킷 보기
# tcpdump src 10.10.0.100 and not dst port 22 // src ip가 10.10.0.100이지만 dst port가 22 가 아닌 패킷 보기
# tcpdump ‘src 10.10.0.100 and ( dst port 22 or 3389 )’ // src ip가 10.10.0.100이고 ( dst port가 22 또는 3389 )인 패킷 보기
※ () 괄호는 grouping 기능이며, 마지막 명령어에서는 ‘ ‘ 가 꼭 있어야 함

 

반응형

댓글

Designed by JB FACTORY