WIRESHARK - μ‰½κ²Œ λ”°λΌν•˜λŠ” νŠœν† λ¦¬μ–Ό - ν•„ν„°

Wireshark ν•„ν„°
μ΅œμ’… μ—…λ°μ΄νŠΈ: Feb 04 2008




Tool
Tutorial
Ergonomy
Forum



μ„ΈλΆ€λ‚΄μš© Wiresharkλž€ 무엇인가?
μŠ€ν¬λ¦°μƒ·
쀀비사항
μ„€μΉ˜
Wireshark μ‹€ν–‰
ν”Œλž«νΌ
ν•„ν„°
톡계

Korean translation by JaeYoung Jeon.



⚠️⚠️⚠️
Please check our website about
attractions in Western Switzerland !! (Please use english translation).

⚠️⚠️⚠️
Merci de consulter notre site sur les
activitΓ©s Γ  faire en Suisse romande !!


첫 νŠœν† λ¦¬μ–Όμ—μ„œ λ³΄μ•˜λ“―μ΄ Wireshark을 μ„€μΉ˜ν•˜κ³  λ„€νŠΈμ›Œν¬ 정보λ₯Ό λΆ„μ„ν•˜λŠ” 것은 맀우 μ‰½μŠ΅λ‹ˆλ‹€.

Wireshark을 별닀λ₯Έ μ„€μ • 없이 κΈ°λ³Έκ°’μœΌλ‘œ μ‹€ν–‰μ‹œμΌ°μ„ λ•Œ κ°€μž₯ λ¬Έμ œκ°€ 될 수 μžˆλŠ” 것은, 화면에 λ„ˆλ¬΄ λ§Žμ€ 정보듀이 λ‚˜νƒ€λ‚˜μ„œ μ›ν•˜λŠ” 정보λ₯Ό μ°ΎκΈ°κ°€ 쉽지 μ•Šλ‹€λŠ”λ° μžˆμŠ΅λ‹ˆλ‹€.
κ³Όμœ λΆˆκΈ‰.

이것이 λ°”λ‘œ ν•„ν„°κ°€ μ€‘μš”ν•œ μ΄μœ μž…λ‹ˆλ‹€. ν•„ν„°λŠ” λ°©λŒ€ν•œ 둜그 μ€‘μ—μ„œ μ›ν•˜λŠ” 데이터λ₯Ό μ°ΎλŠ”λ° 도움을 쀄 κ²ƒμž…λ‹ˆλ‹€.

-

-
 
λ‘œκ·Έμ— κΈ°λ‘λ˜λŠ” 데이터λ₯Ό μ„ νƒν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•©λ‹ˆλ‹€. 이 ν•„ν„°λŠ” 캑쳐가 μ‹œμž‘λ˜κΈ° 전에 μ •μ˜λ©λ‹ˆλ‹€.
캑쳐된 λ‘œκ·Έμ—μ„œ 데이터λ₯Ό 찾을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. 데이터가 μΊ‘μ³λ˜λŠ” λ™μ•ˆ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
capture ν•„ν„°λ‚˜ display ν•„ν„°λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μ„κΉŒμš”?

이 두 가지 ν•„ν„°μ˜ λͺ©μ μ€ μ„œλ‘œ λ‹€λ¦…λ‹ˆλ‹€.
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λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€.

wireshark capture options

wireshark capture options

Syntax:
Protocol
Direction
Host(s)
Value
Logical Operations
Other expression
Example:
tcp
dst
10.1.1.1
80
and
tcp dst 10.2.2.2 3128
Protocol:
μ‚¬μš© κ°€λŠ₯ν•œ κ°’: 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
λͺ©μ μ§€κ°€ TCP 포트 3128인 νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.

ip src host 10.1.1.1
μΆœλ°œμ§€ IP μ£Όμ†Œκ°€ 10.1.1.1인 νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.

host 10.1.2.3
μΆœλ°œμ§€μ™€ λͺ©μ μ§€ IP μ£Όμ†Œκ°€ 10.1.1.1인 νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.

