티스토리 뷰

1. 캡쳐 시작

당신이 Ethereal을 이용하여 패킷들을 캡쳐하는 방법은 2가지가 있다.


1) 아래와 같은 커맨드 라인 명령을 사용한다.

    ethereal -i eth0 -k

    이것은 인터페이스 eth0에 대한 Ethereal 캡쳐를 시작할 것이다.


2) Ethereal을 시작하고 Capture 메뉴의 Start... 를 선택함으로써(또는 "Main" 툴바에서 대응하는 아이템을 사용), 이것은 캡쳐 옵션들 다이얼로그

    박스를 호출한다.



2. "Caputre Options" 다이얼로그 박스

당신이 Capture 메뉴로부터 Start... 를 선택할때, Ethereal은 그림 4.1. "Capture Options" 다이얼로그 박스에서 보이는 것처럼 "Capture Options" 다이얼로그 박스를 팝업으로 띄운다.


그림 4.1. "Capture Options" 다이얼로그 박스

사용자 삽입 이미지


 팁!

만약 당신이 이 디이얼로그 박스에서 어떤 옵션들을 선택해야하는지 확신할 수 없다면, 많은 경우에 있어서 디폴트들이 잘 작동하기 때문에 단지 디폴트들을 유지하도록 시도하라.


당신은 이 다이얼로그 박스에서 다음의 필드들을 셋팅할 수 있다.


2.1. Capture 프레임

Interface

이 필드는 당신이 캡쳐하고자 하는 인터페이스를 명시한다. 당신은 단지 하나의 인터페이스를 캡쳐할 수 있고, 단지 Ethereal이 시스템에서 발견한 인터페이스들만 캡쳐할 수 있다. 이것은 드롭-다운 리스트이기 때문에, 간단하게 오른쪽의 버튼을 클릭하고 당신이 원하는 인터페이스를 선택하라. 캡쳐를 지원하는 첫번째 non-loopback 인터페이스가 디폴트이다. 그리고, 만약 한 개도 존재하지 않으면 loopback 인터페이스가 첫번째이다. 일부 시스템들에 대해서는, loopback 인터페이스들은 캡쳐하는데 사용될 수 없다.(loopback 인터페이스들은 윈도우 플랫폼들에서는 사용할 수 없다.)

이 필드는 커맨드 라인 옵션 -i <interrace>와 같은 기능을 수행한다.


Link-layer header type

만약 이것이 필요한 (보기 드문)상황이 아니라면, 단지 디폴트를 유지하라.

 

Buffer size: n megabyte(s)

캡쳐하는 동안 사용될 버퍼 크기를 입력하라. 이것은 캡쳐된 패킷들을 디스크에 기록하기 전까지 패킷들을 유지할 커널 버터의 크기이다. 만약 당신이 패킷 드롭들을 만나게되면, 이 값을 증가하는 것을 시도하라.

 주의

이 옵션은 단지 윈도우 플랫폼에서만 사용 가능하다.

 

Capture packets in promiscuous mode

이 체크박스는 당신이 Ethereal이 갭쳐할 때 무차별(promiscouous) 모드상에서 인터페이스를 두어야 한다는 것을 명기한다. 만약 당신이 이것을 명기하지 않으면, Ethereal은 단지 당신의 컴퓨터로부터 또는 당신의 컴퓨터로 가는 패킷들을 캡쳐할 것이다.(당신의 LAN 세그먼트상의 모든 패킷들이 아님)

 주의

만약 일부 다른 프로세스가 무차별 모드상에서 인터페이스를 둔다면, 만약 당신이 이 옵션을 꺼놓을지라도 당신은 무차별 모드상에서 캡쳐를 할 것이다.

 주의

무차별 모드상일지라도 여전히 당신의 LAN 세그먼트상의 모든 패킷들을 볼 필요가 없을 경우, 일부 더 많은 설명들을 위해서 http://www.ethereal.com/faq#promiscsniff를 보라

 

Limit each packet to n bytes

이 필드는 당신이 각 패킷에 대해서 캡쳐될 데이터의 최대량을 명기하는 것을 허락하고, 때때로 snaplen으로써 언급된다. 만약 활성화되지 않으면, 디폴트는 65535이고 이것은 대부분의 프로토콜들에 대해서 충분하다. 일부 규칙들은 아래와 같다.

   ㅇ 만약 당신이 확신이 없다면, 단지 디폴트 값을 유지하라.

   ㅇ 만약 당신이 패킷의 모든 데이터가 필요하지 않다면-예를들어, 만약 당신이 단지 link-layer, I

       P, TCP 헤더들만 필요하다면- 패킷들을 복사하기 위해서 요구되는 CPU 시간이 적으면 적을

      수록, 패킷들에 대한 버퍼 공간은 더 적게 요구되기 때문에 당신은 작은 단편 길이를 선택하기

      를 원할 것이다. 그리고 만약 트래픽이 아주 많다면, 아마 더 적은 패킷들이 드롭될 것이다

   ㅇ 만약 당신이 패킷안의 모든 데이터를 캡쳐하지 않는다면, 당신은 당신이 원하는 패킷 데이터가 떨어져나간 일부에 존재한다는 것이나 재집합을 위해서 필요한 데이터를 놓쳤기 때문에 재집합이 불가능하다는 것을 발견할 것이다.


Capture Filter

이 필드는 당신이 캡쳐 필터를 명기하는 것을 허락한다. 디폴트는 비어있거나 no filter이다.

또한 당신은 Capture Filter라고 라벨이된 버튼을 클릭할 수 있고, Ethereal은 Caputure Filters 다이얼로그 박스를 호출할 것이고, 당신이 필터를 생성하고(거나) 선택하는 것을 허락한다.


2.2. Capture File(s) 프레임

File

이 필드는 당신이 캡쳐 파일에 대해서 사용될 파일 이름을 명시하는 것을 허락한다. 이 필드는 디폴트로 빈칸으로 남겨져 있다. 만약 필드가 빈칸이면, 캡쳐 데이터는 임시 파일에 저장될 것이다.

또한 당신은 파일 시스템을 탐색할 수 있는 이 필드의 오른쪽에 잇는 버튼을 클릭할 수 있다.

 

Use multiple files

하나의 파일을 사용하는 것 대신에, 만약 특정한 트리거 상항에 도착하면 Ethereal은 자동적으로 새로운 파일로 바꿀 것이다.

 

Next file every n megabyte(s)

단지 multiple files 상황하에서, 주어진 바이트/킬로바이트/메가바이트/기가바이트 숫자만큼 캡쳐가 된뒤에 다음 파일로 바뀐다.


Next file every n minute(s)

단지 multiple files 상황하에서, 주어진 초/분/시간/일이 경과한 후에 다음 파일로 가뀐다.

 

Ring buffer with n files

단지 multiple files 상황하에서, 주어진 파일들의 숫자를 가지고 캡쳐 파일들에 대한 링 버퍼를 형성한다.


Stop capture after n file(s)

단지 multiple files 상황하에서, 주어진 횟수의 다음 파일로 바뀐 다음에 캡쳐를 중단한다.


2.3. Stop Capture... 프레임

... after n packet(s)

주어진 숫자의 패킷들이 캡쳐된후에 캡쳐를 중지한다.

 

... after n megabytes(s)

주어진 바이트/킬로바이트/메가바이트/기가바이트만큼 캡쳐된후에 캡쳐를 중지한다. 만약 "Use multiple files"가 선된이 되면, 이 옵션은 비활성화된다.

 

... after n minute(s)

주어진 초/분/시간/일만큼 시간이 경과한 후에 캡쳐가 중단된다.


2.4. Display Options 프레임

Update list of packets in real time

이 옵션은 당신이 Ethereal이 실시간으로 패킷 리스트 페인을 업데이트해야 하는 것을 명시하는 것을 허락한다. 만약 당신이 이것을 명시하지 않으면, Ethereal은 당신이 캡쳐를 중단할때까지 어떠한 패킷들도 표시하지 않는다. 당신이 이것을 체크할 때, Ethereal은 별도의 프로세스상에서 캡쳐하고 캡쳐들을 디스플레이 프로세스에 공급한다.

 주의

만약 이 옵션이 체크되면, 이것은 "Use multiple files" 옵션을 비활성화할 것이다.

 

Automatic scrolling in live capture

이 옵션은 당신이 새로운 패킷들이 들어올때 Ethereal이 패킷 리스트 패인을 스크롤해야 한다고 명시하는 것을 허락한다. 그래서 당신은 항상 마지막 패킷을 볼 수 있다. 만약 당신이 이것을 명시하지 않으면 Ethereal은 간단하게 새로운 패킷들을 리스트의 마지막에 추가한다. 그러나 패킷 리스트 패인을 스크롤하지 않는다. 이 옵션은 만약 "Update list of packets in real time"이 비활성화되어 있으면 회색으로 보인다.

 

Hide capture info dialog

만약 이 옵션이 체크되면, 캡쳐 정보 다이얼로그는 보이지 않을 것이다. 만약 "Update list of packets in real time"이 체크되지 않았다면, 이 옵션은 회색처리될 것이다.

 

