• C++ Packet Sniffing using WinPCap
    4 replies, posted
Well, I recently started programming and want to look at some network programming - been trying to get WinPCap set up for the past hour but to no avail. My code is only this so far: [code] #include <iostream> #include <pcap.h> using namespace std; int main(){ bool active = true; while( active ){ } } [/code] EXTREMELY basic, nothing actually going on except a loop and a few includes but pcap.h seems to be spitting out a tonne of errors: [code] 1>------ Build started: Project: W3Listener, Configuration: Debug Win32 ------ 1>Compiling... 1>main.cpp 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(68) : error C2146: syntax error : missing ';' before identifier 'bpf_u_int32' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(68) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(68) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(106) : error C2146: syntax error : missing ';' before identifier 'bv_major' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(106) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(106) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(107) : error C2146: syntax error : missing ';' before identifier 'bv_minor' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(107) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(107) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(707) : error C2146: syntax error : missing ';' before identifier 'code' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(707) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(707) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(708) : error C2146: syntax error : missing ';' before identifier 'jt' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(708) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(708) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(709) : error C2146: syntax error : missing ';' before identifier 'jf' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(709) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(709) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap-bpf.h(721) : error C2061: syntax error : identifier 'u_char' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(127) : error C2146: syntax error : missing ';' before identifier 'magic' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(127) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(127) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(128) : error C2146: syntax error : missing ';' before identifier 'version_major' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(128) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(128) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(129) : error C2146: syntax error : missing ';' before identifier 'version_minor' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(129) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(129) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(131) : error C2146: syntax error : missing ';' before identifier 'sigfigs' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(131) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(131) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(132) : error C2146: syntax error : missing ';' before identifier 'snaplen' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(132) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(132) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(133) : error C2146: syntax error : missing ';' before identifier 'linktype' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(133) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(133) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(155) : error C2079: 'pcap_pkthdr::ts' uses undefined struct 'timeval' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(156) : error C2146: syntax error : missing ';' before identifier 'caplen' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(156) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(156) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(157) : error C2146: syntax error : missing ';' before identifier 'len' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(157) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(157) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(215) : error C2146: syntax error : missing ';' before identifier 'flags' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(215) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(215) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(231) : error C2065: 'u_char' : undeclared identifier 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(231) : error C2059: syntax error : ',' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(235) : error C2061: syntax error : identifier 'bpf_u_int32' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(241) : error C2061: syntax error : identifier 'pcap_handler' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(242) : error C2061: syntax error : identifier 'pcap_handler' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(243) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(243) : error C2143: syntax error : missing ';' before '*' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(244) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(245) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(245) : error C2143: syntax error : missing ',' before '*' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(254) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(254) : error C2143: syntax error : missing ',' before '*' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(258) : error C2061: syntax error : identifier 'bpf_u_int32' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(260) : error C2061: syntax error : identifier 'bpf_u_int32' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(283) : error C2059: syntax error : ',' 1>c:\program files\microsoft visual studio 9.0\vc\include\pcap.h(291) : error C2061: syntax error : identifier 'u_char' 1>Build log was saved at "file://c:\Documents and Settings\Me\My Documents\Visual Studio 2008\Projects\W3Listener\W3Listener\Debug\BuildLog.htm" 1>W3Listener - 63 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== [/code] I've done everything they've said I need to do here [url]http://www.winpcap.org/docs/docs_40_2/html/group__wpcapsamps.html[/url] Does anyone know what could be causing this huge amount of errors?
Try wrapping the include statement like this: [code] extern "C" { #include <pcap.h> } [/code]
Tried like that and like this: [code] #ifdef __cplusplus extern "C" { #endif #include <pcap.h> #ifdef __cplusplus } #endif [/code] Both ways still return the same errors. I guess its the same thing (lol) I just looked it up because I didn't know what you wanted me to do xD
[no post here]
also the comments say [code]// // NOTE: remember to include WPCAP and HAVE_REMOTE among your // preprocessor definitions. // [/code] do you have those? also wanna post the headers code that you are using?
Sorry, you need to Log In to post a reply to this thread.