logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

WinPCap과 Ethereal, Wireshark 을 이용한 스니핑(Sniffing)

by digipine posted Oct 29, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

1. WinPCap란?

– 운영체제의 Network Interface Card들은 자신의 인터페이스로 들어오는 패킷 중 목적지 하드웨어 어드레스가 자신이 아닐 경우는 상위로 올려보내지 않고 버리게 돼 있다. 그래서 이런 패킷들을 모두 애플리케이션단까지 올려서 사람이 보려면 별도의 툴을 설치해야 한다. 바로 이 툴이 WinPcap다. WinPcap는 해당 홈페이지(http://www.winpcap.org/install/default.htm)에서 다운로드 받을 수 있다. (참고로 리눅스에서는 WinPcap대신 libpcap가 그 역할을 한다).

WinPcap이 스니핑하는 어플리케이션이 아니고 스니핑하는 모듈만 제공하는 것이므로 스니핑을 위한 툴인 Ethereal을 설치해주어야 한다. 주의할 점은 Ethereal 설치 전 WinPcap 을 먼저 설치 해주어야 한다.
(
http://ethereal.en.softonic.com/ 에서 다운로드)

2. Ethereal 를 사용해보자
-Ethereal을 실행시켜보자. 메뉴의 Capture의 start를 클릭한다.
클릭하면 다음과 같은 옵션 설정 화면이 나온다.
옵션은 특별히 설명할 필요도 없이 간단하다. 가장 먼저 LAN 카드의 종류를 선택하도록 돼 있다. 다음으로 필터링 옵션이 있는데, 이 부분은 옵션 사용 방법을 조금 알아야 한다. 아무것도 넣지 않으면 모든 패킷이 다 캡처돼 출력되기 때문에 원하는 패킷만을 볼 수 없다. 다음으로 파일 옵션은 캡처된 파일을 별도의 파일로 저장할 수 있도록 한다. 이 기능을 이용하면 저장했다가 나중에 필요할 때 불러서 다시 사용할 수 있다. 화면 옵션은 캡처된 파일을 실시간으로 보여줄 것인지 아니면 캡처가 끝난 다음에 보여줄 것인지를 결정한다. ‘화면 옵션’은 장단점이 있다. 실시간으로 보게 될 경우 즉각적으로 패킷들을 볼 수 있는 반면, 패킷이 많을 때는 프로그램 구동에 부하를 줄 수도 있다. 하지만 일반적인 네트워크에서는 부하 정도까지는 아니어서 실시간으로 보아도 무리가 없다. 캡처 제한 옵션은 숫자, 시간, 사이즈에 따라 선택할 수 있도록 돼 있으며, 이름 해석 부분은 패킷을 분석할 때 나타나는 하드웨어 어드레스, IP 어드레스, 포트 번호에 대해서 이름 해석을 할지를 묻는 메뉴이다. 옵션 설정이 끝났다면 그 다음은 ‘OK’를 누르면 된다.

3. Wireshark
Wireshark는 Ethereal 팀의 일원이었던 제럴드 콤즈 라는 사람이 팀을 탈퇴 후 새로 개발한 프로젝트 입니다.
Ethereal 은 개발이 중단 되었는데 Wireshark는 계속 개발되고 있습니다.
http://www.wireshark.org/ 에서 다운 로드 할 수 있습니다.

 

List of Articles
No. Subject Author Date Views
44 [Qt] QSettings 클래스의 설명과 사용법, 설정 저장위치 digipine 2017.11.02 1470
43 [Linux] ubuntu 16.04에 QT Creator 설치하기 digipine 2017.11.02 24344
42 Phabricator 설치 가이드 우분투 16.04 기준 digipine 2017.11.02 6193
41 Wi-Fi Display Standard Miracast Protocol Log digipine 2017.11.02 850
40 Git Http Backend Upload Size 설정 - Http 500 Error 해결 digipine 2017.11.02 2074
39 [Linux, OSX] pfctl - Packet FIlter Control 사용법 digipine 2017.11.02 3187
38 IPv6 프로그래밍 가이드 digipine 2017.11.02 1350
37 TCP/IP State Transition - TCP 스택 포팅 시 참조 file digipine 2017.11.02 195188
36 Git Commnd 사용법 정리 digipine 2017.11.02 264
35 Git Commit 취소 관련 명령어 정리 1 digipine 2017.11.02 1327
34 리눅스 커널의 Swap Memory에 대해서 digipine 2017.11.02 675
33 Linux Kernel 컴파일 및 Patch 방법 digipine 2017.11.02 1099
32 XOR Encryption : 단순하면서도 강력한 암호/복호화 기법 digipine 2017.11.02 1737
31 Phabricator 설치 가이드 우분투 12.04 기준 digipine 2017.11.02 1228
30 Ubuntu Git - Latest Version Install digipine 2017.11.02 375
29 [ubuntu, 우분투] sendmail 설치 digipine 2017.11.02 2317
28 JDK Install ubuntu digipine 2017.11.02 355
27 Git 서버 구축 - 우분투[Ubuntu] digipine 2017.11.02 307
26 임베디드SW 개발자센터 이용안내(성남시 분당구, 개발공간 무료제공) digipine 2017.11.02 590
25 ATmega8 MCU 간의 TWI 기능을 이용한 I2C 통신 digipine 2017.11.02 5998
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6