[mddev@mdsaln01:~/mdscripts/bin] $ uname -a
SunOS mdsaln01 5.10 Generic_127127-11 sun4u sparc SUNW,Sun-Fire-V440
[mddev@mdsaln01:~/mdscripts/bin] $
####
[mddev@mdsaln01:~/mdscripts/Binaries] $ find . -name \*pcap\*
./lib/libpcap.a
./include/pcap.h
./include/pcap-bpf.h
./include/pcap-namedb.h
./man/man3/pcap.3
[mddev@mdsaln01:~/mdscripts/Binaries] $
####
[mddev@mdsaln01:/var/tmp/Net-Pcap-0.14] $ make clean;perl Makefile.PL INC=-I/opt/devel/mdscripts/Binaries/include LIBS=-'L/opt/devel/mdscripts/Binaries/lib -lpcap' PREFIX=/opt/devel/mdscripts/PerlModules
make: Fatal error: Don't know how to make target `clean'
Set up gcc environment - 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
looking for -lpcap... yes
checking for pcap_lib_version() in -lpcap... yes
trying to detect actually available functions... ok
Checking if your kit is complete...
Looks good
Writing Makefile for Net::Pcap
[mddev@mdsaln01:/var/tmp/Net-Pcap-0.14] $
[mddev@mdsaln01:/var/tmp/Net-Pcap-0.14] $ make
cp Pcap.pm blib/lib/Net/Pcap.pm
AutoSplitting blib/lib/Net/Pcap.pm (blib/lib/auto/Net/Pcap)
/usr/bin/perl /opt/ActivePerl-5.10/lib/ExtUtils/xsubpp -typemap /opt/ActivePerl-5.10/lib/ExtUtils/typemap -typemap typemap Pcap.xs > Pcap.xsc && mv Pcap.xsc Pcap.c
gcc -c -I/opt/devel/mdscripts/Binaries/include -Wall -O -DVERSION=\"0.14\" -DXS_VERSION=\"0.14\" -fPIC "-I/opt/ActivePerl-5.10/lib/CORE" -DHAVE_BLANK -DHAVE_PCAP_LIB_VERSION -DHAVE_PCAP_BREAKLOOP -DHAVE_PCAP_COMPILE_NOPCAP -DHAVE_PCAP_DATALINK_NAME_TO_VAL -DHAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION -DHAVE_PCAP_DATALINK_VAL_TO_NAME -DHAVE_PCAP_DUMP_FILE -DHAVE_PCAP_DUMP_FLUSH -DHAVE_PCAP_DUMP_FOPEN -DHAVE_PCAP_DUMP_FTELL -DHAVE_PCAP_FINDALLDEVS -DHAVE_PCAP_FOPEN_OFFLINE -DHAVE_PCAP_FREEALLDEVS -DHAVE_PCAP_GETNONBLOCK -DHAVE_PCAP_GET_SELECTABLE_FD -DHAVE_PCAP_INJECT -DHAVE_PCAP_LIB_VERSION -DHAVE_PCAP_LIST_DATALINKS -DHAVE_PCAP_NEXT_EX -DHAVE_PCAP_OPEN_DEAD -DHAVE_PCAP_SENDPACKET -DHAVE_PCAP_SETDIRECTION -DHAVE_PCAP_SETNONBLOCK -DHAVE_PCAP_SET_DATALINK Pcap.c
In file included from Pcap.xs:43:
stubs.inc:322:2: warning: #warning "the function pcap_createsrcstr() is not available"
stubs.inc:337:2: warning: #warning "the function pcap_parsesrcstr() is not available"
stubs.inc:352:2: warning: #warning "the function pcap_open() is not available"
stubs.inc:373:2: warning: #warning "the function pcap_setbuff() is not available"
stubs.inc:388:2: warning: #warning "the function pcap_setuserbuffer() is not available"
stubs.inc:403:2: warning: #warning "the function pcap_setmode() is not available"
stubs.inc:418:2: warning: #warning "the function pcap_setmintocopy() is not available"
stubs.inc:433:2: warning: #warning "the function pcap_sendqueue_alloc() is not available"
stubs.inc:455:2: warning: #warning "the function pcap_sendqueue_destroy() is not available"
stubs.inc:469:2: warning: #warning "the function pcap_sendqueue_queue() is not available"
stubs.inc:484:2: warning: #warning "the function pcap_sendqueue_transmit() is not available"
stubs.inc:499:2: warning: #warning "the function pcap_event() is not available"
stubs.inc:514:2: warning: #warning "the function pcap_setsampling() is not available"
Pcap.c: In function `XS_Net__Pcap_constant':
Pcap.c:108: warning: unused variable `Perl___notused'
Pcap.c: In function `XS_Net__Pcap_lookupdev':
...
Pcap.c:2333: warning: unused variable `Perl___notused'
Running Mkbootstrap for Net::Pcap ()
chmod 644 Pcap.bs
rm -f blib/arch/auto/Net/Pcap/Pcap.so
gcc -G -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/prod/lib Pcap.o -o blib/arch/auto/Net/Pcap/Pcap.so \
-L/opt/devel/mdscripts/Binaries/lib -lpcap \
chmod 755 blib/arch/auto/Net/Pcap/Pcap.so
cp Pcap.bs blib/arch/auto/Net/Pcap/Pcap.bs
chmod 644 blib/arch/auto/Net/Pcap/Pcap.bs
cp bin/pcapinfo blib/script/pcapinfo
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/pcapinfo
Set up gcc environment - 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
Manifying blib/man1/pcapinfo.1
Manifying blib/man3/Net::Pcap.3
[mddev@mdsaln01:/var/tmp/Net-Pcap-0.14] $ echo $?
0
[mddev@mdsaln01:/var/tmp/Net-Pcap-0.14] $
[mddev@mdsaln01:/var/tmp/Net-Pcap-0.14] $ make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /opt/devel/mdscripts/PerlModules/lib/auto/Net/Pcap/Pcap.so
Installing /opt/devel/mdscripts/PerlModules/lib/auto/Net/Pcap/Pcap.bs
Installing /opt/devel/mdscripts/PerlModules/html/site/lib/Net/Pcap.html
Installing /opt/devel/mdscripts/PerlModules/lib/Net/Pcap.pm
Installing /opt/devel/mdscripts/PerlModules/lib/auto/Net/Pcap/autosplit.ix
Installing /opt/devel/mdscripts/PerlModules/man/man3/Net::Pcap.3
Appending installation info to /opt/devel/mdscripts/PerlModules/lib/perllocal.pod
[mddev@mdsaln01:/var/tmp/Net-Pcap-0.14] $
####
[mddev@mdsaln01:~/mdscripts] $ find . -name \*Pcap\*
./PerlModules/lib/auto/Net/Pcap
./PerlModules/lib/auto/Net/Pcap/Pcap.so
./PerlModules/lib/auto/Net/Pcap/Pcap.bs
./PerlModules/lib/Net/Pcap.pm
./PerlModules/html/site/lib/Net/Pcap.html
./PerlModules/man/man3/Net::Pcap.3
[mddev@mdsaln01:~/mdscripts] $
####
[mddev@mdsaln01:~/mdscripts] $ echo $PERL5LIB
/opt/devel/mdscripts/PerlModules/lib
[mddev@mdsaln01:~/mdscripts] $
####
#!/usr/bin/perl
use Net::Pcap;
my $err = '';
my $dev = pcap_lookupdev(\$err); # find a device
# open the device for live listening
my $pcap = pcap_open_live($dev, 1024, 1, 0, \$err);
# loop over next 10 packets
pcap_loop($pcap, 10, \&process_packet, "just for the demo");
# close the device
pcap_close($pcap);
sub process_packet {
my($user_data, $header, $packet) = @_;
# do something ...
}
####
[mddev@mdsaln01:~/mdscripts/bin] $ ./pcapTest.pl
Undefined subroutine &main::pcap_lookupdev called at ./pcapTest.pl line 6.
[mddev@mdsaln01:~/mdscripts/bin] $