티스토리 뷰
참조 : Instant Traffic Analysis with Tshark How-to
캡쳐할 인터페이스 확인하기(-D)
# tshark -D
윈도우에서도 동일하게 명령어가 적용된다.
캡처할 때 인터페이스 앞에 있는 번호를 사용해도 되고, 뒤에 인터페이스명을 사용해도 된다.
그런데 윈도오는 인터페이스가 길게 나오기 때문에 번호를 사용하는게 더 수월할 것 같다.
패킷 캡처 필터 사용하기(-f)
패킷 캡처 필터는 어떤 패킷을 캡처할 것인지 지정하는 것이다. 인터페이스에 들어오는 모든 패킷을 덤프하면 컨텍스트 전환 때문에 CPU에 부하를 주게 된다. 그래서 보고자 하는 패킷만 캡처하면 시스템에 부하를 줄여줄 수 있다.
캡처 필터는 BFP(Berkeley Packet Filter)를 사용한다. 즉, tcpdump에서 사용한 필터를 입력하면 된다.
# tshark -nni eth0 -f 'tcp port 80' --> 80/tcp 패킷만 캡처한다.
# tshark -nni eth0 -f 'icmp' --> ICMP 패킷만 캡처한다.
tshark(wireshark) 자체 필터 사용하기(-R)
위에서 사용한 패킷 캡처 필터와는 다른 것이다.
패킷필터는 dumpcap에서 처리할 패킷을 설정하는 것이고, tshark 필터는 dumpcap에서 처리된 패킷 중에서 보고자 하는 패킷만을 보고 싶을 때 쓰는 것이다.
즉, 캡처되고 있는 패킷 중에서 보고자 하는 것을 선별해서 보는 것이다.
# tshark -nni eth0 -R "tcp.port eq 80" --> 80/tcp 패킷만 보여준다.
'tcp.port'는 tshark에서 지원하는 필터값이다. TCP 헤더 내 포트를 확인하는 필터이다.
원하는 필터는 -G 옵션을 사용해서 확인 할 수 있다.
# tshark -G | cut -f3 | grep '^tcp'
-G 옵션을 모든 필터를 다 보여준다.
cut을 사용해서 3번째 컬럼에 오는 것만 따로 볼 수 있다.(awk를 사용해서 볼 수도 있으나 cut이 간단해서 cut을 사용한다.
grep을 통해서 tcp로 시작(^)하는 값을 보여주게 한다.
tshark 필터는 위헤서 처럼 단순 포트를 구분해서 보기보다는 어플리케이션단에 들어있는 값을 필터값으로 사용할 때 많이 쓴다.
# tshark -nni eth0 -R "tcp.request.method eq GET"
-->웹페이지 요청할 때 GET method를 사용하는 패킷을 확인
이처럼 어플래케이션단을 확인할 때 유용하다.
'eq' 외에서 matches, contains 등도 사용가능하다.
'contains'는 옵션 없이 사용하는 grep 명령어라고 볼 수 있다.
'matches'는 정규표현식이 사용가능하다. 예를 들어 exploit을 시도하는 패킷을 확인하고자 할 때는 아래와 같이 사용할수 있다.
# tshark -nni eth0 -R 'tcp matches "([\x41-\x5A,\x90])\\1{200,}"' -q
-->TCP 패킷 내에서 연속된 문자열과 Null 문자가 포함된 패킷을 확인할 수 있다.
앞으로도 계속 보겠지만 필터에서 값을 구분할 때는 우선 "(double quote)를 먼저 사용해보고 에러가 뜨는 '(single quote)를 사용하자. 윈도우에서 값 구분을 '(single quote)로 하면 syntax error가 뜬다.
몇 번해보면 그 때 상황에 맞추어서 사용할 수 있을 것이다.
추가로 필터를 여러가 사용하고자 하면 '&&(and)' 나 '||(or)'를 사용해서 여러개의 필터를 줄 수 있다.
출력하는 열의 이름과 형식 지정하기(-o)
출력 방식 지정하기(-T, -e, -E)
파일로 캡처하기(-w, -b)
실시간으로 캡처하면서 볼 수도 있지만 파일로 저장해서 봐야 할 때도 있다.
그 때는 -w <filename>을 사용해서 파일로 저장할 수 있다.
# tshark -nni eth0 -w test.pcap
위에서처럼 저장하면 test.pcap 파일 안에만 저장하게 된다.
오래 동안 캡처 후 저장하면 파일 사이즈가 커지게 되고 나중에 분석할 때 시간이 오래 걸리게 되기 때문에 저장할 때 파일사이즈나 시간을 주어서 여러 개 파일로 저장할 수 있다.
-b filesize:1024 --> 1024kbytes 단위로 파일을 생성한다.
-b files:5 ->ring buffer를 사용하는 것으로 파일 5개 안에서 가장 오래된 것을 삭제하면서 순환되어 저장된다.
-b duration:10 --> 10초 단위로 파일에 저장한다.
일반적으로는 파일 사이즈로 나누어서 저장할 것이다. 추가로 ring buffer도..
# tshark -nni eth0 -w test.pcap -b filesize:1024
-->1M(1024k) 단위로 파일을 생성해서 저장
# tshark -nni eth0 -w test.pcap -b duration:10
--> 10초 단위로 파일을 생성해서 저장
# tshark -nni eth0 -w test.pcap -b filesize:1024 -b files:5
--> 5개의 파일을 순환하면서 저장, 각 파일 사이즈는 1M
캡처한 파일 불러오기(-r)
# tshark -r test.pcap
파일을 불러올 때 tshark 필터를 같이 사용하면 보다 쉽게 패킷을 구분해서 볼 수 있다.
저장된 패킷 덤프에서 특정 패킷만 따로 저장하기
# tshark -r test.pcap -R "tcp.port eq 80" -w test_80.pcap
--> test.pcap 에서 80/tcp 패킷만 test_80.pcap 파일에 저장
'Study > Network' 카테고리의 다른 글
mergecap으로 pcap 파일 결합하기 (0) | 2014.04.16 |
---|---|
PCAP File Signature (0) | 2014.04.09 |
대용량 패킷 분석 #3 - tshark 통계 생성 (0) | 2014.02.10 |
tshark man page (0) | 2014.02.10 |
대용량 패킷 분석 #2 - capinfos (0) | 2014.02.10 |
- Total
- Today
- Yesterday
- editcap
- bash modification
- docker
- 리눅스 버전
- capinfos
- 윈도우 패스워드 복구
- dvwa_bruteforce
- excel_aton
- bash parameter
- megacli
- filesystem check
- tshark
- docker_dvwa
- recovery file on linux
- oracle 11gr2
- metasploitable3
- webhack
- ${1##*.}
- MySQL csv
- history timestamp
- tcpdstat
- dvwa_command
- text2pcap
- cisco ssh
- ssl decrypt
- dvwa
- mergecap
- NX ASLR
- pcapng
- 도커
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |