-
tcpdump의 사용법을 알아본다.
1. tcpdump
tcpdump [option] [조건]
네트워크 인터페이스에서 트래픽 데이터를 취득할 때 사용한다.
패킷 내용도 확인할 수 있기 때문에 telnet 명령어처럼 평문으로 통신하는 명령어라면 로그인 암호, 실행한 명령어, 결과 등이 네트워크에 그대로 노출 될 수 있다.
1.1 주요 옵션
-c count : count개 패킷을 취득하고 종료한다.
-F file : 패킷 필터링 조건을 file파일에서 읽는다.
-i if : 인터페이스 if를 지정한다.
-n : IP 주소/포트 번호를 호스트명/서비스명으로 변환하지 않는다.
-N : 호스트명 중에 도메인명을 표시하지 않는다.
-q : 일부 정보를 제외한 형식으로 표시한다.
-r wfile : 패킷을 wfile에서 읽는다. wfile에 -를 지정하면 표준 입력에서 패킷을 읽는다.
-T type : 취득한 패킷을 패킷 종류 type으로 해석한다. type 에는 cnfp, rpc, rtp, rtcp, snmp, vat, wb 등이 존재한다.
-v : 상세 정보를 표시한다.
-vv : -v 보다 더 상세 정보를 표시한다.
-vvv: -vv보다 더 상세 정보를 표시한다.
-w wfile : 수신한 패킷을 wfile 파일로 저장한다.
1.2 조건
패킷 취득 조건을 지정한다.
'형식 패킷진행방향 프로토콜' 순서로 지정한다. 여러 조건을 조합할 수도 있다.
형식명
host host - 호스트명 또는 IP 주소 host
-> host example.com , host 10.0.0.10
net net [mask mask] - 네트워크 주소 net, 서브넷 마스크 mask
-> net 10.0.0.0, net 10.2.0.0 mask 255.255.240.0
port prt - 포트 번호 또는 서비스명 port
-> port 21, port ftp
패킷 진행 방향
src type - 패킷 발신지 형식 type
dst type - 패킷 도착지 형식 type
논리 연산자
and, or, nmor
프로토콜
ether (이더넷), ip(IPv4), ip6(IPv6), arp, tcp, udp, icmp, icmp6
사용 예
tcpdump port 21 and src host ftp.example.com
-> 원격 호스트 ftp.example.com 에서 로컬 호스트 21번 포트로 보내는 패킷을 취득한다.
tcpdump -w tcmpdump.log
-> 취득한 패킷 정보를 tcpdump.log 에 저장한다.
'Linux' 카테고리의 다른 글
셸스크립트 - 파일 데이터 값 평균 내기 (0) 2023.01.06 mount, fsck (0) 2023.01.06 ss, netstat (0) 2023.01.02 dig, nslookup (2) 2023.01.01 traceroute(tracepath) (0) 2022.12.31