2.5. Name Resolution 프레임

Enable MAC name resolution

이 옵션은 당신이 Ethereal이 MAC 주소들을 이름들로 변환할 것인지 말것인지를 제어하는 것을 허락한다.


Enable network name resolution

이 옵션은 당신이 Ethereal이 네트워크 주소들을 이름들로 변환할 것인지 말것인지를 제어하는 것을 허락한다.


Enable transport name resolution

이 옵션은 당신이 Ethereal이 트랜스포트 주소들을 이름들로 변환할 것인지 말것인지를 제어하는 것을 허락한다.


2.6. 버튼들

한번 당신이 당신이 원하는 값들을 셋팅하고 당신이 원하는 옵션들을 선택했다면, 캡쳐를 시작하기 위해서 간단하게 OK를 클릭하거나 캡쳐를 취소하기 위해서 Cancel을 클륵하라.

만약 당신이 캡쳐를 시작하면, Ethereal은 당신에게 캡쳐 프로세스를 보여주고 충분한 패킷을 캡쳐했을 때 당신이 캡쳐를 중단하는 것을 허락하는 다이얼로그 박스를 팝업한다.



3. 캡쳐 파일들과 파일 모드들

캡쳐를 하는 동안, 기본 libpcap 캡쳐 엔진은 네트워크 카드로부터 패킷들을 잡아챌 것이고, (상대적으로) 작은 커널 버퍼안에 패킷 데이터를 보관할 것이다. 이 데이터는 Ethereal에 의해서 읽혀지고 사용자가 명시한 캡쳐 파일(들)에 저장된다.


이 패킷 데이터를 캡쳐 파일(들)에 저장할때, 다른 작동 모드들이 가용하다.

 팁!

(여러개의 100MB) 큰 파일들은 꽤 느릴 수 있다. 만약 당신이 높은 트래픽 네트워크로부터 오랜 기간 캡쳐를 하는 것을 계획한다면, "Multiple files" 옵션들중의 한개를 사용하는 것에 대해서 생각하라. 이것은 캡쳐된 패킷들을 여러개의 더 작은 파일들로 흩어버릴 것이다. 이는 작업에 더 많은 기쁨을 줄 수 있다.


 주의

Multiple files를 사용하는 것은 전후관계 관련 정보를 절단할 것이다. Ethereal은 로드된 패킷 데이터의 전후관계 정보를 보관한다. 그래서 이것은 전후관계 관련 문제들을 보고할수 있고 전후관계 관련 프로토콜들에 대한 정보를 보관한다.(예로써, 시작하는 절에서 데이터가 교환되고 단지 나중의 패킷들에서 언급된다). 단지 로드된 파일을 위해 이 정보를 보관하기 때문에, 다중 파일 모드들중의 한걔를 사용하는 것은 이 전후관계들을 절단할 것이다. 만약 시작하는 절이 하나의 파일에 저장되고 당신이 보기를 원하는 것들이 다른 파일에 있다면, 당신은 유용한 전후관계 관련 정보중의 일부를 볼수 없을 것이다.


표 4.1. 캡쳐 옵션들에 의해서 선택되는 캡쳐 파일 모드

모드

File

옵션

Use multiple files

옵션

Ring buffer with n files

옵션

Single temporary file

-

-

-

Single named file

foo.cap

-

-

Multiple files, continuous

foo.cap

x

-

Multiple files, ring buffer

foo.cap

x

x


Single temporary file

임시 파일이 생성되고 사용될 것이다.(이것이 디폴트이다.) 캡쳐가 중단된 후에, 이 파일이 나중에 사용자가 명시한 이름으로 저장될 것이다.


Single named file

하나의 캡쳐 파일이 사용될 것이다. 만약 당신이 새로운 캡쳐 파일을 특정한 폴더에 두기를 원한다면, 이 모드를 선택하라.


Multiple files, contintues

"Single named file" 모드와 같지만, 다중 파일중의 한개가 교체 상황들("Next file every..." 값들중 한개)에 이른 뒤에, 새로운 파일이 생성되고 사용된다.


Multiple files, ring buffer

"Multiple files continuous"와 많이 비슷하고, 다중 파일들중의 한개가 교체 상황들("Next file every..." 값들중 한개)에 이르는 것은 다음 파일로 교체할 것이다. 만약 "Ring buffer with n files"의 값이 체크되어 있지 않다면, 이것은 새롭게 생성된 파일이거나 전에 사용되었던 파일들중에 가장 오래된 것을 대신할 것이다.


이 모드는 심지어 캡쳐 입력 데이터의 제한되지 않은 양에 대해서, 최대 디스크 사용을 제한할 것이고. 최종 캡쳐된 데이터를 보관할 것이다.



4. Link Layer header type

대부분의 경우에, 당신은 이 link-layer header type을 선택해서는 안된다. 다음의 구절들은 이 타입의 선택이 가능한 예외적인 경우들을 설명한다. 그래서 당신은 무엇을 해야하는지에 대한 가이드를 가질 것이다.


만약 당신이 BSD의 일부 버전들에 대한 802.11 장비에 대한 맵쳐를 하고 있다면, 이것은 "Ethernet" 또는 "802.11"에 대한 선택을 제공할 것이다. "Ethernet"은 캡쳐된 패킷들이 가짜 이더넷 헤더들을 가지게 할 것이다.. "802.11"은 캡쳐된 패킷들이 IEEE802.11 헤더들을 가지게 할 것이다. 만약 캡쳐가 802.11 헤더들을 지원하지 않는 어플리케이션에 의해서 읽혀질 필요가 없다면, 당신은 "802.11"을 선택해야 한다.


만약 당신이 동기화 시리얼 라인에 연결된 Endace DAG 카드를 캡쳐하고 있다면, 이것은 "PPP over serial" 또는 "Cisco HDLC"에 대한 선택을 제공할것이다. 만약 시리얼 라인위의 프로토콜이 PPP이면, "PPP over serial"을 선택하라. 그리고, 만약 시리얼 라인위의 프로토콜이 Cisco HDLC이라면 "Cisco HDLC"를 선택하라.


만약 당신이 ATM 네트워크에 연결된 Endace DAG 카드를 캡쳐하고 있다면, 이것은 "RFC 1483 IP-over-ATM" 또는 "Sun raw ATM"에 대한 선택을 제공할것이다. 만약 캡쳐된 트래픽이 단지 RFC 1483 LLC-encapsulated IP이거나, 만약 캡쳐가 SunATM 헤더들을 지원하지 않는 어플리케이션에 의해서 읽혀지는 것이 필요하다면, "RFC 1483 IP-over-ATM"을 선택하거나 "Sun raw ATM"을 선택하라.


만약 당신이 이더넷 장비위에서 캡쳐를 하고 있다면, 이것은 "Ethernet" 또는 "DOCSIS"에 대한 선택을 제공할 것이다. 만약 당신이 DOCSIS 트래픽을 캡쳐하기 위해서 이더넷으로 넣는 Cisco 케이블 모뎀 터미네이션 시스템으로부터 트래픽을 캡쳐중이라면, "DOCSIS"를 선택하라. 그렇지 않으면 "Ethernet"을 선택하라.



5. 캡쳐하는 동안 필터링하기

Ethereal은 캡쳐 파일들을 위해서 libpcap 필터 언어를 사용한다. 이것은 tcpdump man 페이지에서 설명되지만, 이해하기 힘들 것이기 때문에, 여기서 일부 범위가 설명되어진다.


당신은 캡쳐 필터를 Ethereal Capture Options 다이얼로그 박스의 Filter Filed에 입력한다. 다음은 tcpdump 캡쳐 필터 언어에 대한 문법의 윤곽이다.


캡쳐 필터는 (and/or)와 옵션적으로 not에 의해서 수행되는 (and/or)의 결합에 의해서 연결된 원초적인 표현들의 일련의 형식을 가진다.


[not] primitive [and|or [not] primitive ...]


예 4.1. 특정 호스트로 가고 오는 트래픽을 캡쳐하는 텔넷을 위한  캡쳐 필터

tcp port 23 and host 10.0.0.5


이 예제는 host 10.0.0.5로 가고 오는 텔넷 트래픽을 캡쳐한다. 그리고 두개의 primative들과 and 접속사가 이 어떻게 사용하는지를 보여준다. 또 다른 예제(예 4.2)는 어떻게 10.0.0.5로부터의 트레픽을 제외한 모든 텔넷 트레픽을 캡쳐하는지를 보여준다.


예 4.2. 10.0.0.5로부터 오는 트래픽을 제외한 모든 텔넷 트래픽을 캡쳐하기

tcp port 23 and not host 10.0.0.5


XXX- 다음의 목록에 예제들을 추가하라.

프리머티브(primitive)는 간단하게 아래중 하나이다.


[src|dst] host <host>

이 프리머티브는 당신이 호스트 IP 어드레스나 이름에 대해서 필터하는 것을 허락한다. 당신은 옵션적으로 당신이 단지 소스나 목적지 주소들에만 관심이 있다는 것을 명시하기 위해서 프리머티브 앞에 src|dst 키워드를 둘수 있다. 만약 이것들이 존재하지 않는다면, 명시된 주소가 소스나 목적지로써 나타나는 패킷들이 선택될 것이다.


