08
31

Winpcap 설치

www.winpcap.org 에 접속하여 다운로드한다. winpcap은 윈도우용 패킷 캡처 아키텍처이다. 

 

체크를 풀어준후 설치를 진행시킨다.

 

SharpPcap 설치

SharpPcap는 Pcap 라이브러리의 윈도우즈 운영체제 버전인 WinPcap 라이브러리를 C# 언어로 개발할 수 있게 해주는 라이브러리다. 

 

sourceforge.net/projects/sharppcap/ 에 접속하여 다운로드 받는다.

 

받은 파일 압축을 풀고 비주얼 스튜디오에 폴더를 생성하여 넣어준다.

 

 

SharpPcap 사용 준비

비주얼 스튜디오에서 다음과 같이 참조 추가를 해준다.

 

SharpPcap을 사용하기 위해 다음과 같은 내용을 작성해준다.

 

제대로 설치가 되었는지 다음과 같은 소스로 테스트를 해볼 수 있다.

//SharpPcap 클래스의 정적 속성 VersionString을 참조하여 버전 정보를 출력
string ver = SharpPcap.Version.VersionString;
Console.WriteLine("SharpPcap {0} Test...", ver);

//추적할 수 있는 네트워크 인터페이스 목록 참조
CaptureDeviceList devices = CaptureDeviceList.Instance;

//네트워크 인터페이스 목록 출력
Console.WriteLine("추적 목록");
foreach (ICaptureDevice dev in devices)
{
    Console.WriteLine("{0}", dev);
} 

 

패킷이란

데이터의 묶음 단위로 한 번에 전송할 데이터의 크기를 나타내며, 제 3계층 이상에서는 데이터 묶음을 패킷이라고 부르며, 제 2계층에서는 프레임이라고 부른다. 이 패킷의 크기는 네트워크의 종류에 따라 달라진다. 패킷 단위로 데이터를 나누어서 보내는 이유는 네트워크상에는 하나의 컴퓨터만 있는 것이 아니고 여러 개의 컴퓨터가 있다. 이들은 서로 동시 다발적으로 데이터를 주고받게 되는데 만약 데이터를 분할하여 전송하지 않고 한번에 보낸다면 한 컴퓨터만 데이터를 주고 받게 되고 나머지 컴퓨터들은 끝날 때까지 기다릴 수밖에 없다. 또한 큰 데이터를 전송하다 중간에 에러가 발생하면 다시 처음부터 전송하여야 하는데 결과적으로 큰 문제가 될 수 있다. 따라서 데이터를 패킷 단위로 나누어 보낸다.

 

COMMENT