src portrange 2000-2500
μΆœλ°œμ§€μ˜ UDP, TCP ν¬νŠΈκ°€ 2000-2500 사이인 νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.

not imcp
icmp νŒ¨ν‚·μ„ μ œμ™Έν•œ λͺ¨λ“  νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€. (icmpλŠ” 보톡 ping ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€.)

src host 10.7.2.12 and not dst net 10.200.0.0/16
μΆœλ°œμ§€ IP μ£Όμ†Œκ°€ 10.7.2.12μ΄λ©΄μ„œ, λͺ©μ μ§€ IP λ„€νŠΈμ›Œν¬κ°€ 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
μΆœλ°œμ§€ IP μ£Όμ†Œκ°€ 10.4.1.12μ΄κ±°λ‚˜, μΆœλ°œμ§€ λ„€νŠΈμ›Œν¬κ°€ 10.6.0.0/16인 νŒ¨ν‚·μ€‘μ—μ„œ λͺ©μ μ§€ TCP 포트 λ²”μœ„κ°€ 200-10000μ΄λ©΄μ„œ, λͺ©μ μ§€ IP λ„€νŠΈμ›Œν¬κ°€ 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.
String 1
.
String 2
Comparison operator
Value
Logical Operations
Other expression
Example:
ftp
passive
ip
==
10.2.3.4
xor
icmp.type
Protocol:

OSI layer 2μ—μ„œ layer 7 사이에 μžˆλŠ” 맀우 λ‹€μ–‘ν•œ ν”„λ‘œν† μ½œμ„ μ‚¬μš© ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 그것듀은 메인 화면에 λ³΄μ΄λŠ” "Expression..." λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

wireshark filter expression

wireshark filter expression

μ•„λž˜μ— λ³΄μ΄λŠ” κ·Έλ¦Όμ—μ„œ κ°„λ‹¨ν•œ μ„€λͺ…κ³Ό ν•¨κ»˜ 지원 κ°€λŠ₯ν•œ ν”„λ‘œν† μ½œλ“€μ„ 확인 ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

wireshark supported protocols

wireshark supported protocols

Wireshark μ›Ήμ‚¬μ΄νŠΈμ—μ„œ ν”„λ‘œν† μ½œκ³Ό κ·Έκ²ƒμ˜ ν•˜μœ„ μΉ΄ν…Œκ³ λ¦¬μ— λŒ€ν•œ μ„€λͺ…을 μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.]

String1, String2 (선택 사항)

각 ν”„λ‘œν† μ½œμ˜ ν•˜μœ„ ν”„λ‘œν† μ½œ μΉ΄ν…Œκ³ λ¦¬.
그것을 보기 μœ„ν•΄μ„œ, ν”„λ‘œν† μ½œμ„ μ„ νƒν•œ λ’€ "+" ν‘œμ‹œλ₯Ό ν΄λ¦­ν•˜μ„Έμš”.

wireshark filter expression

비ꡐ μ—°μ‚°μž:

6개의 비ꡐ μ—°μ‚°μžλ₯Ό μ‚¬μš© ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

영문 ν‘œκΈ°:  Cμ–Έμ–΄ ν‘œκΈ°:  의미:
eq 
== 
κ°™λ‹€
ne
!=
틀리닀
gt
>
크닀
lt
<
μž‘λ‹€
ge
>=
ν¬κ±°λ‚˜ κ°™λ‹€
le
<=
μž‘κ±°λ‚˜ κ°™λ‹€
논리 ν‘œν˜„ 식:

영문 ν‘œκΈ°:  Cμ–Έμ–΄ ν‘œκΈ°:  의미:
and
&&
논리곱
or
||
논리합
xor
^^
배타적 논리합
not
!
λΆ€μ •
ν”„λ‘œκ·Έλž˜λ¨Έλ“€μ΄ 잘 μ•„λŠ” "XOR"은 배타적 논리합 μ—°μ‚°μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€. 두 가지 쑰건 μ‚¬μ΄μ—μ„œ μ‚¬μš©λ˜μ—ˆμ„ λ•Œ, 두 가지 쑰건 쀑 였직 ν•œκ°€μ§€λ§Œ λ§Œμ‘±ν–ˆμ„ λ•Œ κ²°κ³Ό 화면에 λ³΄μ—¬μ§‘λ‹ˆλ‹€.
λ‹€μŒμ˜ display ν•„ν„°λ₯Ό μ΄μš©ν•˜μ—¬ μ˜ˆμ‹œλ₯Ό λ³΄μ—¬λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€:
"tcp.dstport 80 xor tcp.dstport 1025"
λͺ©μ μ§€κ°€ TCP 포트 80μ΄κ±°λ‚˜ μΆœλ°œμ§€κ°€ TCP 포트 1025인 (두 가지 λͺ¨λ‘μΈ κ²½μš°λŠ” μ œμ™Έν•˜κ³ ) νŒ¨ν‚·μ΄ 결과둜 화면에 λ‚˜νƒ€λ‚©λ‹ˆλ‹€.



μ‚¬μš© 예:

snmp || dns || icmpSNMP ν˜Ήμ€ DNS ν˜Ήμ€ ICMP νŠΈλž˜ν”½μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.
ip.addr == 10.1.1.1
μΆœλ°œμ§€λ‚˜ λͺ©μ μ§€μ˜ IP μ£Όμ†Œκ°€ 10.1.1.1인 νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
μΆœλ°œμ§€μ˜ IP μ£Όμ†Œκ°€ 10.1.2.3이 μ•„λ‹ˆκ±°λ‚˜ λͺ©μ μ§€μ˜ IP μ£Όμ†Œκ°€ 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이 μ•„λ‹Œ νŒ¨ν‚·μ„ 화면에 λ³΄μ—¬μ€λ‹ˆλ‹€.
λ‹€λ₯Έ 말둜 ν•˜μžλ©΄, 화면에 λ³΄μ—¬μ§€λŠ” νŒ¨ν‚·μ€ λ‹€μŒκ³Ό 같을 κ²ƒμž…λ‹ˆλ‹€:
μΆœλ°œμ§€ IP μ£Όμ†Œ : 10.1.2.3이 μ•„λ‹Œ λͺ¨λ“  μ£Όμ†Œ, 그리고 λͺ©μ μ§€ IP μ£Όμ†Œ : 10.4.5.6이 μ•„λ‹Œ λͺ¨λ“  μ£Όμ†Œ

tcp.port == 25 μΆœλ°œμ§€μ™€ λͺ©μ μ§€μ˜ TCP ν¬νŠΈκ°€ 25인 νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.
tcp.dstport == 25λͺ©μ μ§€μ˜ TCP ν¬νŠΈκ°€ 25인 νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.
tcp.flagsTCP ν”Œλž˜κ·Έλ₯Ό 가지고 μžˆλŠ” νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.
tcp.flags.syn == 0x02TCP SYN ν”Œλž˜κ·Έλ₯Ό 가지고 μžˆλŠ” νŒ¨ν‚·μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.
ν•„ν„° ꡬ문에 λ¬Έμ œκ°€ μ—†λ‹€λ©΄, λ…Ήμƒ‰μœΌλ‘œ ν•˜μ΄λΌμ΄νŠΈ 될 것이며, 잘λͺ»λλ‹€λ©΄ λΆ‰μ€μƒ‰μœΌλ‘œ ν•˜μ΄λΌμ΄νŠΈ 될 κ²ƒμž…λ‹ˆλ‹€.

wireshark display filter exampleμ˜¬λ°”λ₯Έ ꡬ문
wireshark display filter example 잘λͺ»λœ ꡬ문
display 필터에 λŒ€ν•œ μΆ”κ°€ μ •λ³΄λŠ” Wireshark official websiteλ‚˜ Wiki Wireshark websiteμ—μ„œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.


νŽ˜μ΄μ§€ 처음으둜