ether [src|dst] host <ehost>

이 프리머티브는 당신이 이더넷 호스트 어드레스들에 대해서 필터링하는 것을 허락한다. 당신은 당신이 단지 간심이 있는 소스나 목적지 어드레스들을 명시하기 위해서 옵션적으로 src|dst 키워드를 etherhost 키워드 사이에 포함할 수 있다. 만약 존재하지 않으면, 특정한 어드레스가 소스나 목적지 어드레스에 나타나는 패킷들이 선택될 것이다.


gateway host <host>

이 프리머티브는 당신이 host를 게이트웨이로써 사용하는 패킷들에 대해서 필터하는 것을 허락한다. 소스나 목적지 IP 어드레스가 host가 아니라, 이더넷 소스나 목적지가 host이다.


[src|dst] net <net> [{mask <mask>}|{len <len>}]

이 프리머티브는 당신이 네트워크 번호들에 대해서 필터하는 것을 허락한다. 당신은 당신이 단지 관심이 있는 소스나 목적지 네트워크를 명시하기 위해서, 옵션적으로 src|dst 키워드를 이 프리머티브 앞에 둘수 있다. 만약 이것들이 존재하지 않는다면, 소스나 목적지 어드레스에 있어서 특정한 네트워크를 가진 패킷들이 선택될 것이다. 추가적으로 당신은 만약 넷마스크나 CIDR이 당신 자신의 것과 다르다면, 네트워크를 위해서 넷마스크나 CIDR 전치사를 명시할 수 있다.


[tcp|udp] [src|dst] port <port>

이 프리머티브는 당신이 TCP와 UDP 포트 넘버들에 대해서 필터하는 것을 허락한다. 당신은 옵션적으로 이 프리머티브 앞에 src|dsttcp|udp를 둘 수 있고, 이것은 당신이 당신이 관심이 있는 소스나 목적지 포트들과 TCP나 UDP 패킷들을 각각 명시하는 것을 허락한다. tcp|udp 키워드는 반드시 src|dst 앞에 나타나야 한다.

만약 명시하지 않으면, 패킷들은 TCP와 UDP 프로토콜들 모두에 대해서 선택될 것이다. 그리고 명시된 어드레스는 소스나 목적지 포트 필드를 나타낸다.


less|greater <length>

이 프리머티브는 당신이 각각에 대해서 길이가 명시된 길이보다 적거나 같거나, 명시된 길이보다 크거나 같은  패킷들을 필터하는 것을 허락한다.


ip|ether proto <protocol>

이 프리머티브는 당신이 이너넷이나 IP 브로드케스트들이나 멀티케스트들에 대해서 특정한 프로토콜에 대해서 필터하는 것을 허락한다.


<expr> relop <expr>

이 프리머티브는 당신이 패킷들에 있어서 바이트들이나 바이트들의 범위들을 선택하는 복잡한 필터 표현들을 생성하는 것을 허락한다


6. 캡쳐 작동

캡쳐가 작동되고 있는 동안, 아래의 다이얼로그 박스가 보인다.

그림 4.2. "Capture Info" 다이얼로그 박스

사용자 삽입 이미지


이 다이얼로그 박스는 당신에 캡쳐가 시작된 이후부터 캡쳐된 패킷들의 수와 시간에 대해서 알려줄 것이다. 프로토콜들이 카운트된 선택은 변경될 수 없다.


 팁!

이 캡쳐 정보 다이얼로그 박스는 Capture Option 다이얼로그 박스에서 "Hide capture info dialog" 옵션을 사용하면 숨겨질 수 있다.


6.1. 작동중인 캡쳐 중단

작동중인 캡쳐 세션은 아래의 방법들중의 한가지에 의해서 중단될 수 있다.

1. Capture Info 다이얼로그 박스로부터 Stop 버튼을 사용한다.

 주의

만약 "Hide capture info dialog" 옵션이 사용된다면, Capture Info 다이얼로그 박스는 숨겨질 수 있을 것이다.


2. "Capture/Stop Capture" 메뉴 아이템이나 그에 상응하는 Stop Capture 툴바 아이콘을 사용

    한다.

 주의

만약 "Update list of packets in real time" 옵션이 사용되는 경우에만, 가능한다.


3. Ctrl+E 단축키들을 누른다.


4. 만약 Stop Conditions(조건)이 초과하면(예로써 데이터의 최대량이 캡쳐된다면), 캡쳐는 자동

    적으로 중단될 것이다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크