2010-03-07 4 views
3

Windows 7에서 cygwin에서 libpcap을 설치하려고했지만이 오류가 발생했습니다 : $ ./configure . . . . . configure : error : 자세한 정보는 INSTALL을 참조하십시오.cygwin에서 libpcap 설치에 대한 도움

어떻게 해결할 수 있습니까? 나는 최신 버전 인 libpcap-1.0.0을 사용하고 있습니다.

답변

4

나는이 늦은 답장을 알고,하지만 난 그냥 윈도우에서 윈도우 7

에서 동일한 설치 문제를 통해 갔다, 당신은 WinPcap을 사용한다 : http://www.winpcap.org/

8

http://mathieu.carbou.free.fr/wiki/index.php?title=How_to_install_Winpcap_/_Libpcap_under_Cygwin

libpcap의이 팩을 개발 상세 http://www.winpcap.org/devel.htm

단계에서 발견 될 수있는 다음과 같이

,

Setup Winpcap

  1. Download and unzip the pack. We will use for this example WpdPack_4_0_1.zip.

  2. Copy libraries like this:

    • WpdPack\Lib\libpacket.a to cygwin\lib\
    • WpdPack\Lib\libwpcap.a to cygwin\lib\
  3. Create a folder cygwin\usr\include\pcap\

  4. Copy all headers from WpdPack\Include to cygwin\usr\include\winpcap\

  5. Be sure you have installed Winpcap libraries and that they are in your path by typing:

    which packet.dll 
    which wpcap.dll 
    

For me they are in /cygdrive/c/WINDOWS/system32/

Building example using Cygwin

Open a cygwin prompt to WpdPack\Examples-pcap\basic_dump\ and execute:

basic_dump:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap" 
LIBS="-lwpcap" 
PROG="basic_dump" 
gcc $CFLAGS -c $PROG.c 
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS 
./$PROG.exe 

basic_dump_ex:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap" 
LIBS="-lwpcap" 
PROG="basic_dump_ex" 
gcc $CFLAGS -c $PROG.c 
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS 
./$PROG.exe 

iflist:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap" 
LIBS="-lwpcap" 
PROG="iflist" 
gcc $CFLAGS -c $PROG.c 
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS 
./$PROG.exe 

pcap_filter (and others):

I think you can catch the pattern ;) Only replace PROG=... by the program name and it should compile. 

UDPdump:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap" 
LIBS="-lwpcap -lwsock32" 
PROG="UDPdump" 
gcc $CFLAGS -c $PROG.c 
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS 
./$PROG.exe 

You can test by doing a Time Synchronization with pool.ntp.org for example.

4

libpcap 소스에는 Windows가 지원되는 이 아닌이 모두 포함됩니다. 네트워크 트래픽을 캡쳐하는 데 사용되는 메커니즘은 매우 OS 의존적입니다 (libpcap이 존재하는 이유 - 응용 프로그램에서 해당 세부 정보를 숨기는 이유입니다).

UN * Xes에서 메커니즘은 OS의 일부이므로 libpcap은 해당 메커니즘을 제공 할 필요가 없습니다.

Windows에는 이러한 메커니즘이 없으므로 WinPcap은 커널 모드 드라이버, 드라이버와 통신하는 저수준 라이브러리 및 저수준 라이브러리를 사용하는 libpcap 용 모듈을 결합합니다.

libpcap 소스에는 드라이버 또는 하위 레벨 라이브러리가 포함되어 있지 않으므로 Windows 용 libpcap 버전을 빌드하기에 충분하지 않습니다.

다른 답변에서와 같이 WinPcap이 필요합니다.