Wireshark을 별다른 설정 없이 기본값으로 실행시켰을 때 가장 문제가 될 수 있는 것은, 화면에 너무 많은 정보들이 나타나서 원하는 정보를 찾기가 쉽지 않다는데 있습니다.
과유불급.
이것이 바로 필터가 중요한 이유입니다. 필터는 방대한 로그 중에서 원하는 데이터를 찾는데 도움을 줄 것입니다.
- - |
로그에 기록되는 데이터를 선택하기 위해 사용합니다. 이 필터는 캡쳐가 시작되기 전에 정의됩니다. 캡쳐된 로그에서 데이터를 찾을 때 사용합니다. 데이터가 캡쳐되는 동안 수정할 수 있습니다. |
이 두 가지 필터의 목적은 서로 다릅니다.
capture 필터는 로그의 사이즈가 불필요하게 커지는 것을 막기 위해 사용됩니다.
display 필터는 capture 필터 보다 더 강력(그리고 복잡)합니다 ; 이 필터는 원하는 데이터를 정확하게 검색할 수 있게 해줍니다.
두 가지 필터의 구문(syntax)은 완전히 다릅니다. 이어지는 페이지에서 이것들에 대해 보여드리겠습니다.
1. CAPTURE FILTERS 2. DISPLAY FILTERS
1. CAPTURE FILTERS
capture 필터의 구문은 TCPdump처럼 Lipcap(Linux)이나 Winpcap(Windows) 라이브러리를 사용하는 프로그램에서 쓰는 것과 같습니다. Capture 필터는 캡쳐 도중 아무 때나 수정이 가능한 display 필터와는 다르게, 반드시 캡쳐를 시작하기 전에 설정을 해주어야 합니다.
capture 필터를 설정하는 방법은 다음과 같습니다:
- capture -> options 을 선택합니다.
- "capture filter" 칸에 직접 작성하거나, 다음 번 캡쳐에 다시 사용할 수 있는 필터 이름을 부여하기 위해 "capture filter" 버튼을 클릭합니다.
- 데이터를 캡쳐하기 위해 Start버튼을 클릭합니다.
Syntax: |
|
|
|
|
|
| ||||||
Example: |
|
|
|
|
|
|
사용 가능한 값: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
프로토콜을 지정하지 않으면 모든 프로토콜을 사용합니다.
Direction:
사용 가능한 값: src, dst, src and dst, src or dst
출발지나 목적지를 지정하지 않으면 "src or dst" 키워드가 사용됩니다.
예를 들어, "host 10.2.2.2"은 "src or dst host 10.2.2.2"과 동일합니다.
Host(s):
사용 가능한 값: net, port, host, portrange.
호스트를 지정하지 않으면 "host" 키워드가 사용됩니다.
예를 들어, "src 10.1.1.1"은 "src host 10.1.1.1"과 같은 의미입니다.
Logical Operations:
사용 가능한 값: not, and, or.
부정 연산("not")이 가장 높은 우선순위를 갖습니다. 논리합("or")과 논리곱("and")는 같은 우선순위를 가지며 왼쪽에서 오른쪽으로 처리됩니다.
예를 들어,
"not tcp port 3128 and tcp port 23"은 "(not tcp port 3128) and tcp port 23"과 동일하게 작용합니다.
"not tcp port 3128 and tcp port 23" 은 "not (tcp port 3128 and tcp port 23)"과는 동일하지 않습니다.
사용 예:
tcp dst port 3128 |
ip src host 10.1.1.1 |
host 10.1.2.3 |
src portrange 2000-2500 |
not imcp |
src host 10.7.2.12 and not dst net 10.200.0.0/16 |
(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8 |
참고:
"\" 기호는 키워드 자체가 값을 나타낼 때 사용합니다.
"ether proto \ip"( \ip는 "ip"과 동일합니다.)
이것은 IP 프로토콜을 타켓으로 하게 됩니다.
"ip proto \icmp"(\icmp는 "icmp"과 동일합니다.)
이것은 일반적으로 ping 유틸리티에서 사용되는 icmp 패킷을 타켓으로 하게 됩니다.
"multicast"와 "broadcast" 키워드는 "ip" 나 "ether" 다음에 사용할 수 있습니다.
"no broadcast"는 broadcast 요청을 제외하고 싶을 때 유용하게 사용할 수 있습니다.
capture 필터의 구문에 대한 정보가 필요하시면 TCPdump man page을 참고하세요.
Other capture filters examples can be found in the Wiki Wireshark website.
페이지 처음으로
2. DISPLAY FILTERS:
display 필터는 캡쳐된 데이터에서 원하는 정보를 찾을 때 사용합니다.
display 필터의 검색 능력은 capture 필터 보다 더 뛰어납니다. 그리고 필터의 내용을 바꾸고 싶을 때 캡쳐 작업을 다시 시작하지 않아도 됩니다.
Syntax: | Protocol | . |
|
. |
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
OSI layer 2에서 layer 7 사이에 있는 매우 다양한 프로토콜을 사용 할 수 있습니다. 그것들은 메인 화면에 보이는 "Expression..." 버튼을 클릭하면 볼 수 있습니다.
아래에 보이는 그림에서 간단한 설명과 함께 지원 가능한 프로토콜들을 확인 할 수 있습니다:
Wireshark 웹사이트에서 프로토콜과 그것의 하위 카테고리에 대한 설명을 제공하고 있습니다.]
String1, String2 (선택 사항)
각 프로토콜의 하위 프로토콜 카테고리.
그것을 보기 위해서, 프로토콜을 선택한 뒤 "+" 표시를 클릭하세요.
비교 연산자:
6개의 비교 연산자를 사용 할 수 있습니다:
영문 표기: | C언어 표기: | 의미: |
|
|
같다 |
|
|
틀리다 |
|
|
크다 |
|
|
작다 |
|
|
크거나 같다 |
|
|
작거나 같다 |
영문 표기: | C언어 표기: | 의미: |
|
|
논리곱 |
|
|
논리합 |
|
|
배타적 논리합 |
|
|
부정 |
다음의 display 필터를 이용하여 예시를 보여드리겠습니다:
"tcp.dstport 80 xor tcp.dstport 1025"
목적지가 TCP 포트 80이거나 출발지가 TCP 포트 1025인 (두 가지 모두인 경우는 제외하고) 패킷이 결과로 화면에 나타납니다.
사용 예:
snmp || dns || icmp | SNMP 혹은 DNS 혹은 ICMP 트래픽을 보여줍니다. |
ip.addr == 10.1.1.1 |
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 |
다른 말로 하자면, 화면에 보여지는 패킷은 다음과 같을 것입니다:
출발지 IP 주소 : 10.1.2.3이 아닌 모든 주소, 목적지 IP 주소 : 10.1.2.3이 아닌 모든 주소
그리고
출발지 IP 주소 : 모든 주소, 목적지 IP 주소 : 10.4.5.6이 아닌 모든 주소
ip.src != 10.1.2.3 and ip.dst != 10.4.5.6 |
다른 말로 하자면, 화면에 보여지는 패킷은 다음과 같을 것입니다:
출발지 IP 주소 : 10.1.2.3이 아닌 모든 주소, 그리고 목적지 IP 주소 : 10.4.5.6이 아닌 모든 주소
tcp.port == 25 | 출발지와 목적지의 TCP 포트가 25인 패킷을 보여줍니다. |
tcp.dstport == 25 | 목적지의 TCP 포트가 25인 패킷을 보여줍니다. |
tcp.flags | TCP 플래그를 가지고 있는 패킷을 보여줍니다. |
tcp.flags.syn == 0x02 | TCP SYN 플래그를 가지고 있는 패킷을 보여줍니다. |
올바른 구문 | |
잘못된 구문 |
'IT, PC > WireShark' 카테고리의 다른 글
Wireshark Display filter 조건들 (0) | 2011.02.17 |
---|---|
Wireshark Capture Filtering 방법 (0) | 2011.02.16 |
Wireshark 창에서 직접 Display Filtering 방법 (0) | 2011.02.16 |
패킷을 훔쳐보자 WireShark packet sniffing tool (0) | 2011.01.28 |
댓글