ARP
- 프로토콜
- 불필요한 ARP, ARP요청, ARP응답을 포함한 모든 ARP트래픽을 디스플레이
IP
- 프로토콜
- IPv4 헤더가 내장된 패킷을 포함하는 모든 IPv4 트래픽(ICMP 헤더 다음에 들어오는 IPv4 헤더를 리턴하는 ICMP 목적지 도달 불가 패킷 같은)을 디스플레이함
IPv6
- 프로토콜
- 6to4, Teredo, ISATAP 트래픽 같이 내장된 IPv6 헤더를 갖는 IPv4 패킷을 포함하는 모든 IPv6 트래픽을 디스플레이
TCP
- 프로토콜
- TCP 기반의 모든 통신을 디스플레이
BOOTP
- 어플리케이션
- 모든 DHCP트래픽(Bootp 기반의)을 디스플레이
DNS
- 어플리케이션
- TCP기반의 영역(Zone) 전달과 표준 UDP 기반의 DNS요청과 응답을 포함하는 모든 DNS트래픽을 디스플레이
TFTP
- 어플리케이션
- 모든 TFTP(Trivial File Transfer Protocol) 트래픽을 디스플레이
HTTP
- 어플리케이션
- 모든 HTTP 명령어, 응답과 데이터 전달 패킷을 디스플레이하지만, TCP Handshake Packet, TCP ACK Packet, TCP 연결 해제 패킷은 디스플레이 하지 않음
ICMP
- 어플리케이션
- 모든 ICMP트래픽을 디스플레이
Field Existence
- bootp.option.hostname
- 호스트 이름(DHCP는 Bootp를 기반으로 한다)을 포함하는 모든 DHCP 트래픽을 디스플레이
Field Existence
- http.host
- HTTP 호스트 이름 필드를 가진 모든 HTTP 패킷을 디스플레이.
- 이 패킷은 클라이언트가 웹서버에게 요청을 할 때 보냄.
Field Existence
- ftp.request.command
- USER, PASS, RETR 명령어 같은 명령어를 포함하는 모든 FTP 트래픽을 디스플레이
Characteristic
- tcp.analysis.flags
- TCP 분석 플래그와 관련이 있는 모든 패킷을 디스플레이
- 이것은 패킷 손실 표시, 재전송, Zero 윈도우 조건을 포함
Characteristic
- tcp.analysis_zero_window
- 송신자가 수신 버퍼 공간이 소진됐다고 플래그된 패킷을 다시 디스플레이
디스플레이 필터와 연산자 비교
1) ip.src == 10.2.2.2
- 10.2.2.2에서의 모든 IPv4 트래픽
2) tcp.srcport != 80
- Port 80이 아닌 다른 포트의 모든 TCP트래픽
3) frame.time_relative > 1
- 추적 파일에서 이전 패킷 이후에 1초 이상 지나서 도착한 패킷
4) tcp.window_size < 1460
- TCP 수신 윈도우 크기가 1460Byte보다 적을 때
5) dns.count.answers >= 10
- 최소한 10개의 응답을 포함하는 DNS 응답패킷
6) ip.ttl < 10
- ip time to live 필드가 10보다 적은 패킷
7) http contains "GET"
- HTTP서버에게 보낸 HTTP 클라이언트 GET요청을 모두 디스플레이
주소 범위 트래픽 필터링
1) ip.addr > 10.3.0.1 && ip.addr < 10.3.0.5
- 10.30.0.2~4 의 트래픽 확인
2) (ip.addr >= 10.3.0.1 && ip.addr <= 10.3.0.6) && !ip.addr == 10.3.0.3
- 10.3.0.1~5 나 10.3.0.6으로부터 트래픽 학인 10.3.0.3은 배제
서브넷 트래픽 필터링
1) ip.addr == 10.3.0.0/16
- 10.3.0.0/16대역 트래픽 확인
2) ip.addr == 10.3.0.0/16 && !ip.addr == 10.3.1.1
- 발신지 IP주소 필드나 목적지 IP주소 필드가 10.3.x.x로 시작하지만 10.3.1.1을 제외한 주소에 대해 트래픽 확인
3) !ip.addr == 10.3.0.0/16 && !ip.addr == 10.2.0.0/16
- 발신지 IP주소 필드나 목적지 IP주소 필드가 10.3.x.x 와 10.2.x 대역 제외한 모든 트래픽 확인
패킷 안 필드를 이용한 필터링
1) tcp.request.uri == "/"
2) (not http.request.uri == "/") && (http.request.method == "GET")
3) http.request.uri == "/prod/scripts/mbox.js"
4) http.request.uri contains "jpg"
Request Method : GET | Select
- http.request.method == "GET"
- 현재 필터를 대체하고 GET요청을 포함한 HTTP Packet 모두 출력
Request Method : GET | Not Select
- !(http.request.method == "GET")
- 현재 필터를 대체하고 GET 요청을 포함하는 HTTP 패킷을 제외한 패킷을 모두 출력
Request Method : GET | and Selected
- (tcp.port == 80) && (http.request.method == "GET")
- HTTP GET request method를 포함하는 포트 80으로부터 모든 패킷을 출력
Request Method : GET | or Select
- (tcp.port == 80 || (http.request.method == "GET")
- GET Request Method를 포함하는 HTTP 패킷과 포트 80으로부터 모든 패킷을 출력
Request Method : GET | and Not Selected
- (tcp.port == 80) && !(http.request.method == "GET")
- Port 80으로부터 모든 트래픽은 볼 수 있지만 GET Request Method를 포함하는 HTTP 트래픽은 출력 제외
IP Source Address 10.2.2.2 | ore Not Selected
- (tcp.port == 80) || !(ip.src == 10.2.2.2)
- 포트 80dmfhqnxj ahems xmfovlrrhk 10.2.2.2에서가 아닌 트래픽을 확인
※ ARP트래픽이나 DNS트래픽을 보지 않으려면 or Not Selected 옵션을 사용 => !arp || !dns
이 필터는 아무것도 하지 않음.
(dns.flags.rcode == 3) || (http.response.cod ==404)
다중 포함/배제 조건으로 디스플레이 확장
1) && --> and
- ip.src == 10.2.2.2 && tcp.port ==80
- 10.2.2.2와 Port 80에서 양방향 트래픽 출력
2) || --> or
- tcp.port ==80 || tcp.port == 443
- 80과 443에 대한 양방향 tcp 트래픽 확인
3) ! --> not
- !arp
- ARP 를 제외한 모든 값 출력
4) !== --> ne
- tcp.flags.syn !=1
- tcp syn 플래그 순서 번호를 일치 시키고 1로 설정된 플래그가 아닌 tcp 프레임 출력
'IT-도서 정리 > 와이어샤크 개론' 카테고리의 다른 글
Time 칼럼을 구성해 지연 문제점 찾아내기 (0) | 2020.02.16 |
---|